@@ -639,22 +639,28 @@ def __init__(self, var, pos):
639639 self .pos = pos
640640 self .subst = []
641641
642- def next (self , r ):
643- return Subst (self , r )
642+ def next (self , value , blk = False , ldelay = None , rdelay = None ):
643+ return Subst (self , value , blk = blk , ldelay = ldelay , rdelay = rdelay )
644644
645- def _add_subst (self , s ):
646- self .subst . append ( s )
645+ def write (self , value , blk = False , ldelay = None , rdelay = None ):
646+ return self .next ( value , blk = blk , ldelay = ldelay , rdelay = rdelay )
647647
648648 def bit_length (self ):
649649 if isinstance (var , _Variable ) and var .length is not None :
650650 return self .var .bit_length ()
651651 return 1
652652
653+ def _add_subst (self , s ):
654+ self .subst .append (s )
655+
656+ def _get_subst (self ):
657+ return self .subst
658+
653659 def __str__ (self ):
654660 return '' .join ([str (self .var ), '[' , str (self .pos ), ']' ])
655661
656- def __call__ (self , r ):
657- return self .next (r )
662+ def __call__ (self , value , blk = False , ldelay = None , rdelay = None ):
663+ return self .next (value , blk = blk , ldelay = ldelay , rdelay = rdelay )
658664
659665class Slice (_SpecialOperator ):
660666 def __init__ (self , var , msb , lsb ):
@@ -663,31 +669,37 @@ def __init__(self, var, msb, lsb):
663669 self .lsb = lsb
664670 self .subst = []
665671
666- def next (self , r ):
667- return Subst (self , r )
672+ def next (self , value , blk = False , ldelay = None , rdelay = None ):
673+ return Subst (self , value , blk = blk , ldelay = ldelay , rdelay = rdelay )
668674
669- def _add_subst (self , s ):
670- self .subst . append ( s )
675+ def write (self , value , blk = False , ldelay = None , rdelay = None ):
676+ return self .next ( value , blk = blk , ldelay = ldelay , rdelay = rdelay )
671677
672678 def bit_length (self ):
673679 return self .msb - self .lsb + 1
674680
681+ def _add_subst (self , s ):
682+ self .subst .append (s )
683+
684+ def _get_subst (self ):
685+ return self .subst
686+
675687 def __str__ (self ):
676688 return '' .join ([str (self .var ), '[' , str (self .msb ), ':' , str (self .lsb ), ']' ])
677689
678- def __call__ (self , r ):
679- return self .next (r )
690+ def __call__ (self , value , blk = False , ldelay = None , rdelay = None ):
691+ return self .next (value , blk = blk , ldelay = ldelay , rdelay = rdelay )
680692
681693class Cat (_SpecialOperator ):
682694 def __init__ (self , * vars ):
683695 self .vars = tuple (vars )
684696 self .subst = []
685697
686- def next (self , r ):
687- return Subst (self , r )
698+ def next (self , value , blk = False , ldelay = None , rdelay = None ):
699+ return Subst (self , value , blk = blk , ldelay = ldelay , rdelay = rdelay )
688700
689- def _add_subst (self , s ):
690- self .subst . append ( s )
701+ def write (self , value , blk = False , ldelay = None , rdelay = None ):
702+ return self .next ( value , blk = blk , ldelay = ldelay , rdelay = rdelay )
691703
692704 def bit_length (self ):
693705 values = [ v .bit_length () for v in self .vars ]
@@ -696,6 +708,12 @@ def bit_length(self):
696708 ret = ret + v
697709 return ret
698710
711+ def _add_subst (self , s ):
712+ self .subst .append (s )
713+
714+ def _get_subst (self ):
715+ return self .subst
716+
699717 def __str__ (self ):
700718 ret = []
701719 ret .append ('{' )
@@ -706,8 +724,8 @@ def __str__(self):
706724 ret .append ('}' )
707725 return '' .join (ret )
708726
709- def __call__ (self , r ):
710- return self .next (r )
727+ def __call__ (self , value , blk = False , ldelay = None , rdelay = None ):
728+ return self .next (value , blk = blk , ldelay = ldelay , rdelay = rdelay )
711729
712730class Repeat (_SpecialOperator ):
713731 def __init__ (self , var , times ):
@@ -731,7 +749,8 @@ def bit_length(self):
731749 raise NotImplementedError ('bit_length is not implemented on Cond.' )
732750
733751 def __str__ (self ):
734- return '' .join (['(' , str (self .condition ), ')?' , str (self .true_value ), ' : ' , str (self .false_value )])
752+ return '' .join (['(' , str (self .condition ), ')?' ,
753+ str (self .true_value ), ' : ' , str (self .false_value )])
735754
736755# Alias of Cond
737756Mux = Cond
0 commit comments