Skip to content

Commit 197a4f8

Browse files
committed
Re-modelled k6n10f DSP FIR coeff inputs as parameters instead of ports, updated techmaps.
Signed-off-by: Maciej Kurc <[email protected]>
1 parent b841ce2 commit 197a4f8

File tree

3 files changed

+47
-42
lines changed

3 files changed

+47
-42
lines changed

ql-qlf-plugin/qlf_k6n10f/cells_sim.v

Lines changed: 20 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -706,13 +706,14 @@ module QL_DSP2 ( // TODO: Name subject to change
706706
input [5:0] shift_right,
707707
input round,
708708
input subtract,
709-
input register_inputs,
710-
input [19:0] coeff_0,
711-
input [19:0] coeff_1,
712-
input [19:0] coeff_2,
713-
input [19:0] coeff_3
709+
input register_inputs
714710
);
715711

712+
parameter [19:0] COEFF_0 = 20'd0;
713+
parameter [19:0] COEFF_1 = 20'd0;
714+
parameter [19:0] COEFF_2 = 20'd0;
715+
parameter [19:0] COEFF_3 = 20'd0;
716+
716717
endmodule
717718

718719
(* blackbox *) // TODO: add sim model
@@ -737,12 +738,14 @@ module dsp_t1_20x18x64 (
737738
input [5:0] shift_right_i,
738739
input round_i,
739740
input subtract_i,
740-
input register_inputs_i,
741-
input [19:0] coeff_0_i,
742-
input [19:0] coeff_1_i,
743-
input [19:0] coeff_2_i,
744-
input [19:0] coeff_3_i
741+
input register_inputs_i
745742
);
743+
744+
parameter [19:0] COEFF_0 = 20'd0;
745+
parameter [19:0] COEFF_1 = 20'd0;
746+
parameter [19:0] COEFF_2 = 20'd0;
747+
parameter [19:0] COEFF_3 = 20'd0;
748+
746749
endmodule
747750

748751
(* blackbox *) // TODO: add sim model
@@ -767,10 +770,12 @@ module dsp_t1_10x9x32 (
767770
input [5:0] shift_right_i,
768771
input round_i,
769772
input subtract_i,
770-
input register_inputs_i,
771-
input [ 9:0] coeff_0_i,
772-
input [ 9:0] coeff_1_i,
773-
input [ 9:0] coeff_2_i,
774-
input [ 9:0] coeff_3_i
773+
input register_inputs_i
775774
);
775+
776+
parameter [9:0] COEFF_0 = 10'd0;
777+
parameter [9:0] COEFF_1 = 10'd0;
778+
parameter [9:0] COEFF_2 = 10'd0;
779+
parameter [9:0] COEFF_3 = 10'd0;
780+
776781
endmodule

ql-qlf-plugin/qlf_k6n10f/dsp_final_map.v

Lines changed: 25 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -26,14 +26,20 @@ module dsp_t1_20x18x64 (
2626
input [5:0] shift_right_i,
2727
input round_i,
2828
input subtract_i,
29-
input register_inputs_i,
30-
input [19:0] coeff_0_i,
31-
input [19:0] coeff_1_i,
32-
input [19:0] coeff_2_i,
33-
input [19:0] coeff_3_i
29+
input register_inputs_i
3430
);
3531

36-
QL_DSP2 _TECHMAP_REPLACE_ (
32+
parameter [19:0] COEFF_0 = 20'd0;
33+
parameter [19:0] COEFF_1 = 20'd0;
34+
parameter [19:0] COEFF_2 = 20'd0;
35+
parameter [19:0] COEFF_3 = 20'd0;
36+
37+
QL_DSP2 # (
38+
.COEFF_0 (COEFF_0),
39+
.COEFF_1 (COEFF_1),
40+
.COEFF_2 (COEFF_2),
41+
.COEFF_3 (COEFF_3)
42+
) _TECHMAP_REPLACE_ (
3743
.a (a_i),
3844
.b (b_i),
3945
.acc_fir (acc_fir_i),
@@ -54,11 +60,7 @@ module dsp_t1_20x18x64 (
5460
.shift_right (shift_right_i),
5561
.round (round_i),
5662
.subtract (subtract_i),
57-
.register_inputs (register_inputs_i),
58-
.coeff_0 (coeff_0_i),
59-
.coeff_1 (coeff_1_i),
60-
.coeff_2 (coeff_2_i),
61-
.coeff_3 (coeff_3_i)
63+
.register_inputs (register_inputs_i)
6264
);
6365

6466
endmodule
@@ -91,10 +93,20 @@ module dsp_t1_10x9x32 (
9193
input [ 9:0] coeff_3_i
9294
);
9395

96+
parameter [9:0] COEFF_0 = 10'd0;
97+
parameter [9:0] COEFF_1 = 10'd0;
98+
parameter [9:0] COEFF_2 = 10'd0;
99+
parameter [9:0] COEFF_3 = 10'd0;
100+
94101
wire [37:0] z;
95102
wire [17:0] dly_b;
96103

97-
QL_DSP2 _TECHMAP_REPLACE_ (
104+
QL_DSP2 # (
105+
.COEFF_0 ({10'd0, COEFF_0}),
106+
.COEFF_1 ({10'd0, COEFF_1}),
107+
.COEFF_2 ({10'd0, COEFF_2}),
108+
.COEFF_3 ({10'd0, COEFF_3})
109+
) _TECHMAP_REPLACE_ (
98110
.a ({10'd0, a_i}),
99111
.b ({ 9'd0, b_i}),
100112
.acc_fir (acc_fir_i),
@@ -115,11 +127,7 @@ module dsp_t1_10x9x32 (
115127
.shift_right (shift_right_i),
116128
.round (round_i),
117129
.subtract (subtract_i),
118-
.register_inputs (register_inputs_i),
119-
.coeff_0 ({10'd0, coeff_0_i}),
120-
.coeff_1 ({10'd0, coeff_1_i}),
121-
.coeff_2 ({10'd0, coeff_2_i}),
122-
.coeff_3 ({10'd0, coeff_3_i})
130+
.register_inputs (register_inputs_i)
123131
);
124132

125133
assign z_o = z[18:0];

ql-qlf-plugin/qlf_k6n10f/dsp_map.v

Lines changed: 2 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -41,11 +41,7 @@ module \$__QL_MUL20X18 (input [19:0] A, input [17:0] B, output [37:0] Y);
4141
.shift_right_i (6'd0),
4242
.round_i (1'b0),
4343
.subtract_i (1'b0),
44-
.register_inputs_i (1'b0),
45-
.coeff_0_i (20'd0),
46-
.coeff_1_i (20'd0),
47-
.coeff_2_i (20'd0),
48-
.coeff_3_i (20'd0)
44+
.register_inputs_i (1'b0)
4945
);
5046

5147
assign Y = z;
@@ -87,11 +83,7 @@ module \$__QL_MUL10X9 (input [9:0] A, input [8:0] B, output [18:0] Y);
8783
.shift_right_i (6'd0),
8884
.round_i (1'b0),
8985
.subtract_i (1'b0),
90-
.register_inputs_i (1'b0),
91-
.coeff_0_i (10'd0),
92-
.coeff_1_i (10'd0),
93-
.coeff_2_i (10'd0),
94-
.coeff_3_i (10'd0)
86+
.register_inputs_i (1'b0)
9587
);
9688

9789
assign Y = z;

0 commit comments

Comments
 (0)