diff --git a/src/apb/rtl/taxi_apb_dp_ram.sv b/src/apb/rtl/taxi_apb_dp_ram.sv index fc5d801..2eece03 100644 --- a/src/apb/rtl/taxi_apb_dp_ram.sv +++ b/src/apb/rtl/taxi_apb_dp_ram.sv @@ -77,7 +77,7 @@ logic [DATA_W-1:0] s_apb_b_prdata_pipe_reg = '0; // verilator lint_off MULTIDRIVEN // (* RAM_STYLE="BLOCK" *) -logic [DATA_W-1:0] mem[2**VALID_ADDR_W]; +logic [DATA_W-1:0] mem[2**VALID_ADDR_W] = '{default: '0}; // verilator lint_on MULTIDRIVEN wire [VALID_ADDR_W-1:0] s_apb_a_paddr_valid = VALID_ADDR_W'(s_apb_a.paddr >> (ADDR_W - VALID_ADDR_W)); @@ -95,16 +95,6 @@ assign s_apb_b.pslverr = 1'b0; assign s_apb_b.pruser = '0; assign s_apb_b.pbuser = '0; -initial begin - // two nested loops for smaller number of iterations per loop - // workaround for synthesizer complaints about large loop counts - for (integer i = 0; i < 2**VALID_ADDR_W; i = i + 2**(VALID_ADDR_W/2)) begin - for (integer j = i; j < i + 2**(VALID_ADDR_W/2); j = j + 1) begin - mem[j] = '0; - end - end -end - always_comb begin mem_wr_en_a = 1'b0; mem_rd_en_a = 1'b0; diff --git a/src/apb/rtl/taxi_apb_ram.sv b/src/apb/rtl/taxi_apb_ram.sv index e9df635..b0b21f4 100644 --- a/src/apb/rtl/taxi_apb_ram.sv +++ b/src/apb/rtl/taxi_apb_ram.sv @@ -59,7 +59,7 @@ logic [DATA_W-1:0] s_apb_prdata_reg = '0, s_apb_prdata_next; logic [DATA_W-1:0] s_apb_prdata_pipe_reg = '0; // (* RAM_STYLE="BLOCK" *) -logic [DATA_W-1:0] mem[2**VALID_ADDR_W]; +logic [DATA_W-1:0] mem[2**VALID_ADDR_W] = '{default: '0}; wire [VALID_ADDR_W-1:0] s_apb_paddr_valid = VALID_ADDR_W'(s_apb.paddr >> (ADDR_W - VALID_ADDR_W)); @@ -69,16 +69,6 @@ assign s_apb.pslverr = 1'b0; assign s_apb.pruser = '0; assign s_apb.pbuser = '0; -initial begin - // two nested loops for smaller number of iterations per loop - // workaround for synthesizer complaints about large loop counts - for (integer i = 0; i < 2**VALID_ADDR_W; i = i + 2**(VALID_ADDR_W/2)) begin - for (integer j = i; j < i + 2**(VALID_ADDR_W/2); j = j + 1) begin - mem[j] = '0; - end - end -end - always_comb begin mem_wr_en = 1'b0; mem_rd_en = 1'b0;