|
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