|
8 | 8 |
|
9 | 9 | reg CLK;
|
10 | 10 | reg RST;
|
11 |
| - reg [32-1:0] din0re; |
12 |
| - reg [32-1:0] din0im; |
13 |
| - reg [32-1:0] din1re; |
14 |
| - reg [32-1:0] din1im; |
15 |
| - reg [32-1:0] cnstre; |
16 |
| - reg [32-1:0] cnstim; |
17 |
| - wire [32-1:0] dout1re; |
18 |
| - wire [32-1:0] dout1im; |
19 |
| - wire [32-1:0] dout0re; |
20 |
| - wire [32-1:0] dout0im; |
| 11 | + reg signed [32-1:0] din0re; |
| 12 | + reg signed [32-1:0] din0im; |
| 13 | + reg signed [32-1:0] din1re; |
| 14 | + reg signed [32-1:0] din1im; |
| 15 | + reg signed [32-1:0] cnstre; |
| 16 | + reg signed [32-1:0] cnstim; |
| 17 | + wire signed [32-1:0] dout1re; |
| 18 | + wire signed [32-1:0] dout1im; |
| 19 | + wire signed [32-1:0] dout0re; |
| 20 | + wire signed [32-1:0] dout0im; |
21 | 21 |
|
22 | 22 | radix2
|
23 | 23 | uut
|
|
143 | 143 | (
|
144 | 144 | input CLK,
|
145 | 145 | input RST,
|
146 |
| - input [32-1:0] din0re, |
147 |
| - input [32-1:0] din0im, |
148 |
| - input [32-1:0] din1re, |
149 |
| - input [32-1:0] din1im, |
150 |
| - input [32-1:0] cnstre, |
151 |
| - input [32-1:0] cnstim, |
152 |
| - output [32-1:0] dout1re, |
153 |
| - output [32-1:0] dout1im, |
154 |
| - output [32-1:0] dout0re, |
155 |
| - output [32-1:0] dout0im |
| 146 | + input signed [32-1:0] din0re, |
| 147 | + input signed [32-1:0] din0im, |
| 148 | + input signed [32-1:0] din1re, |
| 149 | + input signed [32-1:0] din1im, |
| 150 | + input signed [32-1:0] cnstre, |
| 151 | + input signed [32-1:0] cnstim, |
| 152 | + output signed [32-1:0] dout1re, |
| 153 | + output signed [32-1:0] dout1im, |
| 154 | + output signed [32-1:0] dout0re, |
| 155 | + output signed [32-1:0] dout0im |
156 | 156 | );
|
157 | 157 |
|
158 |
| - reg [32-1:0] _plus_data_0; |
| 158 | + reg signed [32-1:0] _plus_data_0; |
159 | 159 | reg _plus_valid_0;
|
160 | 160 | wire _plus_ready_0;
|
161 |
| - reg [32-1:0] _plus_data_1; |
| 161 | + reg signed [32-1:0] _plus_data_1; |
162 | 162 | reg _plus_valid_1;
|
163 | 163 | wire _plus_ready_1;
|
164 |
| - reg [32-1:0] _minus_data_2; |
| 164 | + reg signed [32-1:0] _minus_data_2; |
165 | 165 | reg _minus_valid_2;
|
166 | 166 | wire _minus_ready_2;
|
167 |
| - reg [32-1:0] _minus_data_3; |
| 167 | + reg signed [32-1:0] _minus_data_3; |
168 | 168 | reg _minus_valid_3;
|
169 | 169 | wire _minus_ready_3;
|
170 |
| - reg [32-1:0] __delay_data_4; |
| 170 | + reg signed [32-1:0] __delay_data_4; |
171 | 171 | reg __delay_valid_4;
|
172 | 172 | wire __delay_ready_4;
|
173 |
| - reg [32-1:0] __delay_data_5; |
| 173 | + reg signed [32-1:0] __delay_data_5; |
174 | 174 | reg __delay_valid_5;
|
175 | 175 | wire __delay_ready_5;
|
176 |
| - wire [32-1:0] _times_data_6; |
| 176 | + wire signed [32-1:0] _times_data_6; |
177 | 177 | wire _times_valid_6;
|
178 | 178 | wire _times_ready_6;
|
179 |
| - wire [64-1:0] _times_odata_6; |
180 |
| - reg [64-1:0] _times_data_reg_6; |
| 179 | + wire signed [64-1:0] _times_odata_6; |
| 180 | + reg signed [64-1:0] _times_data_reg_6; |
181 | 181 | assign _times_data_6 = _times_data_reg_6;
|
182 | 182 | wire _times_ovalid_6;
|
183 | 183 | reg _times_valid_reg_6;
|
|
200 | 200 | .c(_times_odata_6)
|
201 | 201 | );
|
202 | 202 |
|
203 |
| - wire [32-1:0] _times_data_7; |
| 203 | + wire signed [32-1:0] _times_data_7; |
204 | 204 | wire _times_valid_7;
|
205 | 205 | wire _times_ready_7;
|
206 |
| - wire [64-1:0] _times_odata_7; |
207 |
| - reg [64-1:0] _times_data_reg_7; |
| 206 | + wire signed [64-1:0] _times_odata_7; |
| 207 | + reg signed [64-1:0] _times_data_reg_7; |
208 | 208 | assign _times_data_7 = _times_data_reg_7;
|
209 | 209 | wire _times_ovalid_7;
|
210 | 210 | reg _times_valid_reg_7;
|
|
227 | 227 | .c(_times_odata_7)
|
228 | 228 | );
|
229 | 229 |
|
230 |
| - wire [32-1:0] _times_data_8; |
| 230 | + wire signed [32-1:0] _times_data_8; |
231 | 231 | wire _times_valid_8;
|
232 | 232 | wire _times_ready_8;
|
233 |
| - wire [64-1:0] _times_odata_8; |
234 |
| - reg [64-1:0] _times_data_reg_8; |
| 233 | + wire signed [64-1:0] _times_odata_8; |
| 234 | + reg signed [64-1:0] _times_data_reg_8; |
235 | 235 | assign _times_data_8 = _times_data_reg_8;
|
236 | 236 | wire _times_ovalid_8;
|
237 | 237 | reg _times_valid_reg_8;
|
|
256 | 256 |
|
257 | 257 | assign _minus_ready_2 = (_times_ready_6 || !_times_valid_6) && (_minus_valid_2 && __delay_valid_4) && ((_times_ready_8 || !_times_valid_8) && (_minus_valid_2 && __delay_valid_5));
|
258 | 258 | assign __delay_ready_5 = (_times_ready_7 || !_times_valid_7) && (_minus_valid_3 && __delay_valid_5) && ((_times_ready_8 || !_times_valid_8) && (_minus_valid_2 && __delay_valid_5));
|
259 |
| - wire [32-1:0] _times_data_9; |
| 259 | + wire signed [32-1:0] _times_data_9; |
260 | 260 | wire _times_valid_9;
|
261 | 261 | wire _times_ready_9;
|
262 |
| - wire [64-1:0] _times_odata_9; |
263 |
| - reg [64-1:0] _times_data_reg_9; |
| 262 | + wire signed [64-1:0] _times_odata_9; |
| 263 | + reg signed [64-1:0] _times_data_reg_9; |
264 | 264 | assign _times_data_9 = _times_data_reg_9;
|
265 | 265 | wire _times_ovalid_9;
|
266 | 266 | reg _times_valid_reg_9;
|
|
285 | 285 |
|
286 | 286 | assign _minus_ready_3 = (_times_ready_7 || !_times_valid_7) && (_minus_valid_3 && __delay_valid_5) && ((_times_ready_9 || !_times_valid_9) && (_minus_valid_3 && __delay_valid_4));
|
287 | 287 | assign __delay_ready_4 = (_times_ready_6 || !_times_valid_6) && (_minus_valid_2 && __delay_valid_4) && ((_times_ready_9 || !_times_valid_9) && (_minus_valid_3 && __delay_valid_4));
|
288 |
| - reg [32-1:0] __delay_data_10; |
| 288 | + reg signed [32-1:0] __delay_data_10; |
289 | 289 | reg __delay_valid_10;
|
290 | 290 | wire __delay_ready_10;
|
291 | 291 | assign _plus_ready_0 = (__delay_ready_10 || !__delay_valid_10) && _plus_valid_0;
|
292 |
| - reg [32-1:0] __delay_data_11; |
| 292 | + reg signed [32-1:0] __delay_data_11; |
293 | 293 | reg __delay_valid_11;
|
294 | 294 | wire __delay_ready_11;
|
295 | 295 | assign _plus_ready_1 = (__delay_ready_11 || !__delay_valid_11) && _plus_valid_1;
|
296 |
| - reg [32-1:0] __delay_data_12; |
| 296 | + reg signed [32-1:0] __delay_data_12; |
297 | 297 | reg __delay_valid_12;
|
298 | 298 | wire __delay_ready_12;
|
299 | 299 | assign __delay_ready_10 = (__delay_ready_12 || !__delay_valid_12) && __delay_valid_10;
|
300 |
| - reg [32-1:0] __delay_data_13; |
| 300 | + reg signed [32-1:0] __delay_data_13; |
301 | 301 | reg __delay_valid_13;
|
302 | 302 | wire __delay_ready_13;
|
303 | 303 | assign __delay_ready_11 = (__delay_ready_13 || !__delay_valid_13) && __delay_valid_11;
|
304 |
| - reg [32-1:0] __delay_data_14; |
| 304 | + reg signed [32-1:0] __delay_data_14; |
305 | 305 | reg __delay_valid_14;
|
306 | 306 | wire __delay_ready_14;
|
307 | 307 | assign __delay_ready_12 = (__delay_ready_14 || !__delay_valid_14) && __delay_valid_12;
|
308 |
| - reg [32-1:0] __delay_data_15; |
| 308 | + reg signed [32-1:0] __delay_data_15; |
309 | 309 | reg __delay_valid_15;
|
310 | 310 | wire __delay_ready_15;
|
311 | 311 | assign __delay_ready_13 = (__delay_ready_15 || !__delay_valid_15) && __delay_valid_13;
|
312 |
| - reg [32-1:0] __delay_data_16; |
| 312 | + reg signed [32-1:0] __delay_data_16; |
313 | 313 | reg __delay_valid_16;
|
314 | 314 | wire __delay_ready_16;
|
315 | 315 | assign __delay_ready_14 = (__delay_ready_16 || !__delay_valid_16) && __delay_valid_14;
|
316 |
| - reg [32-1:0] __delay_data_17; |
| 316 | + reg signed [32-1:0] __delay_data_17; |
317 | 317 | reg __delay_valid_17;
|
318 | 318 | wire __delay_ready_17;
|
319 | 319 | assign __delay_ready_15 = (__delay_ready_17 || !__delay_valid_17) && __delay_valid_15;
|
320 |
| - reg [32-1:0] __delay_data_18; |
| 320 | + reg signed [32-1:0] __delay_data_18; |
321 | 321 | reg __delay_valid_18;
|
322 | 322 | wire __delay_ready_18;
|
323 | 323 | assign __delay_ready_16 = (__delay_ready_18 || !__delay_valid_18) && __delay_valid_16;
|
324 |
| - reg [32-1:0] __delay_data_19; |
| 324 | + reg signed [32-1:0] __delay_data_19; |
325 | 325 | reg __delay_valid_19;
|
326 | 326 | wire __delay_ready_19;
|
327 | 327 | assign __delay_ready_17 = (__delay_ready_19 || !__delay_valid_19) && __delay_valid_17;
|
328 |
| - reg [32-1:0] __delay_data_20; |
| 328 | + reg signed [32-1:0] __delay_data_20; |
329 | 329 | reg __delay_valid_20;
|
330 | 330 | wire __delay_ready_20;
|
331 | 331 | assign __delay_ready_18 = (__delay_ready_20 || !__delay_valid_20) && __delay_valid_18;
|
332 |
| - reg [32-1:0] __delay_data_21; |
| 332 | + reg signed [32-1:0] __delay_data_21; |
333 | 333 | reg __delay_valid_21;
|
334 | 334 | wire __delay_ready_21;
|
335 | 335 | assign __delay_ready_19 = (__delay_ready_21 || !__delay_valid_21) && __delay_valid_19;
|
336 |
| - reg [32-1:0] __delay_data_22; |
| 336 | + reg signed [32-1:0] __delay_data_22; |
337 | 337 | reg __delay_valid_22;
|
338 | 338 | wire __delay_ready_22;
|
339 | 339 | assign __delay_ready_20 = (__delay_ready_22 || !__delay_valid_22) && __delay_valid_20;
|
340 |
| - reg [32-1:0] __delay_data_23; |
| 340 | + reg signed [32-1:0] __delay_data_23; |
341 | 341 | reg __delay_valid_23;
|
342 | 342 | wire __delay_ready_23;
|
343 | 343 | assign __delay_ready_21 = (__delay_ready_23 || !__delay_valid_23) && __delay_valid_21;
|
344 |
| - reg [32-1:0] _minus_data_24; |
| 344 | + reg signed [32-1:0] _minus_data_24; |
345 | 345 | reg _minus_valid_24;
|
346 | 346 | wire _minus_ready_24;
|
347 | 347 | assign _times_ready_6 = (_minus_ready_24 || !_minus_valid_24) && (_times_valid_6 && _times_valid_7);
|
348 | 348 | assign _times_ready_7 = (_minus_ready_24 || !_minus_valid_24) && (_times_valid_6 && _times_valid_7);
|
349 |
| - reg [32-1:0] _plus_data_25; |
| 349 | + reg signed [32-1:0] _plus_data_25; |
350 | 350 | reg _plus_valid_25;
|
351 | 351 | wire _plus_ready_25;
|
352 | 352 | assign _times_ready_8 = (_plus_ready_25 || !_plus_valid_25) && (_times_valid_8 && _times_valid_9);
|
353 | 353 | assign _times_ready_9 = (_plus_ready_25 || !_plus_valid_25) && (_times_valid_8 && _times_valid_9);
|
354 |
| - reg [32-1:0] __delay_data_26; |
| 354 | + reg signed [32-1:0] __delay_data_26; |
355 | 355 | reg __delay_valid_26;
|
356 | 356 | wire __delay_ready_26;
|
357 | 357 | assign __delay_ready_22 = (__delay_ready_26 || !__delay_valid_26) && __delay_valid_22;
|
358 |
| - reg [32-1:0] __delay_data_27; |
| 358 | + reg signed [32-1:0] __delay_data_27; |
359 | 359 | reg __delay_valid_27;
|
360 | 360 | wire __delay_ready_27;
|
361 | 361 | assign __delay_ready_23 = (__delay_ready_27 || !__delay_valid_27) && __delay_valid_23;
|
|
740 | 740 | output [64-1:0] c
|
741 | 741 | );
|
742 | 742 |
|
743 |
| - reg [32-1:0] _a; |
744 |
| - reg [32-1:0] _b; |
| 743 | + reg signed [32-1:0] _a; |
| 744 | + reg signed [32-1:0] _b; |
745 | 745 | reg signed [64-1:0] _tmpval0;
|
746 | 746 | reg signed [64-1:0] _tmpval1;
|
747 | 747 | reg signed [64-1:0] _tmpval2;
|
748 | 748 | reg signed [64-1:0] _tmpval3;
|
749 | 749 | reg signed [64-1:0] _tmpval4;
|
750 | 750 | wire signed [64-1:0] rslt;
|
751 |
| - assign rslt = $signed({ 1'd0, _a }) * $signed({ 1'd0, _b }); |
| 751 | + assign rslt = _a * _b; |
752 | 752 | assign c = _tmpval4;
|
753 | 753 |
|
754 | 754 | always @(posedge CLK) begin
|
|
833 | 833 | output [64-1:0] c
|
834 | 834 | );
|
835 | 835 |
|
836 |
| - reg [32-1:0] _a; |
837 |
| - reg [32-1:0] _b; |
| 836 | + reg signed [32-1:0] _a; |
| 837 | + reg signed [32-1:0] _b; |
838 | 838 | reg signed [64-1:0] _tmpval0;
|
839 | 839 | reg signed [64-1:0] _tmpval1;
|
840 | 840 | reg signed [64-1:0] _tmpval2;
|
841 | 841 | reg signed [64-1:0] _tmpval3;
|
842 | 842 | reg signed [64-1:0] _tmpval4;
|
843 | 843 | wire signed [64-1:0] rslt;
|
844 |
| - assign rslt = $signed({ 1'd0, _a }) * $signed({ 1'd0, _b }); |
| 844 | + assign rslt = _a * _b; |
845 | 845 | assign c = _tmpval4;
|
846 | 846 |
|
847 | 847 | always @(posedge CLK) begin
|
|
926 | 926 | output [64-1:0] c
|
927 | 927 | );
|
928 | 928 |
|
929 |
| - reg [32-1:0] _a; |
930 |
| - reg [32-1:0] _b; |
| 929 | + reg signed [32-1:0] _a; |
| 930 | + reg signed [32-1:0] _b; |
931 | 931 | reg signed [64-1:0] _tmpval0;
|
932 | 932 | reg signed [64-1:0] _tmpval1;
|
933 | 933 | reg signed [64-1:0] _tmpval2;
|
934 | 934 | reg signed [64-1:0] _tmpval3;
|
935 | 935 | reg signed [64-1:0] _tmpval4;
|
936 | 936 | wire signed [64-1:0] rslt;
|
937 |
| - assign rslt = $signed({ 1'd0, _a }) * $signed({ 1'd0, _b }); |
| 937 | + assign rslt = _a * _b; |
938 | 938 | assign c = _tmpval4;
|
939 | 939 |
|
940 | 940 | always @(posedge CLK) begin
|
|
1019 | 1019 | output [64-1:0] c
|
1020 | 1020 | );
|
1021 | 1021 |
|
1022 |
| - reg [32-1:0] _a; |
1023 |
| - reg [32-1:0] _b; |
| 1022 | + reg signed [32-1:0] _a; |
| 1023 | + reg signed [32-1:0] _b; |
1024 | 1024 | reg signed [64-1:0] _tmpval0;
|
1025 | 1025 | reg signed [64-1:0] _tmpval1;
|
1026 | 1026 | reg signed [64-1:0] _tmpval2;
|
1027 | 1027 | reg signed [64-1:0] _tmpval3;
|
1028 | 1028 | reg signed [64-1:0] _tmpval4;
|
1029 | 1029 | wire signed [64-1:0] rslt;
|
1030 |
| - assign rslt = $signed({ 1'd0, _a }) * $signed({ 1'd0, _b }); |
| 1030 | + assign rslt = _a * _b; |
1031 | 1031 | assign c = _tmpval4;
|
1032 | 1032 |
|
1033 | 1033 | always @(posedge CLK) begin
|
|
0 commit comments