Set initial state of all k6n10f DSP registers to zero. Signed-off-by: Maciej Kurc <mkurc@antmicro.com>
diff --git a/ql-qlf-plugin/qlf_k6n10f/cells_sim.v b/ql-qlf-plugin/qlf_k6n10f/cells_sim.v index 6dac58b..f2e7b05 100644 --- a/ql-qlf-plugin/qlf_k6n10f/cells_sim.v +++ b/ql-qlf-plugin/qlf_k6n10f/cells_sim.v
@@ -1472,6 +1472,22 @@ reg r_rnd; reg [NBITS_ACC-1:0] acc; + initial begin + r_a <= 'h0; + r_b <= 'h0; + + r_acc_fir <= 0; + r_unsigned_a <= 0; + r_unsigned_b <= 0; + r_feedback <= 0; + r_shift_d1 <= 0; + r_shift_d2 <= 0; + r_subtract <= 0; + r_load_acc <= 0; + r_sat <= 0; + r_rnd <= 0; + end + always @(posedge clock_i or negedge reset_n_i) begin if (~reset_n_i) begin @@ -1566,7 +1582,9 @@ wire [NBITS_ACC-1:0] add_o = add_a + add_b; - // Accumulator + // Accumulator + initial acc <= 0; + always @(posedge clock_i or negedge reset_n_i) if (~reset_n_i) acc <= 'h0; else begin @@ -1603,6 +1621,8 @@ assign z0 = mult_xtnd[NBITS_Z-1:0]; assign z2 = acc_sat[NBITS_Z-1:0]; + initial z1 <= 0; + always @(posedge clock_i or negedge reset_n_i) if (!reset_n_i) z1 <= 0; @@ -1621,6 +1641,8 @@ z1; // if output_select_i == 3'h7 // B input delayed passthrough + initial dly_b_o <= 0; + always @(posedge clock_i or negedge reset_n_i) if (!reset_n_i) dly_b_o <= 0;
diff --git a/ql-qlf-plugin/tests/qlf_k6n10f/sim_dsp_mult_r/sim_dsp_mult_r.v b/ql-qlf-plugin/tests/qlf_k6n10f/sim_dsp_mult_r/sim_dsp_mult_r.v index 6187e1a..fbc1ba9 100644 --- a/ql-qlf-plugin/tests/qlf_k6n10f/sim_dsp_mult_r/sim_dsp_mult_r.v +++ b/ql-qlf-plugin/tests/qlf_k6n10f/sim_dsp_mult_r/sim_dsp_mult_r.v
@@ -58,6 +58,7 @@ // Error detection reg [37:0] r_C; + initial r_C <= 0; always @(posedge clk) r_C <= C;