@@ -694,7 +694,10 @@ def write_fifo(self, name, data, when=None):
694694
695695 def set_source (self , fsm , name , ram , offset , size , stride = 1 , port = 0 ):
696696 """ intrinsic method to assign RAM property to a source stream """
697+ self ._set_source (fsm , name , ram , offset , size , stride , port )
698+ fsm .goto_next ()
697699
700+ def _set_source (self , fsm , name , ram , offset , size , stride = 1 , port = 0 ):
698701 if not self .stream_synthesized :
699702 self ._implement_stream ()
700703
@@ -727,11 +730,12 @@ def set_source(self, fsm, name, ram, offset, size, stride=1, port=0):
727730 self ._setup_source_ram (ram , var , port , set_cond )
728731 self ._synthesize_set_source (var , name )
729732
730- fsm .goto_next ()
731-
732733 def set_source_pattern (self , fsm , name , ram , offset , pattern , port = 0 ):
733734 """ intrinsic method to assign RAM property to a source stream """
735+ self ._set_source_pattern (fsm , name , ram , offset , pattern , port )
736+ fsm .goto_next ()
734737
738+ def _set_source_pattern (self , fsm , name , ram , offset , pattern , port = 0 ):
735739 if not self .stream_synthesized :
736740 self ._implement_stream ()
737741
@@ -791,20 +795,24 @@ def set_source_pattern(self, fsm, name, ram, offset, pattern, port=0):
791795 self ._setup_source_ram (ram , var , port , set_cond )
792796 self ._synthesize_set_source_pattern (var , name )
793797
794- fsm .goto_next ()
795-
796798 def set_source_multidim (self , fsm , name , ram , offset , shape , order = None , port = 0 ):
797799 """ intrinsic method to assign RAM property to a source stream """
800+ self ._set_source_multidim (fsm , name , ram , offset , shape , order , port )
801+ fsm .goto_next ()
798802
803+ def _set_source_multidim (self , fsm , name , ram , offset , shape , order = None , port = 0 ):
799804 if order is None :
800805 order = list (reversed (range (len (shape ))))
801806
802807 pattern = self ._to_pattern (shape , order )
803- return self .set_source_pattern (fsm , name , ram , offset , pattern , port )
808+ self ._set_source_pattern (fsm , name , ram , offset , pattern , port )
804809
805810 def set_source_multipattern (self , fsm , name , ram , offsets , patterns , port = 0 ):
806811 """ intrinsic method to assign multiple patterns to a RAM """
812+ self ._set_source_multipattern (fsm , name , ram , offsets , patterns , port )
813+ fsm .goto_next ()
807814
815+ def _set_source_multipattern (self , fsm , name , ram , offsets , patterns , port = 0 ):
808816 if not self .stream_synthesized :
809817 self ._implement_stream ()
810818
@@ -892,10 +900,12 @@ def set_source_multipattern(self, fsm, name, ram, offsets, patterns, port=0):
892900 self ._setup_source_ram (ram , var , port , set_cond )
893901 self ._synthesize_set_source_multipattern (var , name )
894902
895- fsm .goto_next ()
896-
897903 def set_source_generator (self , fsm , name , ram , func , initvals , args = (), port = 0 ):
904+ """ intrinsic method to assign address generator function to a source stream """
905+ self ._set_source_generator (fsm , name , ram , func , initvals , args , port )
906+ fsm .goto_next ()
898907
908+ def _set_source_generator (self , fsm , name , ram , func , initvals , args = (), port = 0 ):
899909 if not isinstance (initvals , (tuple , list )):
900910 raise TypeError ('initvals be 1 tuple or list.' )
901911
@@ -930,11 +940,12 @@ def set_source_generator(self, fsm, name, ram, func, initvals, args=(), port=0):
930940 self ._setup_source_ram (ram , var , port , set_cond )
931941 self ._synthesize_set_source_generator (var , name , func , initvals , args )
932942
933- fsm .goto_next ()
934-
935943 def set_source_fifo (self , fsm , name , fifo , size ):
936944 """ intrinsic method to assign FIFO property to a source stream """
945+ self ._set_source_fifo (fsm , name , fifo , size )
946+ fsm .goto_next ()
937947
948+ def _set_source_fifo (self , fsm , name , fifo , size ):
938949 if not self .stream_synthesized :
939950 self ._implement_stream ()
940951
@@ -964,10 +975,11 @@ def set_source_fifo(self, fsm, name, fifo, size):
964975 self ._setup_source_fifo (fifo , var , set_cond )
965976 self ._synthesize_set_source_fifo (var , name )
966977
967- fsm .goto_next ()
968-
969978 def set_source_empty (self , fsm , name , value = 0 ):
979+ self ._set_source_empty (fsm , name , value )
980+ fsm .goto_next ()
970981
982+ def _set_source_empty (self , fsm , name , value = 0 ):
971983 if not self .stream_synthesized :
972984 self ._implement_stream ()
973985
@@ -1011,11 +1023,12 @@ def set_source_empty(self, fsm, name, value=0):
10111023
10121024 var .has_source_empty = True
10131025
1014- fsm .goto_next ()
1015-
10161026 def set_sink (self , fsm , name , ram , offset , size , stride = 1 , port = 0 ):
10171027 """ intrinsic method to assign RAM property to a sink stream """
1028+ self ._set_sink (fsm , name , ram , offset , size , stride , port )
1029+ fsm .If (self .oready ).goto_next ()
10181030
1031+ def _set_sink (self , fsm , name , ram , offset , size , stride = 1 , port = 0 ):
10191032 if not self .stream_synthesized :
10201033 self ._implement_stream ()
10211034
@@ -1052,11 +1065,12 @@ def set_sink(self, fsm, name, ram, offset, size, stride=1, port=0):
10521065 self ._setup_sink_ram (ram , var , port , set_cond )
10531066 self ._synthesize_set_sink (var , name )
10541067
1055- fsm .If (self .oready ).goto_next ()
1056-
10571068 def set_sink_pattern (self , fsm , name , ram , offset , pattern , port = 0 ):
10581069 """ intrinsic method to assign RAM property to a sink stream """
1070+ self ._set_sink_pattern (fsm , name , ram , offset , pattern , port )
1071+ fsm .If (self .oready ).goto_next ()
10591072
1073+ def _set_sink_pattern (self , fsm , name , ram , offset , pattern , port = 0 ):
10601074 if not self .stream_synthesized :
10611075 self ._implement_stream ()
10621076
@@ -1122,20 +1136,24 @@ def set_sink_pattern(self, fsm, name, ram, offset, pattern, port=0):
11221136 self ._setup_sink_ram (ram , var , port , set_cond )
11231137 self ._synthesize_set_sink_pattern (var , name )
11241138
1125- fsm .If (self .oready ).goto_next ()
1126-
11271139 def set_sink_multidim (self , fsm , name , ram , offset , shape , order = None , port = 0 ):
11281140 """ intrinsic method to assign RAM property to a sink stream """
1141+ self ._set_sink_multidim (fsm , name , ram , offset , shape , order , port )
1142+ fsm .If (self .oready ).goto_next ()
11291143
1144+ def _set_sink_multidim (self , fsm , name , ram , offset , shape , order = None , port = 0 ):
11301145 if order is None :
11311146 order = list (reversed (range (len (shape ))))
11321147
11331148 pattern = self ._to_pattern (shape , order )
1134- return self .set_sink_pattern (fsm , name , ram , offset , pattern , port )
1149+ self ._set_sink_pattern (fsm , name , ram , offset , pattern , port )
11351150
11361151 def set_sink_multipattern (self , fsm , name , ram , offsets , patterns , port = 0 ):
11371152 """ intrinsic method to assign multiple patterns to a RAM """
1153+ self ._set_sink_multipattern (fsm , name , ram , offsets , patterns , port )
1154+ fsm .If (self .oready ).goto_next ()
11381155
1156+ def _set_sink_multipattern (self , fsm , name , ram , offsets , patterns , port = 0 ):
11391157 if not self .stream_synthesized :
11401158 self ._implement_stream ()
11411159
@@ -1231,10 +1249,12 @@ def set_sink_multipattern(self, fsm, name, ram, offsets, patterns, port=0):
12311249 self ._setup_sink_ram (ram , var , port , set_cond )
12321250 self ._synthesize_set_sink_multipattern (var , name )
12331251
1234- fsm .If (self .oready ).goto_next ()
1235-
12361252 def set_sink_generator (self , fsm , name , ram , func , initvals , args = (), port = 0 ):
1253+ """ intrinsic method to assign address generator function to a sink stream """
1254+ self ._set_sink_generator (fsm , name , ram , func , initvals , args , port )
1255+ fsm .If (self .oready ).goto_next ()
12371256
1257+ def _set_sink_generator (self , fsm , name , ram , func , initvals , args = (), port = 0 ):
12381258 if not self .stream_synthesized :
12391259 self ._implement_stream ()
12401260
@@ -1271,11 +1291,12 @@ def set_sink_generator(self, fsm, name, ram, func, initvals, args=(), port=0):
12711291 self ._setup_sink_ram (ram , var , port , set_cond )
12721292 self ._synthesize_set_sink_generator (var , name , func , initvals , args )
12731293
1274- fsm .If (self .oready ).goto_next ()
1275-
12761294 def set_sink_fifo (self , fsm , name , fifo , size ):
12771295 """ intrinsic method to assign FIFO property to a sink stream """
1296+ self ._set_sink_fifo (fsm , name , fifo , size )
1297+ fsm .If (self .oready ).goto_next ()
12781298
1299+ def _set_sink_fifo (self , fsm , name , fifo , size ):
12791300 if not self .stream_synthesized :
12801301 self ._implement_stream ()
12811302
@@ -1307,11 +1328,12 @@ def set_sink_fifo(self, fsm, name, fifo, size):
13071328 self ._setup_sink_fifo (fifo , var , set_cond )
13081329 self ._synthesize_set_sink_fifo (var , name )
13091330
1310- fsm .If (self .oready ).goto_next ()
1311-
13121331 def set_sink_immediate (self , fsm , name , size ):
13131332 """ intrinsic method to set a sink stream as an immediate variable """
1333+ self ._set_sink_immediate (fsm , name , size )
1334+ fsm .If (self .oready ).goto_next ()
13141335
1336+ def _set_sink_immediate (self , fsm , name , size ):
13151337 if not self .stream_synthesized :
13161338 self ._implement_stream ()
13171339
@@ -1348,11 +1370,12 @@ def set_sink_immediate(self, fsm, name, size):
13481370
13491371 self ._synthesize_set_sink_immediate (var , name )
13501372
1351- fsm .If (self .oready ).goto_next ()
1352-
13531373 def set_sink_empty (self , fsm , name ):
13541374 """ intrinsic method to assign RAM property to a sink stream """
1375+ self ._set_sink_empty (fsm , name )
1376+ fsm .If (self .oready ).goto_next ()
13551377
1378+ def _set_sink_empty (self , fsm , name ):
13561379 if not self .stream_synthesized :
13571380 self ._implement_stream ()
13581381
@@ -1380,11 +1403,12 @@ def set_sink_empty(self, fsm, name):
13801403 ram_sel (0 ) # '0' is reserved for empty
13811404 )
13821405
1383- fsm .If (self .oready ).goto_next ()
1384-
13851406 def set_parameter (self , fsm , name , value , raw = False ):
13861407 """ intrinsic method to assign parameter value to a parameter stream """
1408+ self ._set_parameter (fsm , name , value , raw )
1409+ fsm .goto_next ()
13871410
1411+ def _set_parameter (self , fsm , name , value , raw = False ):
13881412 if not self .stream_synthesized :
13891413 self ._implement_stream ()
13901414
@@ -1417,11 +1441,12 @@ def set_parameter(self, fsm, name, value, raw=False):
14171441 var .write (var .next_parameter_data , self .source_start )
14181442 var .has_parameter_data = True
14191443
1420- fsm .goto_next ()
1421-
14221444 def set_read_RAM (self , fsm , name , ram , port = 0 ):
14231445 """ intrinsic method to assign RAM property to a read_RAM interface """
1446+ self ._set_read_RAM (fsm , name , ram , port )
1447+ fsm .goto_next ()
14241448
1449+ def _set_read_RAM (self , fsm , name , ram , port = 0 ):
14251450 if not self .stream_synthesized :
14261451 self ._implement_stream ()
14271452
@@ -1446,11 +1471,12 @@ def set_read_RAM(self, fsm, name, ram, port=0):
14461471 port = vtypes .to_int (port )
14471472 self ._setup_read_ram (ram , var , port , set_cond )
14481473
1449- fsm .goto_next ()
1450-
14511474 def set_write_RAM (self , fsm , name , ram , port = 0 ):
14521475 """ intrinsic method to assign RAM property to a write_RAM interface """
1476+ self ._set_write_RAM (fsm , name , ram , port )
1477+ fsm .goto_next ()
14531478
1479+ def _set_write_RAM (self , fsm , name , ram , port = 0 ):
14541480 if not self .stream_synthesized :
14551481 self ._implement_stream ()
14561482
@@ -1475,10 +1501,11 @@ def set_write_RAM(self, fsm, name, ram, port=0):
14751501 port = vtypes .to_int (port )
14761502 self ._setup_write_ram (ram , var , port , set_cond )
14771503
1478- fsm .goto_next ()
1479-
14801504 def set_read_modify_write_RAM (self , fsm , name , ram , read_ports = None , write_port = None ):
1505+ self ._set_read_modify_write_RAM (fsm , name , ram , read_ports , write_port )
1506+ fsm .goto_next ()
14811507
1508+ def _set_read_modify_write_RAM (self , fsm , name , ram , read_ports = None , write_port = None ):
14821509 if not self .stream_synthesized :
14831510 self ._implement_stream ()
14841511
@@ -1508,15 +1535,17 @@ def set_read_modify_write_RAM(self, fsm, name, ram, read_ports=None, write_port=
15081535
15091536 for i , (read_ram , read_port ) in enumerate (zip (read_rams , read_ports )):
15101537 read_name = read_ram
1511- self .set_read_RAM (fsm , read_name , ram , port = read_port )
1512- fsm ._set_index (fsm .current - 1 )
1538+ self ._set_read_RAM (fsm , read_name , ram , port = read_port )
15131539
15141540 write_name = write_ram
1515- self .set_write_RAM (fsm , write_name , ram , port = write_port )
1541+ self ._set_write_RAM (fsm , write_name , ram , port = write_port )
15161542
15171543 def set_read_fifo (self , fsm , name , fifo ):
15181544 """ intrinsic method to assign FIFO property to a read_fifo interface """
1545+ self ._set_read_fifo (fsm , name , fifo )
1546+ fsm .goto_next ()
15191547
1548+ def _set_read_fifo (self , fsm , name , fifo ):
15201549 if not self .stream_synthesized :
15211550 self ._implement_stream ()
15221551
@@ -1540,11 +1569,12 @@ def set_read_fifo(self, fsm, name, fifo):
15401569
15411570 self ._setup_read_fifo (fifo , var , set_cond )
15421571
1543- fsm .goto_next ()
1544-
15451572 def set_write_fifo (self , fsm , name , fifo ):
15461573 """ intrinsic method to assign FIFO property to a write_fifo interface """
1574+ self ._set_write_fifo (fsm , name , fifo )
1575+ fsm .goto_next ()
15471576
1577+ def _set_write_fifo (self , fsm , name , fifo ):
15481578 if not self .stream_synthesized :
15491579 self ._implement_stream ()
15501580
@@ -1568,8 +1598,6 @@ def set_write_fifo(self, fsm, name, fifo):
15681598
15691599 self ._setup_write_fifo (fifo , var , set_cond )
15701600
1571- fsm .goto_next ()
1572-
15731601 def read_sink (self , fsm , name ):
15741602 """ intrinsic method to read the last output of a sink stream """
15751603
0 commit comments