Skip to content

Commit 8b1aefa

Browse files
committed
Merge branch 'feature_multicycle' into develop
2 parents c4878de + 2a98008 commit 8b1aefa

File tree

58 files changed

+3429
-883
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

58 files changed

+3429
-883
lines changed

examples/thread_stream_axi_stream_fifo/test_thread_stream_axi_stream_fifo.py

Lines changed: 211 additions & 355 deletions
Large diffs are not rendered by default.

tests/extension/stream_/div_validready/test_stream_div_validready.py

Lines changed: 10 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -211,14 +211,16 @@
211211
reg _ivalid_33;
212212
reg _ivalid_34;
213213
reg _ivalid_35;
214-
reg _ivalid_36;
215-
reg _ivalid_37;
216-
assign ovalid = _ivalid_37;
214+
assign ovalid = _ivalid_35;
217215
assign iready = oready;
218-
reg signed [32-1:0] _divide_div_ldata_2;
219-
reg signed [32-1:0] _divide_div_rdata_2;
220-
reg [32-1:0] _divide_div_abs_ldata_2;
221-
reg [32-1:0] _divide_div_abs_rdata_2;
216+
wire signed [32-1:0] _divide_div_ldata_2;
217+
wire signed [32-1:0] _divide_div_rdata_2;
218+
assign _divide_div_ldata_2 = xdata;
219+
assign _divide_div_rdata_2 = ydata;
220+
wire [32-1:0] _divide_div_abs_ldata_2;
221+
wire [32-1:0] _divide_div_abs_rdata_2;
222+
assign _divide_div_abs_ldata_2 = (_divide_div_ldata_2[31] == 0)? _divide_div_ldata_2 : ~_divide_div_ldata_2 + 1;
223+
assign _divide_div_abs_rdata_2 = (_divide_div_rdata_2[31] == 0)? _divide_div_rdata_2 : ~_divide_div_rdata_2 + 1;
222224
wire _divide_div_osign_2;
223225
wire signed [32-1:0] _divide_div_abs_odata_2;
224226
reg signed [32-1:0] _divide_div_odata_2;
@@ -257,9 +259,7 @@
257259
reg _divide_div_sign_tmp_30_2;
258260
reg _divide_div_sign_tmp_31_2;
259261
reg _divide_div_sign_tmp_32_2;
260-
reg _divide_div_sign_tmp_33_2;
261-
reg _divide_div_sign_tmp_34_2;
262-
assign _divide_div_osign_2 = _divide_div_sign_tmp_34_2;
262+
assign _divide_div_osign_2 = _divide_div_sign_tmp_32_2;
263263
wire _divide_div_update_2;
264264
assign _divide_div_update_2 = oready;
265265
@@ -317,12 +317,6 @@
317317
_ivalid_33 <= 0;
318318
_ivalid_34 <= 0;
319319
_ivalid_35 <= 0;
320-
_ivalid_36 <= 0;
321-
_ivalid_37 <= 0;
322-
_divide_div_ldata_2 <= 0;
323-
_divide_div_rdata_2 <= 0;
324-
_divide_div_abs_ldata_2 <= 0;
325-
_divide_div_abs_rdata_2 <= 0;
326320
_divide_div_odata_2 <= 0;
327321
_divide_div_sign_tmp_0_2 <= 0;
328322
_divide_div_sign_tmp_1_2 <= 0;
@@ -357,8 +351,6 @@
357351
_divide_div_sign_tmp_30_2 <= 0;
358352
_divide_div_sign_tmp_31_2 <= 0;
359353
_divide_div_sign_tmp_32_2 <= 0;
360-
_divide_div_sign_tmp_33_2 <= 0;
361-
_divide_div_sign_tmp_34_2 <= 0;
362354
end else begin
363355
if(oready) begin
364356
_ivalid_1 <= ivalid;
@@ -465,24 +457,6 @@
465457
if(oready) begin
466458
_ivalid_35 <= _ivalid_34;
467459
end
468-
if(oready) begin
469-
_ivalid_36 <= _ivalid_35;
470-
end
471-
if(oready) begin
472-
_ivalid_37 <= _ivalid_36;
473-
end
474-
if(oready) begin
475-
_divide_div_ldata_2 <= xdata;
476-
end
477-
if(oready) begin
478-
_divide_div_rdata_2 <= ydata;
479-
end
480-
if(oready) begin
481-
_divide_div_abs_ldata_2 <= (_divide_div_ldata_2[31] == 0)? _divide_div_ldata_2 : ~_divide_div_ldata_2 + 1;
482-
end
483-
if(oready) begin
484-
_divide_div_abs_rdata_2 <= (_divide_div_rdata_2[31] == 0)? _divide_div_rdata_2 : ~_divide_div_rdata_2 + 1;
485-
end
486460
if(oready) begin
487461
_divide_div_odata_2 <= (_divide_div_osign_2 == 0)? _divide_div_abs_odata_2 : ~_divide_div_abs_odata_2 + 1;
488462
end
@@ -585,12 +559,6 @@
585559
if(oready) begin
586560
_divide_div_sign_tmp_32_2 <= _divide_div_sign_tmp_31_2;
587561
end
588-
if(oready) begin
589-
_divide_div_sign_tmp_33_2 <= _divide_div_sign_tmp_32_2;
590-
end
591-
if(oready) begin
592-
_divide_div_sign_tmp_34_2 <= _divide_div_sign_tmp_33_2;
593-
end
594562
end
595563
end
596564

tests/extension/stream_/reduceadd/test_stream_reduceadd.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -197,33 +197,33 @@
197197
if(RST) begin
198198
_plus_data_3 <= 0;
199199
__delay_data_10__variable_2 <= 0;
200-
_reduceadd_data_4 <= 1'sd0;
201200
_reduceadd_count_4 <= 0;
202201
_reduceadd_prev_count_max_4 <= 0;
203-
_pulse_data_7 <= 1'sd0;
202+
_reduceadd_data_4 <= 1'sd0;
204203
_pulse_count_7 <= 0;
205204
_pulse_prev_count_max_7 <= 0;
205+
_pulse_data_7 <= 1'sd0;
206206
end else begin
207207
_plus_data_3 <= xdata + ydata;
208208
__delay_data_10__variable_2 <= edata;
209-
if(__delay_data_10__variable_2) begin
210-
_reduceadd_data_4 <= _reduceadd_current_data_4 + _plus_data_3;
211-
end
212209
if(__delay_data_10__variable_2) begin
213210
_reduceadd_count_4 <= (_reduceadd_current_count_4 >= 5'sd8 - 1)? 0 : _reduceadd_current_count_4 + 1;
214211
end
215212
if(__delay_data_10__variable_2) begin
216213
_reduceadd_prev_count_max_4 <= _reduceadd_current_count_4 >= 5'sd8 - 1;
217214
end
218215
if(__delay_data_10__variable_2) begin
219-
_pulse_data_7 <= _pulse_current_count_7 >= 5'sd8 - 1;
216+
_reduceadd_data_4 <= _reduceadd_current_data_4 + _plus_data_3;
220217
end
221218
if(__delay_data_10__variable_2) begin
222219
_pulse_count_7 <= (_pulse_current_count_7 >= 5'sd8 - 1)? 0 : _pulse_current_count_7 + 1;
223220
end
224221
if(__delay_data_10__variable_2) begin
225222
_pulse_prev_count_max_7 <= _pulse_current_count_7 >= 5'sd8 - 1;
226223
end
224+
if(__delay_data_10__variable_2) begin
225+
_pulse_data_7 <= _pulse_current_count_7 >= 5'sd8 - 1;
226+
end
227227
end
228228
end
229229

tests/extension/stream_/reduceadd_valid/test_stream_reduceadd_valid.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -210,34 +210,34 @@
210210
_ivalid_1 <= 0;
211211
_ivalid_2 <= 0;
212212
_plus_data_2 <= 0;
213-
_reduceadd_data_3 <= 1'sd0;
214213
_reduceadd_count_3 <= 0;
215214
_reduceadd_prev_count_max_3 <= 0;
216-
_pulse_data_6 <= 1'sd0;
215+
_reduceadd_data_3 <= 1'sd0;
217216
_pulse_count_6 <= 0;
218217
_pulse_prev_count_max_6 <= 0;
218+
_pulse_data_6 <= 1'sd0;
219219
end else begin
220220
_ivalid_1 <= ivalid;
221221
_ivalid_2 <= _ivalid_1;
222222
_plus_data_2 <= xdata + ydata;
223-
if(_ivalid_1) begin
224-
_reduceadd_data_3 <= _reduceadd_current_data_3 + _plus_data_2;
225-
end
226223
if(_ivalid_1) begin
227224
_reduceadd_count_3 <= (_reduceadd_current_count_3 >= 5'sd8 - 1)? 0 : _reduceadd_current_count_3 + 1;
228225
end
229226
if(_ivalid_1) begin
230227
_reduceadd_prev_count_max_3 <= _reduceadd_current_count_3 >= 5'sd8 - 1;
231228
end
232229
if(_ivalid_1) begin
233-
_pulse_data_6 <= _pulse_current_count_6 >= 5'sd8 - 1;
230+
_reduceadd_data_3 <= _reduceadd_current_data_3 + _plus_data_2;
234231
end
235232
if(_ivalid_1) begin
236233
_pulse_count_6 <= (_pulse_current_count_6 >= 5'sd8 - 1)? 0 : _pulse_current_count_6 + 1;
237234
end
238235
if(_ivalid_1) begin
239236
_pulse_prev_count_max_6 <= _pulse_current_count_6 >= 5'sd8 - 1;
240237
end
238+
if(_ivalid_1) begin
239+
_pulse_data_6 <= _pulse_current_count_6 >= 5'sd8 - 1;
240+
end
241241
end
242242
end
243243

tests/extension/stream_/reduceadd_validready/test_stream_reduceadd_validready.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -231,12 +231,12 @@
231231
_ivalid_1 <= 0;
232232
_ivalid_2 <= 0;
233233
_plus_data_2 <= 0;
234-
_reduceadd_data_3 <= 1'sd0;
235234
_reduceadd_count_3 <= 0;
236235
_reduceadd_prev_count_max_3 <= 0;
237-
_pulse_data_6 <= 1'sd0;
236+
_reduceadd_data_3 <= 1'sd0;
238237
_pulse_count_6 <= 0;
239238
_pulse_prev_count_max_6 <= 0;
239+
_pulse_data_6 <= 1'sd0;
240240
end else begin
241241
if(oready) begin
242242
_ivalid_1 <= ivalid;
@@ -247,24 +247,24 @@
247247
if(oready) begin
248248
_plus_data_2 <= xdata + ydata;
249249
end
250-
if(_ivalid_1 && oready) begin
251-
_reduceadd_data_3 <= _reduceadd_current_data_3 + _plus_data_2;
252-
end
253250
if(_ivalid_1 && oready) begin
254251
_reduceadd_count_3 <= (_reduceadd_current_count_3 >= 5'sd8 - 1)? 0 : _reduceadd_current_count_3 + 1;
255252
end
256253
if(_ivalid_1 && oready) begin
257254
_reduceadd_prev_count_max_3 <= _reduceadd_current_count_3 >= 5'sd8 - 1;
258255
end
259256
if(_ivalid_1 && oready) begin
260-
_pulse_data_6 <= _pulse_current_count_6 >= 5'sd8 - 1;
257+
_reduceadd_data_3 <= _reduceadd_current_data_3 + _plus_data_2;
261258
end
262259
if(_ivalid_1 && oready) begin
263260
_pulse_count_6 <= (_pulse_current_count_6 >= 5'sd8 - 1)? 0 : _pulse_current_count_6 + 1;
264261
end
265262
if(_ivalid_1 && oready) begin
266263
_pulse_prev_count_max_6 <= _pulse_current_count_6 >= 5'sd8 - 1;
267264
end
265+
if(_ivalid_1 && oready) begin
266+
_pulse_data_6 <= _pulse_current_count_6 >= 5'sd8 - 1;
267+
end
268268
end
269269
end
270270

tests/extension/stream_/substream/test_stream_substream.py

Lines changed: 18 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -202,12 +202,8 @@
202202
reg signed [32-1:0] __delay_data_22__delay_21__delay_20__variable_5;
203203
reg signed [32-1:0] __delay_data_23__delay_22__delay_21__delay_20__variable_5;
204204
reg signed [32-1:0] __delay_data_24__delay_23__delay_22__delay_21____variable_5;
205-
reg signed [32-1:0] __delay_data_25__delay_24__delay_23__delay_22____variable_5;
206-
reg signed [32-1:0] __delay_data_26__delay_25__delay_24__delay_23____variable_5;
207-
reg signed [32-1:0] __delay_data_27__delay_26__delay_25__delay_24____variable_5;
208-
reg signed [32-1:0] __delay_data_28__delay_27__delay_26__delay_25____variable_5;
209-
reg signed [32-1:0] __substreamoutput_data_11;
210-
reg signed [32-1:0] __delay_data_29__delay_28__delay_27__delay_26____variable_5;
205+
wire signed [32-1:0] __substreamoutput_data_11;
206+
assign __substreamoutput_data_11 = cdata;
211207
reg signed [32-1:0] _reduceadd_data_12;
212208
reg [6-1:0] _reduceadd_count_12;
213209
reg _reduceadd_prev_count_max_12;
@@ -227,9 +223,9 @@
227223
wire [1-1:0] _pulse_current_data_15;
228224
assign _pulse_current_data_15 = (_pulse_reset_cond_15)? 1'sd0 : _pulse_data_15;
229225
reg signed [32-1:0] _plus_data_18;
230-
reg [1-1:0] __delay_data_30_pulse_15;
226+
reg [1-1:0] __delay_data_25_pulse_15;
231227
assign zdata = _plus_data_18;
232-
assign vdata = __delay_data_30_pulse_15;
228+
assign vdata = __delay_data_25_pulse_15;
233229
234230
always @(posedge CLK) begin
235231
if(RST) begin
@@ -253,20 +249,14 @@
253249
__delay_data_22__delay_21__delay_20__variable_5 <= 0;
254250
__delay_data_23__delay_22__delay_21__delay_20__variable_5 <= 0;
255251
__delay_data_24__delay_23__delay_22__delay_21____variable_5 <= 0;
256-
__delay_data_25__delay_24__delay_23__delay_22____variable_5 <= 0;
257-
__delay_data_26__delay_25__delay_24__delay_23____variable_5 <= 0;
258-
__delay_data_27__delay_26__delay_25__delay_24____variable_5 <= 0;
259-
__delay_data_28__delay_27__delay_26__delay_25____variable_5 <= 0;
260-
__substreamoutput_data_11 <= 0;
261-
__delay_data_29__delay_28__delay_27__delay_26____variable_5 <= 0;
262-
_reduceadd_data_12 <= 1'sd0;
263252
_reduceadd_count_12 <= 0;
264253
_reduceadd_prev_count_max_12 <= 0;
265-
_pulse_data_15 <= 1'sd0;
254+
_reduceadd_data_12 <= 1'sd0;
266255
_pulse_count_15 <= 0;
267256
_pulse_prev_count_max_15 <= 0;
257+
_pulse_data_15 <= 1'sd0;
268258
_plus_data_18 <= 0;
269-
__delay_data_30_pulse_15 <= 0;
259+
__delay_data_25_pulse_15 <= 0;
270260
end else begin
271261
_plus_data_6 <= xdata + 2'sd1;
272262
_plus_data_8 <= ydata + 3'sd2;
@@ -275,32 +265,26 @@
275265
__delay_data_22__delay_21__delay_20__variable_5 <= __delay_data_21__delay_20__variable_5;
276266
__delay_data_23__delay_22__delay_21__delay_20__variable_5 <= __delay_data_22__delay_21__delay_20__variable_5;
277267
__delay_data_24__delay_23__delay_22__delay_21____variable_5 <= __delay_data_23__delay_22__delay_21__delay_20__variable_5;
278-
__delay_data_25__delay_24__delay_23__delay_22____variable_5 <= __delay_data_24__delay_23__delay_22__delay_21____variable_5;
279-
__delay_data_26__delay_25__delay_24__delay_23____variable_5 <= __delay_data_25__delay_24__delay_23__delay_22____variable_5;
280-
__delay_data_27__delay_26__delay_25__delay_24____variable_5 <= __delay_data_26__delay_25__delay_24__delay_23____variable_5;
281-
__delay_data_28__delay_27__delay_26__delay_25____variable_5 <= __delay_data_27__delay_26__delay_25__delay_24____variable_5;
282-
__substreamoutput_data_11 <= cdata;
283-
__delay_data_29__delay_28__delay_27__delay_26____variable_5 <= __delay_data_28__delay_27__delay_26__delay_25____variable_5;
284-
if(__delay_data_29__delay_28__delay_27__delay_26____variable_5) begin
285-
_reduceadd_data_12 <= _reduceadd_current_data_12 + __substreamoutput_data_11;
286-
end
287-
if(__delay_data_29__delay_28__delay_27__delay_26____variable_5) begin
268+
if(__delay_data_24__delay_23__delay_22__delay_21____variable_5) begin
288269
_reduceadd_count_12 <= (_reduceadd_current_count_12 >= 5'sd8 - 1)? 0 : _reduceadd_current_count_12 + 1;
289270
end
290-
if(__delay_data_29__delay_28__delay_27__delay_26____variable_5) begin
271+
if(__delay_data_24__delay_23__delay_22__delay_21____variable_5) begin
291272
_reduceadd_prev_count_max_12 <= _reduceadd_current_count_12 >= 5'sd8 - 1;
292273
end
293-
if(__delay_data_29__delay_28__delay_27__delay_26____variable_5) begin
294-
_pulse_data_15 <= _pulse_current_count_15 >= 5'sd8 - 1;
274+
if(__delay_data_24__delay_23__delay_22__delay_21____variable_5) begin
275+
_reduceadd_data_12 <= _reduceadd_current_data_12 + __substreamoutput_data_11;
295276
end
296-
if(__delay_data_29__delay_28__delay_27__delay_26____variable_5) begin
277+
if(__delay_data_24__delay_23__delay_22__delay_21____variable_5) begin
297278
_pulse_count_15 <= (_pulse_current_count_15 >= 5'sd8 - 1)? 0 : _pulse_current_count_15 + 1;
298279
end
299-
if(__delay_data_29__delay_28__delay_27__delay_26____variable_5) begin
280+
if(__delay_data_24__delay_23__delay_22__delay_21____variable_5) begin
300281
_pulse_prev_count_max_15 <= _pulse_current_count_15 >= 5'sd8 - 1;
301282
end
283+
if(__delay_data_24__delay_23__delay_22__delay_21____variable_5) begin
284+
_pulse_data_15 <= _pulse_current_count_15 >= 5'sd8 - 1;
285+
end
302286
_plus_data_18 <= _reduceadd_data_12 + 11'sd1000;
303-
__delay_data_30_pulse_15 <= _pulse_data_15;
287+
__delay_data_25_pulse_15 <= _pulse_data_15;
304288
end
305289
end
306290
@@ -347,22 +331,14 @@
347331
reg signed [32-1:0] _b;
348332
wire signed [64-1:0] _mul;
349333
reg signed [64-1:0] _pipe_mul0;
350-
reg signed [64-1:0] _pipe_mul1;
351-
reg signed [64-1:0] _pipe_mul2;
352-
reg signed [64-1:0] _pipe_mul3;
353-
reg signed [64-1:0] _pipe_mul4;
354334
assign _mul = _a * _b;
355-
assign c = _pipe_mul4;
335+
assign c = _pipe_mul0;
356336
357337
always @(posedge CLK) begin
358338
if(update) begin
359339
_a <= a;
360340
_b <= b;
361341
_pipe_mul0 <= _mul;
362-
_pipe_mul1 <= _pipe_mul0;
363-
_pipe_mul2 <= _pipe_mul1;
364-
_pipe_mul3 <= _pipe_mul2;
365-
_pipe_mul4 <= _pipe_mul3;
366342
end
367343
end
368344

tests/extension/thread_/stream_axi_stream/test_thread_stream_axi_stream.py

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -191,7 +191,9 @@
191191
192192
reg _mystream_stream_ivalid;
193193
wire _mystream_stream_oready;
194-
assign _mystream_stream_oready = 1;
194+
wire _mystream_stream_internal_oready;
195+
assign _mystream_stream_internal_oready = 1;
196+
assign _mystream_stream_oready = _mystream_stream_internal_oready;
195197
reg [32-1:0] _mystream_fsm;
196198
localparam _mystream_fsm_init = 0;
197199
wire _mystream_run_flag;
@@ -1103,13 +1105,13 @@
11031105
_mystream_source_stop <= 0;
11041106
_mystream_stream_ivalid <= 0;
11051107
end else begin
1106-
if(_tmp_46 && _mystream_stream_oready) begin
1108+
if(_mystream_stream_oready && _tmp_46) begin
11071109
_mystream_stream_ivalid <= 1;
11081110
end
11091111
if(_mystream_stream_oready) begin
11101112
_mystream_source_stop <= 0;
11111113
end
1112-
if(_tmp_49 && _mystream_stream_oready) begin
1114+
if(_mystream_stream_oready && _tmp_49) begin
11131115
_mystream_stream_ivalid <= 0;
11141116
end
11151117
case(_mystream_fsm)

tests/extension/thread_/stream_axi_stream_async/test_thread_stream_axi_stream_async.py

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -191,7 +191,9 @@
191191
192192
reg _mystream_stream_ivalid;
193193
wire _mystream_stream_oready;
194-
assign _mystream_stream_oready = 1;
194+
wire _mystream_stream_internal_oready;
195+
assign _mystream_stream_internal_oready = 1;
196+
assign _mystream_stream_oready = _mystream_stream_internal_oready;
195197
reg [32-1:0] _mystream_fsm;
196198
localparam _mystream_fsm_init = 0;
197199
wire _mystream_run_flag;
@@ -1103,13 +1105,13 @@
11031105
_mystream_source_stop <= 0;
11041106
_mystream_stream_ivalid <= 0;
11051107
end else begin
1106-
if(_tmp_46 && _mystream_stream_oready) begin
1108+
if(_mystream_stream_oready && _tmp_46) begin
11071109
_mystream_stream_ivalid <= 1;
11081110
end
11091111
if(_mystream_stream_oready) begin
11101112
_mystream_source_stop <= 0;
11111113
end
1112-
if(_tmp_49 && _mystream_stream_oready) begin
1114+
if(_mystream_stream_oready && _tmp_49) begin
11131115
_mystream_stream_ivalid <= 0;
11141116
end
11151117
case(_mystream_fsm)

0 commit comments

Comments
 (0)