Skip to content

Commit 5997245

Browse files
committed
Merge branch 'feature_axi_stream' into develop
2 parents d82c81f + a6a15f4 commit 5997245

File tree

8 files changed

+290
-155
lines changed

8 files changed

+290
-155
lines changed

examples/thread_stream_axi_stream_fifo/test_thread_stream_axi_stream_fifo.py

Lines changed: 28 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -552,7 +552,8 @@
552552
assign mystream_reduce_sum_data = _reduceadd_data_5;
553553
wire [1-1:0] mystream_reduce_sum_valid_data;
554554
assign mystream_reduce_sum_valid_data = _pulse_data_7;
555-
reg _set_flag_30;
555+
wire _set_flag_30;
556+
assign _set_flag_30 = th_comp == 25;
556557
assign fifo_a_deq = (_mystream_reduce_stream_oready && _mystream_reduce_a_source_fifo_deq && (_mystream_reduce_a_source_sel == 1) && !fifo_a_empty)? 1 : 0;
557558
localparam _tmp_31 = 1;
558559
wire [_tmp_31-1:0] _tmp_32;
@@ -563,10 +564,12 @@
563564
assign mystream_reduce_a_data = __variable_wdata_0;
564565
reg [32-1:0] _mystream_reduce_a_source_fsm_0;
565566
localparam _mystream_reduce_a_source_fsm_0_init = 0;
566-
reg _set_flag_33;
567+
wire _set_flag_33;
568+
assign _set_flag_33 = th_comp == 26;
567569
reg signed [32-1:0] __variable_wdata_1;
568570
assign mystream_reduce_reduce_size_data = __variable_wdata_1;
569-
reg _set_flag_34;
571+
wire _set_flag_34;
572+
assign _set_flag_34 = th_comp == 27;
570573
reg _tmp_35;
571574
reg _tmp_36;
572575
reg _tmp_37;
@@ -602,7 +605,8 @@
602605
reg signed [32-1:0] _plus_data_10;
603606
wire signed [32-1:0] mystream_bias_z_data;
604607
assign mystream_bias_z_data = _plus_data_10;
605-
reg _set_flag_57;
608+
wire _set_flag_57;
609+
assign _set_flag_57 = th_comp == 28;
606610
assign fifo_b_deq = (_mystream_bias_stream_oready && _mystream_bias_x_source_fifo_deq && (_mystream_bias_x_source_sel == 1) && !fifo_b_empty)? 1 : 0;
607611
localparam _tmp_58 = 1;
608612
wire [_tmp_58-1:0] _tmp_59;
@@ -613,7 +617,8 @@
613617
assign mystream_bias_x_data = __variable_wdata_8;
614618
reg [32-1:0] _mystream_bias_x_source_fsm_0;
615619
localparam _mystream_bias_x_source_fsm_0_init = 0;
616-
reg _set_flag_60;
620+
wire _set_flag_60;
621+
assign _set_flag_60 = th_comp == 29;
617622
assign ram_b_0_addr = (_mystream_bias_stream_oready && _mystream_bias_y_source_ram_renable && (_mystream_bias_y_source_sel == 2))? _mystream_bias_y_source_ram_raddr :
618623
(_tmp_16)? _tmp_14 : 0;
619624
assign ram_b_0_enable = (_mystream_bias_stream_oready && _mystream_bias_y_source_ram_renable && (_mystream_bias_y_source_sel == 2))? 1'd1 :
@@ -627,7 +632,8 @@
627632
assign mystream_bias_y_data = __variable_wdata_9;
628633
reg [32-1:0] _mystream_bias_y_source_fsm_1;
629634
localparam _mystream_bias_y_source_fsm_1_init = 0;
630-
reg _set_flag_63;
635+
wire _set_flag_63;
636+
assign _set_flag_63 = th_comp == 30;
631637
reg _tmp_64;
632638
reg _tmp_65;
633639
reg _tmp_66;
@@ -643,7 +649,8 @@
643649
assign _mystream_bias_stream_oready = ((_mystream_bias_sink_busy && (_mystream_bias_z_sink_sel == 3))? !fifo_c_almost_full : 1) && (((_mystream_bias_source_busy && (_mystream_bias_x_source_sel == 1))? !fifo_b_empty || _mystream_bias_x_idle : 1) && 1);
644650
reg [32-1:0] _mystream_bias_z_sink_fsm_2;
645651
localparam _mystream_bias_z_sink_fsm_2_init = 0;
646-
reg _set_flag_72;
652+
wire _set_flag_72;
653+
assign _set_flag_72 = th_comp == 31;
647654
assign _mystream_reduce_run_flag = (_set_flag_72)? 1 : 0;
648655
reg _tmp_73;
649656
reg _tmp_74;
@@ -693,7 +700,8 @@
693700
assign _mystream_reduce_sink_busy = _tmp_113;
694701
reg __mystream_reduce_sink_busy_1;
695702
assign _mystream_reduce_busy = _mystream_reduce_source_busy || _mystream_reduce_sink_busy || _mystream_reduce_busy_buf;
696-
reg _set_flag_114;
703+
wire _set_flag_114;
704+
assign _set_flag_114 = th_comp == 33;
697705
assign _mystream_bias_run_flag = (_set_flag_114)? 1 : 0;
698706
reg _tmp_115;
699707
reg _tmp_116;
@@ -1255,17 +1263,14 @@
12551263
_pulse_data_7 <= 1'sd0;
12561264
_pulse_count_7 <= 0;
12571265
_pulse_prev_count_max_7 <= 0;
1258-
_set_flag_30 <= 0;
12591266
_mystream_reduce_a_source_mode <= 4'b0;
12601267
_mystream_reduce_a_source_size <= 0;
12611268
_mystream_reduce_a_source_sel <= 0;
12621269
_mystream_reduce_a_source_size_buf <= 0;
12631270
__variable_wdata_0 <= 0;
12641271
_mystream_reduce_a_source_count <= 0;
1265-
_set_flag_33 <= 0;
12661272
_mystream_reduce_reduce_size_next_constant_data <= 0;
12671273
__variable_wdata_1 <= 0;
1268-
_set_flag_34 <= 0;
12691274
_tmp_35 <= 0;
12701275
_tmp_36 <= 0;
12711276
_tmp_37 <= 0;
@@ -1292,7 +1297,6 @@
12921297
_mystream_reduce_sum_sink_size_buf <= 0;
12931298
_mystream_reduce_sum_sink_count <= 0;
12941299
_mystream_reduce_sum_sink_fifo_wdata <= 0;
1295-
_set_flag_72 <= 0;
12961300
_tmp_73 <= 0;
12971301
_tmp_74 <= 0;
12981302
_tmp_75 <= 0;
@@ -1439,10 +1443,6 @@
14391443
if(__mystream_reduce_stream_ivalid_7 && _mystream_reduce_stream_oready) begin
14401444
_pulse_prev_count_max_7 <= _pulse_current_count_7 >= __delay_data_17__delay_16__delay_15__delay_14____variable_1 - 1;
14411445
end
1442-
_set_flag_30 <= 0;
1443-
if(th_comp == 25) begin
1444-
_set_flag_30 <= 1;
1445-
end
14461446
if(_set_flag_30) begin
14471447
_mystream_reduce_a_source_mode <= 4'b1000;
14481448
_mystream_reduce_a_source_size <= _th_comp_read_size_0;
@@ -1469,22 +1469,12 @@
14691469
_mystream_reduce_a_source_fifo_deq <= 0;
14701470
_mystream_reduce_a_idle <= 1;
14711471
end
1472-
_set_flag_33 <= 0;
1473-
if(th_comp == 26) begin
1474-
_set_flag_33 <= 1;
1475-
end
14761472
if(_set_flag_33) begin
14771473
_mystream_reduce_reduce_size_next_constant_data <= _th_comp_reduce_size_2;
14781474
end
14791475
if(_mystream_reduce_source_start) begin
14801476
__variable_wdata_1 <= _mystream_reduce_reduce_size_next_constant_data;
14811477
end
1482-
if(_mystream_reduce_stream_oready) begin
1483-
_set_flag_34 <= 0;
1484-
end
1485-
if(_mystream_reduce_stream_oready && (th_comp == 27)) begin
1486-
_set_flag_34 <= 1;
1487-
end
14881478
if(_mystream_reduce_stream_oready) begin
14891479
_tmp_35 <= _set_flag_34;
14901480
end
@@ -1564,10 +1554,6 @@
15641554
_mystream_reduce_sum_sink_fifo_enq <= 1;
15651555
_mystream_reduce_sum_sink_count <= _mystream_reduce_sum_sink_count - 1;
15661556
end
1567-
_set_flag_72 <= 0;
1568-
if(th_comp == 31) begin
1569-
_set_flag_72 <= 1;
1570-
end
15711557
if(_mystream_reduce_stream_oready) begin
15721558
_tmp_73 <= _mystream_reduce_source_start;
15731559
end
@@ -1745,9 +1731,15 @@
17451731
_mystream_reduce_source_stop <= 1;
17461732
_mystream_reduce_source_busy <= 0;
17471733
end
1734+
if(_mystream_reduce_stream_oready && (_mystream_reduce_a_idle && (_mystream_reduce_fsm == 3)) && _mystream_reduce_run_flag) begin
1735+
_mystream_reduce_source_start <= 1;
1736+
end
17481737
if(_mystream_reduce_stream_oready && (_mystream_reduce_a_idle && (_mystream_reduce_fsm == 3))) begin
17491738
_mystream_reduce_fsm <= _mystream_reduce_fsm_init;
17501739
end
1740+
if(_mystream_reduce_stream_oready && (_mystream_reduce_a_idle && (_mystream_reduce_fsm == 3)) && _mystream_reduce_run_flag) begin
1741+
_mystream_reduce_fsm <= _mystream_reduce_fsm_1;
1742+
end
17511743
end
17521744
endcase
17531745
end
@@ -1766,14 +1758,12 @@
17661758
_mystream_bias_z_sink_fifo_enq <= 0;
17671759
__mystream_bias_stream_ivalid_1 <= 0;
17681760
_plus_data_10 <= 0;
1769-
_set_flag_57 <= 0;
17701761
_mystream_bias_x_source_mode <= 4'b0;
17711762
_mystream_bias_x_source_size <= 0;
17721763
_mystream_bias_x_source_sel <= 0;
17731764
_mystream_bias_x_source_size_buf <= 0;
17741765
__variable_wdata_8 <= 0;
17751766
_mystream_bias_x_source_count <= 0;
1776-
_set_flag_60 <= 0;
17771767
_mystream_bias_y_source_mode <= 4'b0;
17781768
_mystream_bias_y_source_offset <= 0;
17791769
_mystream_bias_y_source_size <= 0;
@@ -1785,7 +1775,6 @@
17851775
__variable_wdata_9 <= 0;
17861776
_mystream_bias_y_source_ram_raddr <= 0;
17871777
_mystream_bias_y_source_count <= 0;
1788-
_set_flag_63 <= 0;
17891778
_tmp_64 <= 0;
17901779
_tmp_65 <= 0;
17911780
_tmp_66 <= 0;
@@ -1798,7 +1787,6 @@
17981787
_mystream_bias_z_sink_size_buf <= 0;
17991788
_mystream_bias_z_sink_count <= 0;
18001789
_mystream_bias_z_sink_fifo_wdata <= 0;
1801-
_set_flag_114 <= 0;
18021790
_tmp_115 <= 0;
18031791
_tmp_116 <= 0;
18041792
_tmp_117 <= 0;
@@ -1833,10 +1821,6 @@
18331821
if(_mystream_bias_stream_oready) begin
18341822
_plus_data_10 <= mystream_bias_x_data + mystream_bias_y_data;
18351823
end
1836-
_set_flag_57 <= 0;
1837-
if(th_comp == 28) begin
1838-
_set_flag_57 <= 1;
1839-
end
18401824
if(_set_flag_57) begin
18411825
_mystream_bias_x_source_mode <= 4'b1000;
18421826
_mystream_bias_x_source_size <= _th_comp_write_size_1;
@@ -1863,10 +1847,6 @@
18631847
_mystream_bias_x_source_fifo_deq <= 0;
18641848
_mystream_bias_x_idle <= 1;
18651849
end
1866-
_set_flag_60 <= 0;
1867-
if(th_comp == 29) begin
1868-
_set_flag_60 <= 1;
1869-
end
18701850
if(_set_flag_60) begin
18711851
_mystream_bias_y_source_mode <= 4'b1;
18721852
_mystream_bias_y_source_offset <= 0;
@@ -1899,12 +1879,6 @@
18991879
_mystream_bias_y_source_ram_renable <= 0;
19001880
_mystream_bias_y_idle <= 1;
19011881
end
1902-
if(_mystream_bias_stream_oready) begin
1903-
_set_flag_63 <= 0;
1904-
end
1905-
if(_mystream_bias_stream_oready && (th_comp == 30)) begin
1906-
_set_flag_63 <= 1;
1907-
end
19081882
if(_mystream_bias_stream_oready) begin
19091883
_tmp_64 <= _set_flag_63;
19101884
end
@@ -1942,10 +1916,6 @@
19421916
_mystream_bias_z_sink_fifo_enq <= 1;
19431917
_mystream_bias_z_sink_count <= _mystream_bias_z_sink_count - 1;
19441918
end
1945-
_set_flag_114 <= 0;
1946-
if(th_comp == 33) begin
1947-
_set_flag_114 <= 1;
1948-
end
19491919
if(_mystream_bias_stream_oready) begin
19501920
_tmp_115 <= _mystream_bias_source_start;
19511921
end
@@ -2038,9 +2008,15 @@
20382008
_mystream_bias_source_stop <= 1;
20392009
_mystream_bias_source_busy <= 0;
20402010
end
2011+
if(_mystream_bias_stream_oready && (_mystream_bias_x_idle && _mystream_bias_y_idle && (_mystream_bias_fsm == 3)) && _mystream_bias_run_flag) begin
2012+
_mystream_bias_source_start <= 1;
2013+
end
20412014
if(_mystream_bias_stream_oready && (_mystream_bias_x_idle && _mystream_bias_y_idle && (_mystream_bias_fsm == 3))) begin
20422015
_mystream_bias_fsm <= _mystream_bias_fsm_init;
20432016
end
2017+
if(_mystream_bias_stream_oready && (_mystream_bias_x_idle && _mystream_bias_y_idle && (_mystream_bias_fsm == 3)) && _mystream_bias_run_flag) begin
2018+
_mystream_bias_fsm <= _mystream_bias_fsm_1;
2019+
end
20442020
end
20452021
endcase
20462022
end

tests/extension/thread_/stream_axi_stream/test_thread_stream_axi_stream.py

Lines changed: 14 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -330,7 +330,8 @@
330330
reg signed [32-1:0] _plus_data_2;
331331
wire signed [32-1:0] mystream_c_data;
332332
assign mystream_c_data = _plus_data_2;
333-
reg _set_flag_27;
333+
wire _set_flag_27;
334+
assign _set_flag_27 = th_comp == 17;
334335
assign ram_a_0_addr = (_mystream_stream_oready && _mystream_a_source_ram_renable && (_mystream_a_source_sel == 1))? _mystream_a_source_ram_raddr : 0;
335336
assign ram_a_0_enable = (_mystream_stream_oready && _mystream_a_source_ram_renable && (_mystream_a_source_sel == 1))? 1'd1 : 0;
336337
localparam _tmp_28 = 1;
@@ -342,7 +343,8 @@
342343
assign mystream_a_data = __variable_wdata_0;
343344
reg [32-1:0] _mystream_a_source_fsm_0;
344345
localparam _mystream_a_source_fsm_0_init = 0;
345-
reg _set_flag_30;
346+
wire _set_flag_30;
347+
assign _set_flag_30 = th_comp == 18;
346348
assign ram_b_0_addr = (_mystream_stream_oready && _mystream_b_source_ram_renable && (_mystream_b_source_sel == 2))? _mystream_b_source_ram_raddr : 0;
347349
assign ram_b_0_enable = (_mystream_stream_oready && _mystream_b_source_ram_renable && (_mystream_b_source_sel == 2))? 1'd1 : 0;
348350
localparam _tmp_31 = 1;
@@ -354,7 +356,8 @@
354356
assign mystream_b_data = __variable_wdata_1;
355357
reg [32-1:0] _mystream_b_source_fsm_1;
356358
localparam _mystream_b_source_fsm_1_init = 0;
357-
reg _set_flag_33;
359+
wire _set_flag_33;
360+
assign _set_flag_33 = th_comp == 19;
358361
reg _tmp_34;
359362
reg _tmp_35;
360363
reg _tmp_36;
@@ -370,7 +373,8 @@
370373
assign ram_c_0_enable = (_mystream_stream_oready && _mystream_c_sink_wenable && (_mystream_c_sink_sel == 3))? 1'd1 : 0;
371374
reg [32-1:0] _mystream_c_sink_fsm_2;
372375
localparam _mystream_c_sink_fsm_2_init = 0;
373-
reg _set_flag_43;
376+
wire _set_flag_43;
377+
assign _set_flag_43 = th_comp == 20;
374378
assign _mystream_run_flag = (_set_flag_43)? 1 : 0;
375379
reg _tmp_44;
376380
reg _tmp_45;
@@ -853,7 +857,6 @@
853857
_mystream_c_sink_fifo_enq <= 0;
854858
__mystream_stream_ivalid_1 <= 0;
855859
_plus_data_2 <= 0;
856-
_set_flag_27 <= 0;
857860
_mystream_a_source_mode <= 4'b0;
858861
_mystream_a_source_offset <= 0;
859862
_mystream_a_source_size <= 0;
@@ -865,7 +868,6 @@
865868
__variable_wdata_0 <= 0;
866869
_mystream_a_source_ram_raddr <= 0;
867870
_mystream_a_source_count <= 0;
868-
_set_flag_30 <= 0;
869871
_mystream_b_source_mode <= 4'b0;
870872
_mystream_b_source_offset <= 0;
871873
_mystream_b_source_size <= 0;
@@ -877,7 +879,6 @@
877879
__variable_wdata_1 <= 0;
878880
_mystream_b_source_ram_raddr <= 0;
879881
_mystream_b_source_count <= 0;
880-
_set_flag_33 <= 0;
881882
_tmp_34 <= 0;
882883
_tmp_35 <= 0;
883884
_tmp_36 <= 0;
@@ -898,7 +899,6 @@
898899
_mystream_c_sink_waddr <= 0;
899900
_mystream_c_sink_count <= 0;
900901
_mystream_c_sink_wdata <= 0;
901-
_set_flag_43 <= 0;
902902
_tmp_44 <= 0;
903903
_tmp_45 <= 0;
904904
_tmp_46 <= 0;
@@ -933,10 +933,6 @@
933933
if(_mystream_stream_oready) begin
934934
_plus_data_2 <= mystream_a_data + mystream_b_data;
935935
end
936-
_set_flag_27 <= 0;
937-
if(th_comp == 17) begin
938-
_set_flag_27 <= 1;
939-
end
940936
if(_set_flag_27) begin
941937
_mystream_a_source_mode <= 4'b1;
942938
_mystream_a_source_offset <= _th_comp_offset_3;
@@ -969,10 +965,6 @@
969965
_mystream_a_source_ram_renable <= 0;
970966
_mystream_a_idle <= 1;
971967
end
972-
_set_flag_30 <= 0;
973-
if(th_comp == 18) begin
974-
_set_flag_30 <= 1;
975-
end
976968
if(_set_flag_30) begin
977969
_mystream_b_source_mode <= 4'b1;
978970
_mystream_b_source_offset <= _th_comp_offset_3;
@@ -1005,12 +997,6 @@
1005997
_mystream_b_source_ram_renable <= 0;
1006998
_mystream_b_idle <= 1;
1007999
end
1008-
if(_mystream_stream_oready) begin
1009-
_set_flag_33 <= 0;
1010-
end
1011-
if(_mystream_stream_oready && (th_comp == 19)) begin
1012-
_set_flag_33 <= 1;
1013-
end
10141000
if(_mystream_stream_oready) begin
10151001
_tmp_34 <= _set_flag_33;
10161002
end
@@ -1062,10 +1048,6 @@
10621048
_mystream_c_sink_wenable <= 1;
10631049
_mystream_c_sink_count <= _mystream_c_sink_count - 1;
10641050
end
1065-
_set_flag_43 <= 0;
1066-
if(th_comp == 20) begin
1067-
_set_flag_43 <= 1;
1068-
end
10691051
if(_mystream_stream_oready) begin
10701052
_tmp_44 <= _mystream_source_start;
10711053
end
@@ -1158,9 +1140,15 @@
11581140
_mystream_source_stop <= 1;
11591141
_mystream_source_busy <= 0;
11601142
end
1143+
if(_mystream_stream_oready && (_mystream_a_idle && _mystream_b_idle && (_mystream_fsm == 3)) && _mystream_run_flag) begin
1144+
_mystream_source_start <= 1;
1145+
end
11611146
if(_mystream_stream_oready && (_mystream_a_idle && _mystream_b_idle && (_mystream_fsm == 3))) begin
11621147
_mystream_fsm <= _mystream_fsm_init;
11631148
end
1149+
if(_mystream_stream_oready && (_mystream_a_idle && _mystream_b_idle && (_mystream_fsm == 3)) && _mystream_run_flag) begin
1150+
_mystream_fsm <= _mystream_fsm_1;
1151+
end
11641152
end
11651153
endcase
11661154
end

0 commit comments

Comments
 (0)