mirror of
https://github.com/corundum/corundum.git
synced 2025-01-16 08:12:53 +08:00
Add attributes to RAMs for proper synthesis in Quartus
This commit is contained in:
parent
cefb4568e7
commit
f8a24d1c46
@ -222,6 +222,7 @@ reg s_axil_arready_reg = 0, s_axil_arready_next;
|
||||
reg [AXIL_DATA_WIDTH-1:0] s_axil_rdata_reg = 0, s_axil_rdata_next;
|
||||
reg s_axil_rvalid_reg = 0, s_axil_rvalid_next;
|
||||
|
||||
(* ramstyle = "no_rw_check" *)
|
||||
reg [QUEUE_RAM_WIDTH-1:0] queue_ram[QUEUE_COUNT-1:0];
|
||||
reg [QUEUE_INDEX_WIDTH-1:0] queue_ram_read_ptr;
|
||||
reg [QUEUE_INDEX_WIDTH-1:0] queue_ram_write_ptr;
|
||||
@ -243,7 +244,9 @@ wire [ADDR_WIDTH-1:0] queue_ram_read_data_base_addr = queue_ram_read_data_pipeli
|
||||
|
||||
reg [OP_TABLE_SIZE-1:0] op_table_active = 0;
|
||||
reg [OP_TABLE_SIZE-1:0] op_table_commit = 0;
|
||||
(* ram_style = "distributed", ramstyle = "no_rw_check, mlab" *)
|
||||
reg [QUEUE_INDEX_WIDTH-1:0] op_table_queue[OP_TABLE_SIZE-1:0];
|
||||
(* ram_style = "distributed", ramstyle = "no_rw_check, mlab" *)
|
||||
reg [QUEUE_PTR_WIDTH-1:0] op_table_queue_ptr[OP_TABLE_SIZE-1:0];
|
||||
reg [CL_OP_TABLE_SIZE-1:0] op_table_start_ptr_reg = 0;
|
||||
reg [QUEUE_INDEX_WIDTH-1:0] op_table_start_queue;
|
||||
|
@ -201,8 +201,11 @@ reg m_axis_dma_write_desc_valid_reg = 1'b0, m_axis_dma_write_desc_valid_next;
|
||||
reg [DESC_TABLE_SIZE-1:0] desc_table_active = 0;
|
||||
reg [DESC_TABLE_SIZE-1:0] desc_table_invalid = 0;
|
||||
reg [DESC_TABLE_SIZE-1:0] desc_table_cpl_write_done = 0;
|
||||
(* ram_style = "distributed", ramstyle = "no_rw_check, mlab" *)
|
||||
reg [CL_PORTS-1:0] desc_table_sel[DESC_TABLE_SIZE-1:0];
|
||||
(* ram_style = "distributed", ramstyle = "no_rw_check, mlab" *)
|
||||
reg [REQ_TAG_WIDTH-1:0] desc_table_tag[DESC_TABLE_SIZE-1:0];
|
||||
(* ram_style = "distributed", ramstyle = "no_rw_check, mlab" *)
|
||||
reg [QUEUE_OP_TAG_WIDTH-1:0] desc_table_queue_op_tag[DESC_TABLE_SIZE-1:0];
|
||||
|
||||
reg [CL_DESC_TABLE_SIZE+1-1:0] desc_table_start_ptr_reg = 0;
|
||||
|
@ -253,9 +253,13 @@ reg dec_active_2;
|
||||
reg [DESC_TABLE_SIZE-1:0] desc_table_active = 0;
|
||||
reg [DESC_TABLE_SIZE-1:0] desc_table_desc_fetched = 0;
|
||||
reg [DESC_TABLE_SIZE-1:0] desc_table_desc_read_done = 0;
|
||||
(* ram_style = "distributed", ramstyle = "no_rw_check, mlab" *)
|
||||
reg [CL_PORTS-1:0] desc_table_sel[DESC_TABLE_SIZE-1:0];
|
||||
(* ram_style = "distributed", ramstyle = "no_rw_check, mlab" *)
|
||||
reg [LOG_BLOCK_SIZE_WIDTH-1:0] desc_table_log_desc_block_size[DESC_TABLE_SIZE-1:0];
|
||||
(* ram_style = "distributed", ramstyle = "no_rw_check, mlab" *)
|
||||
reg [REQ_TAG_WIDTH-1:0] desc_table_tag[DESC_TABLE_SIZE-1:0];
|
||||
(* ram_style = "distributed", ramstyle = "no_rw_check, mlab" *)
|
||||
reg [QUEUE_OP_TAG_WIDTH-1:0] desc_table_queue_op_tag[DESC_TABLE_SIZE-1:0];
|
||||
|
||||
reg [CL_DESC_TABLE_SIZE+1-1:0] desc_table_start_ptr_reg = 0;
|
||||
|
@ -224,6 +224,7 @@ reg s_axil_arready_reg = 0, s_axil_arready_next;
|
||||
reg [AXIL_DATA_WIDTH-1:0] s_axil_rdata_reg = 0, s_axil_rdata_next;
|
||||
reg s_axil_rvalid_reg = 0, s_axil_rvalid_next;
|
||||
|
||||
(* ramstyle = "no_rw_check" *)
|
||||
reg [QUEUE_RAM_WIDTH-1:0] queue_ram[QUEUE_COUNT-1:0];
|
||||
reg [QUEUE_INDEX_WIDTH-1:0] queue_ram_read_ptr;
|
||||
reg [QUEUE_INDEX_WIDTH-1:0] queue_ram_write_ptr;
|
||||
@ -244,7 +245,9 @@ wire [ADDR_WIDTH-1:0] queue_ram_read_data_base_addr = queue_ram_read_data_pipeli
|
||||
|
||||
reg [OP_TABLE_SIZE-1:0] op_table_active = 0;
|
||||
reg [OP_TABLE_SIZE-1:0] op_table_commit = 0;
|
||||
(* ram_style = "distributed", ramstyle = "no_rw_check, mlab" *)
|
||||
reg [QUEUE_INDEX_WIDTH-1:0] op_table_queue[OP_TABLE_SIZE-1:0];
|
||||
(* ram_style = "distributed", ramstyle = "no_rw_check, mlab" *)
|
||||
reg [QUEUE_PTR_WIDTH-1:0] op_table_queue_ptr[OP_TABLE_SIZE-1:0];
|
||||
reg [CL_OP_TABLE_SIZE-1:0] op_table_start_ptr_reg = 0;
|
||||
reg [QUEUE_INDEX_WIDTH-1:0] op_table_start_queue;
|
||||
|
@ -315,19 +315,33 @@ reg [DESC_TABLE_SIZE-1:0] desc_table_invalid = 0;
|
||||
reg [DESC_TABLE_SIZE-1:0] desc_table_desc_fetched = 0;
|
||||
reg [DESC_TABLE_SIZE-1:0] desc_table_data_written = 0;
|
||||
reg [DESC_TABLE_SIZE-1:0] desc_table_cpl_write_done = 0;
|
||||
(* ram_style = "distributed", ramstyle = "no_rw_check, mlab" *)
|
||||
reg [REQ_TAG_WIDTH-1:0] desc_table_tag[DESC_TABLE_SIZE-1:0];
|
||||
(* ram_style = "distributed", ramstyle = "no_rw_check, mlab" *)
|
||||
reg [QUEUE_INDEX_WIDTH-1:0] desc_table_queue[DESC_TABLE_SIZE-1:0];
|
||||
(* ram_style = "distributed", ramstyle = "no_rw_check, mlab" *)
|
||||
reg [QUEUE_PTR_WIDTH-1:0] desc_table_queue_ptr[DESC_TABLE_SIZE-1:0];
|
||||
(* ram_style = "distributed", ramstyle = "no_rw_check, mlab" *)
|
||||
reg [CPL_QUEUE_INDEX_WIDTH-1:0] desc_table_cpl_queue[DESC_TABLE_SIZE-1:0];
|
||||
(* ram_style = "distributed", ramstyle = "no_rw_check, mlab" *)
|
||||
reg [DMA_CLIENT_LEN_WIDTH-1:0] desc_table_dma_len[DESC_TABLE_SIZE-1:0];
|
||||
(* ram_style = "distributed", ramstyle = "no_rw_check, mlab" *)
|
||||
reg [DMA_CLIENT_LEN_WIDTH-1:0] desc_table_desc_len[DESC_TABLE_SIZE-1:0];
|
||||
(* ram_style = "distributed", ramstyle = "no_rw_check, mlab" *)
|
||||
reg [CL_RX_BUFFER_SIZE+1-1:0] desc_table_buf_ptr[DESC_TABLE_SIZE-1:0];
|
||||
(* ram_style = "distributed", ramstyle = "no_rw_check, mlab" *)
|
||||
reg [95:0] desc_table_ptp_ts[DESC_TABLE_SIZE-1:0];
|
||||
(* ram_style = "distributed", ramstyle = "no_rw_check, mlab" *)
|
||||
reg [31:0] desc_table_hash[DESC_TABLE_SIZE-1:0];
|
||||
(* ram_style = "distributed", ramstyle = "no_rw_check, mlab" *)
|
||||
reg [3:0] desc_table_hash_type[DESC_TABLE_SIZE-1:0];
|
||||
(* ram_style = "distributed", ramstyle = "no_rw_check, mlab" *)
|
||||
reg [15:0] desc_table_csum[DESC_TABLE_SIZE-1:0];
|
||||
(* ram_style = "distributed", ramstyle = "no_rw_check, mlab" *)
|
||||
reg desc_table_read_commit[DESC_TABLE_SIZE-1:0];
|
||||
(* ram_style = "distributed", ramstyle = "no_rw_check, mlab" *)
|
||||
reg [DESC_TABLE_DMA_OP_COUNT_WIDTH-1:0] desc_table_write_count_start[DESC_TABLE_SIZE-1:0];
|
||||
(* ram_style = "distributed", ramstyle = "no_rw_check, mlab" *)
|
||||
reg [DESC_TABLE_DMA_OP_COUNT_WIDTH-1:0] desc_table_write_count_finish[DESC_TABLE_SIZE-1:0];
|
||||
|
||||
reg [CL_DESC_TABLE_SIZE+1-1:0] desc_table_start_ptr_reg = 0;
|
||||
|
@ -90,6 +90,7 @@ reg [COUNT-1:0] update_reg = {COUNT{1'b0}}, update_next;
|
||||
wire [ACC_WIDTH-1:0] acc_int[COUNT-1:0];
|
||||
reg [COUNT-1:0] acc_clear;
|
||||
|
||||
(* ram_style = "distributed", ramstyle = "no_rw_check, mlab" *)
|
||||
reg [STAT_INC_WIDTH-1:0] mem_reg[COUNT-1:0];
|
||||
|
||||
reg [STAT_INC_WIDTH-1:0] mem_rd_data_reg = 0;
|
||||
|
@ -122,6 +122,7 @@ reg [STAT_INC_WIDTH-1:0] inc_reg = {STAT_INC_WIDTH{1'b0}}, inc_next;
|
||||
reg rd_data_valid_reg = 1'b0, rd_data_valid_next;
|
||||
reg [WORD_SELECT_WIDTH-1:0] rd_data_shift_reg = 0, rd_data_shift_next;
|
||||
|
||||
(* ramstyle = "no_rw_check" *)
|
||||
reg [STAT_COUNT_WIDTH-1:0] mem_reg[(2**STAT_ID_WIDTH)-1:0];
|
||||
|
||||
reg [STAT_COUNT_WIDTH-1:0] mem_rd_data_reg = {STAT_COUNT_WIDTH{1'b0}};
|
||||
|
@ -80,7 +80,9 @@ assign out_status = out_status_reg;
|
||||
assign out_latency = out_latency_reg;
|
||||
assign out_valid = out_valid_reg;
|
||||
|
||||
(* ram_style = "distributed", ramstyle = "no_rw_check, mlab" *)
|
||||
reg [LEN_WIDTH-1:0] len_mem_reg[2**TAG_WIDTH-1:0];
|
||||
(* ram_style = "distributed", ramstyle = "no_rw_check, mlab" *)
|
||||
reg [COUNT_WIDTH-1:0] count_mem_reg[2**TAG_WIDTH-1:0];
|
||||
|
||||
integer i;
|
||||
|
@ -317,18 +317,31 @@ reg [DESC_TABLE_SIZE-1:0] desc_table_desc_fetched = 0;
|
||||
reg [DESC_TABLE_SIZE-1:0] desc_table_data_fetched = 0;
|
||||
reg [DESC_TABLE_SIZE-1:0] desc_table_tx_done = 0;
|
||||
reg [DESC_TABLE_SIZE-1:0] desc_table_cpl_write_done = 0;
|
||||
(* ram_style = "distributed", ramstyle = "no_rw_check, mlab" *)
|
||||
reg [REQ_TAG_WIDTH-1:0] desc_table_tag[DESC_TABLE_SIZE-1:0];
|
||||
(* ram_style = "distributed", ramstyle = "no_rw_check, mlab" *)
|
||||
reg [QUEUE_INDEX_WIDTH-1:0] desc_table_queue[DESC_TABLE_SIZE-1:0];
|
||||
(* ram_style = "distributed", ramstyle = "no_rw_check, mlab" *)
|
||||
reg [QUEUE_PTR_WIDTH-1:0] desc_table_queue_ptr[DESC_TABLE_SIZE-1:0];
|
||||
(* ram_style = "distributed", ramstyle = "no_rw_check, mlab" *)
|
||||
reg [CPL_QUEUE_INDEX_WIDTH-1:0] desc_table_cpl_queue[DESC_TABLE_SIZE-1:0];
|
||||
(* ram_style = "distributed", ramstyle = "no_rw_check, mlab" *)
|
||||
reg [6:0] desc_table_csum_start[DESC_TABLE_SIZE-1:0];
|
||||
(* ram_style = "distributed", ramstyle = "no_rw_check, mlab" *)
|
||||
reg [7:0] desc_table_csum_offset[DESC_TABLE_SIZE-1:0];
|
||||
(* ram_style = "distributed", ramstyle = "no_rw_check, mlab" *)
|
||||
reg desc_table_csum_enable[DESC_TABLE_SIZE-1:0];
|
||||
(* ram_style = "distributed", ramstyle = "no_rw_check, mlab" *)
|
||||
reg [DMA_CLIENT_LEN_WIDTH-1:0] desc_table_len[DESC_TABLE_SIZE-1:0];
|
||||
(* ram_style = "distributed", ramstyle = "no_rw_check, mlab" *)
|
||||
reg [CL_TX_BUFFER_SIZE+1-1:0] desc_table_buf_ptr[DESC_TABLE_SIZE-1:0];
|
||||
(* ram_style = "distributed", ramstyle = "no_rw_check, mlab" *)
|
||||
reg [95:0] desc_table_ptp_ts[DESC_TABLE_SIZE-1:0];
|
||||
(* ram_style = "distributed", ramstyle = "no_rw_check, mlab" *)
|
||||
reg desc_table_read_commit[DESC_TABLE_SIZE-1:0];
|
||||
(* ram_style = "distributed", ramstyle = "no_rw_check, mlab" *)
|
||||
reg [DESC_TABLE_DMA_OP_COUNT_WIDTH-1:0] desc_table_read_count_start[DESC_TABLE_SIZE-1:0];
|
||||
(* ram_style = "distributed", ramstyle = "no_rw_check, mlab" *)
|
||||
reg [DESC_TABLE_DMA_OP_COUNT_WIDTH-1:0] desc_table_read_count_finish[DESC_TABLE_SIZE-1:0];
|
||||
|
||||
reg [CL_DESC_TABLE_SIZE+1-1:0] desc_table_start_ptr_reg = 0;
|
||||
|
@ -195,6 +195,7 @@ reg s_axil_arready_reg = 0, s_axil_arready_next;
|
||||
reg [AXIL_DATA_WIDTH-1:0] s_axil_rdata_reg = 0, s_axil_rdata_next;
|
||||
reg s_axil_rvalid_reg = 0, s_axil_rvalid_next;
|
||||
|
||||
(* ramstyle = "no_rw_check" *)
|
||||
reg [QUEUE_RAM_WIDTH-1:0] queue_ram[QUEUE_COUNT-1:0];
|
||||
reg [QUEUE_INDEX_WIDTH-1:0] queue_ram_read_ptr;
|
||||
reg [QUEUE_INDEX_WIDTH-1:0] queue_ram_write_ptr;
|
||||
@ -212,10 +213,15 @@ wire queue_ram_read_data_scheduled = queue_ram_read_data_pipeline_reg[PIPELINE-1
|
||||
wire [CL_OP_TABLE_SIZE-1:0] queue_ram_read_data_op_tail_index = queue_ram_read_data_pipeline_reg[PIPELINE-1][15:8];
|
||||
|
||||
reg [OP_TABLE_SIZE-1:0] op_table_active = 0;
|
||||
(* ram_style = "distributed", ramstyle = "no_rw_check, mlab" *)
|
||||
reg [QUEUE_INDEX_WIDTH-1:0] op_table_queue[OP_TABLE_SIZE-1:0];
|
||||
(* ram_style = "distributed", ramstyle = "no_rw_check, mlab" *)
|
||||
reg op_table_doorbell[OP_TABLE_SIZE-1:0];
|
||||
(* ram_style = "distributed", ramstyle = "no_rw_check, mlab" *)
|
||||
reg op_table_is_head[OP_TABLE_SIZE-1:0];
|
||||
(* ram_style = "distributed", ramstyle = "no_rw_check, mlab" *)
|
||||
reg [CL_OP_TABLE_SIZE-1:0] op_table_next_index[OP_TABLE_SIZE-1:0];
|
||||
(* ram_style = "distributed", ramstyle = "no_rw_check, mlab" *)
|
||||
reg [CL_OP_TABLE_SIZE-1:0] op_table_prev_index[OP_TABLE_SIZE-1:0];
|
||||
wire [CL_OP_TABLE_SIZE-1:0] op_table_start_ptr;
|
||||
wire op_table_start_ptr_valid;
|
||||
@ -235,7 +241,9 @@ reg op_table_update_prev_en;
|
||||
|
||||
reg [CL_OP_TABLE_SIZE+1-1:0] finish_fifo_wr_ptr_reg = 0, finish_fifo_wr_ptr_next;
|
||||
reg [CL_OP_TABLE_SIZE+1-1:0] finish_fifo_rd_ptr_reg = 0, finish_fifo_rd_ptr_next;
|
||||
(* ram_style = "distributed", ramstyle = "no_rw_check, mlab" *)
|
||||
reg [REQ_TAG_WIDTH-1:0] finish_fifo_tag[(2**CL_OP_TABLE_SIZE)-1:0];
|
||||
(* ram_style = "distributed", ramstyle = "no_rw_check, mlab" *)
|
||||
reg finish_fifo_status[(2**CL_OP_TABLE_SIZE)-1:0];
|
||||
reg finish_fifo_we;
|
||||
reg [REQ_TAG_WIDTH-1:0] finish_fifo_wr_tag;
|
||||
|
Loading…
x
Reference in New Issue
Block a user