@@ -2465,13 +2465,13 @@ class _Accumulator(_UnaryOperator):
24652465 latency = 1
24662466 ops = (vtypes .Plus , )
24672467
2468- def __init__ (self , right , size = None , initval = None , interval = None ,
2468+ def __init__ (self , right , size = None , interval = None , initval = None ,
24692469 dependency = None , enable = None , reset = None , width = 32 , signed = True ):
24702470
24712471 self .size = _to_constant (size ) if size is not None else None
2472+ self .interval = _to_constant (interval ) if interval is not None else None
24722473 self .initval = (_to_constant (initval )
24732474 if initval is not None else _to_constant (0 ))
2474- self .interval = _to_constant (interval ) if interval is not None else None
24752475
24762476 if not isinstance (self .initval , _Constant ):
24772477 raise TypeError ("initval must be Constant, not '%s'" %
@@ -2662,21 +2662,21 @@ def _implement(self, m, seq, svalid=None, senable=None):
26622662class ReduceAdd (_Accumulator ):
26632663 ops = (vtypes .Plus , )
26642664
2665- def __init__ (self , right , size = None , initval = 0 , interval = None ,
2665+ def __init__ (self , right , size = None , interval = None , initval = 0 ,
26662666 enable = None , reset = None , width = 32 , signed = True ):
26672667 dependency = None
2668- _Accumulator .__init__ (self , right , size , initval , interval ,
2668+ _Accumulator .__init__ (self , right , size , interval , initval ,
26692669 dependency , enable , reset , width , signed )
26702670 self .graph_label = 'ReduceAdd'
26712671
26722672
26732673class ReduceSub (_Accumulator ):
26742674 ops = (vtypes .Minus , )
26752675
2676- def __init__ (self , right , size = None , initval = 0 , interval = None ,
2676+ def __init__ (self , right , size = None , interval = None , initval = 0 ,
26772677 enable = None , reset = None , width = 32 , signed = True ):
26782678 dependency = None
2679- _Accumulator .__init__ (self , right , size , initval , interval ,
2679+ _Accumulator .__init__ (self , right , size , interval , initval ,
26802680 dependency , enable , reset , width , signed )
26812681 self .graph_label = 'ReduceSub'
26822682
@@ -2685,10 +2685,10 @@ class ReduceMul(_Accumulator):
26852685 latency = 1
26862686 ops = (vtypes .Times , )
26872687
2688- def __init__ (self , right , size = None , initval = 0 , interval = None ,
2688+ def __init__ (self , right , size = None , interval = None , initval = 0 ,
26892689 enable = None , reset = None , width = 32 , signed = True ):
26902690 dependency = None
2691- _Accumulator .__init__ (self , right , size , initval , interval ,
2691+ _Accumulator .__init__ (self , right , size , interval , initval ,
26922692 dependency , enable , reset , width , signed )
26932693 self .graph_label = 'ReduceMul'
26942694
@@ -2697,43 +2697,43 @@ class ReduceDiv(_Accumulator):
26972697 latency = 32
26982698 ops = ()
26992699
2700- def __init__ (self , right , size = None , initval = 0 , interval = None ,
2700+ def __init__ (self , right , size = None , interval = None , initval = 0 ,
27012701 enable = None , reset = None , width = 32 , signed = True ):
27022702 raise NotImplementedError ()
27032703 dependency = None
2704- _Accumulator .__init__ (self , right , size , initval , interval ,
2704+ _Accumulator .__init__ (self , right , size , interval , initval ,
27052705 dependency , enable , reset , width , signed )
27062706 self .graph_label = 'ReduceDiv'
27072707
27082708
27092709class ReduceMax (_Accumulator ):
27102710 ops = (lambda x , y : vtypes .Mux (x < y , y , x ), )
27112711
2712- def __init__ (self , right , size = None , initval = 0 , interval = None ,
2712+ def __init__ (self , right , size = None , interval = None , initval = 0 ,
27132713 enable = None , reset = None , width = 32 , signed = True ):
27142714 dependency = None
2715- _Accumulator .__init__ (self , right , size , initval , interval ,
2715+ _Accumulator .__init__ (self , right , size , interval , initval ,
27162716 dependency , enable , reset , width , signed )
27172717 self .graph_label = 'ReduceMax'
27182718
27192719
27202720class ReduceMin (_Accumulator ):
27212721 ops = (lambda x , y : vtypes .Mux (x > y , y , x ), )
27222722
2723- def __init__ (self , right , size = None , initval = 0 , interval = None ,
2723+ def __init__ (self , right , size = None , interval = None , initval = 0 ,
27242724 enable = None , reset = None , width = 32 , signed = True ):
27252725 dependency = None
2726- _Accumulator .__init__ (self , right , size , initval , interval ,
2726+ _Accumulator .__init__ (self , right , size , interval , initval ,
27272727 dependency , enable , reset , width , signed )
27282728 self .graph_label = 'ReduceMin'
27292729
27302730
27312731class ReduceCustom (_Accumulator ):
27322732
2733- def __init__ (self , ops , right , size = None , initval = 0 , interval = None ,
2733+ def __init__ (self , ops , right , size = None , interval = None , initval = 0 ,
27342734 enable = None , reset = None , width = 32 , signed = True , label = None ):
27352735 dependency = None
2736- _Accumulator .__init__ (self , right , size , initval , interval ,
2736+ _Accumulator .__init__ (self , right , size , interval , initval ,
27372737 dependency , enable , reset , width , signed )
27382738 if not isinstance (ops , (tuple , list )):
27392739 ops = tuple ([ops ])
@@ -2743,10 +2743,10 @@ def __init__(self, ops, right, size=None, initval=0, interval=None,
27432743
27442744class Counter (_Accumulator ):
27452745
2746- def __init__ (self , size = None , step = 1 , initval = 0 , interval = None ,
2746+ def __init__ (self , size = None , step = 1 , interval = None , initval = 0 ,
27472747 dependency = None , enable = None , reset = None , width = 32 , signed = False ):
27482748
2749- _Accumulator .__init__ (self , step , size , initval , interval ,
2749+ _Accumulator .__init__ (self , step , size , interval , initval ,
27502750 dependency , enable , reset , width , signed )
27512751 self .graph_label = 'Counter'
27522752
@@ -2827,7 +2827,8 @@ def _implement(self, m, seq, svalid=None, senable=None):
28272827class Pulse (_Accumulator ):
28282828 ops = ()
28292829
2830- def __init__ (self , size , dependency = None , enable = None , reset = None , interval = None ):
2830+ def __init__ (self , size , interval = None ,
2831+ dependency = None , enable = None , reset = None ):
28312832
28322833 right = 0
28332834 if dependency is not None :
@@ -2837,85 +2838,85 @@ def __init__(self, size, dependency=None, enable=None, reset=None, interval=None
28372838 width = 1
28382839 signed = False
28392840
2840- _Accumulator .__init__ (self , right , size , initval , interval ,
2841+ _Accumulator .__init__ (self , right , size , interval , initval ,
28412842 dependency , enable , reset , width , signed )
28422843 self .graph_label = 'Pulse'
28432844
28442845
2845- def _ReduceValid (cls , right , size , initval = 0 , interval = None ,
2846+ def _ReduceValid (cls , right , size , interval = None , initval = 0 ,
28462847 enable = None , reset = None , width = 32 , signed = True ):
28472848
2848- data = cls (right , size , initval , interval ,
2849+ data = cls (right , size , interval , initval ,
28492850 enable , reset , width , signed )
2850- valid = Pulse (size , right , enable , reset )
2851+ valid = Pulse (size , dependency = right , enable = enable , reset = reset )
28512852
28522853 return data , valid
28532854
28542855
2855- def ReduceAddValid (right , size , initval = 0 , interval = None ,
2856+ def ReduceAddValid (right , size , interval = None , initval = 0 ,
28562857 enable = None , reset = None , width = 32 , signed = True ):
28572858
28582859 cls = ReduceAdd
2859- return _ReduceValid (cls , right , size , initval , interval ,
2860+ return _ReduceValid (cls , right , size , interval , initval ,
28602861 enable , reset , width , signed )
28612862
28622863
2863- def ReduceSubValid (right , size , initval = 0 , interval = None ,
2864+ def ReduceSubValid (right , size , interval = None , initval = 0 ,
28642865 enable = None , reset = None , width = 32 , signed = True ):
28652866
28662867 cls = ReduceSub
2867- return _ReduceValid (cls , right , size , initval , interval ,
2868+ return _ReduceValid (cls , right , size , interval , initval ,
28682869 enable , reset , width , signed )
28692870
28702871
2871- def ReduceMulValid (right , size , initval = 0 , interval = None ,
2872+ def ReduceMulValid (right , size , interval = None , initval = 0 ,
28722873 enable = None , reset = None , width = 32 , signed = True ):
28732874
28742875 cls = ReduceMul
2875- return _ReduceValid (cls , right , size , initval , interval ,
2876+ return _ReduceValid (cls , right , size , interval , initval ,
28762877 enable , reset , width , signed )
28772878
28782879
2879- def ReduceDivValid (right , size , initval = 0 , interval = None ,
2880+ def ReduceDivValid (right , size , interval = None , initval = 0 ,
28802881 enable = None , reset = None , width = 32 , signed = True ):
28812882
28822883 cls = ReduceDiv
2883- return _ReduceValid (cls , right , size , initval , interval ,
2884+ return _ReduceValid (cls , right , size , interval , initval ,
28842885 enable , reset , width , signed )
28852886
28862887
2887- def ReduceMaxValid (right , size , initval = 0 , interval = None ,
2888+ def ReduceMaxValid (right , size , interval = None , initval = 0 ,
28882889 enable = None , reset = None , width = 32 , signed = True ):
28892890
28902891 cls = ReduceMax
2891- return _ReduceValid (cls , right , size , initval , interval ,
2892+ return _ReduceValid (cls , right , size , interval , initval ,
28922893 enable , reset , width , signed )
28932894
28942895
2895- def ReduceMinValid (right , size , initval = 0 , interval = None ,
2896+ def ReduceMinValid (right , size , interval = None , initval = 0 ,
28962897 enable = None , reset = None , width = 32 , signed = True ):
28972898
28982899 cls = ReduceMin
2899- return _ReduceValid (cls , right , size , initval , interval ,
2900+ return _ReduceValid (cls , right , size , interval , initval ,
29002901 enable , reset , width , signed )
29012902
29022903
2903- def ReduceCustomValid (ops , right , size , initval = 0 , interval = None ,
2904+ def ReduceCustomValid (ops , right , size , interval = None , initval = 0 ,
29042905 enable = None , reset = None , width = 32 , signed = True ):
29052906
2906- data = ReduceCustom (ops , right , size , initval , interval ,
2907+ data = ReduceCustom (ops , right , size , interval , initval ,
29072908 enable , reset , width , signed )
2908- valid = Pulse (size , right , enable , reset )
2909+ valid = Pulse (size , dependency = right , enable = enable , reset = reset )
29092910
29102911 return data , valid
29112912
29122913
2913- def CounterValid (size , step = 1 , initval = 0 , interval = None ,
2914+ def CounterValid (size , step = 1 , interval = None , initval = 0 ,
29142915 dependency = None , enable = None , reset = None , width = 32 , signed = False ):
29152916
2916- data = Counter (size , step , initval , interval ,
2917+ data = Counter (size , step , interval , initval ,
29172918 dependency , enable , reset , width , signed )
2918- valid = Pulse (size , dependency , enable , reset )
2919+ valid = Pulse (size , dependency = dependency , enable = enable , reset = reset )
29192920
29202921 return data , valid
29212922
@@ -3576,10 +3577,10 @@ def enable(self):
35763577 return _and_vars (vtypes .Not (self .args [2 ].sig_data ), when_cond )
35773578
35783579
3579- def ReduceArgMax (right , size = None , initval = 0 , interval = None ,
3580+ def ReduceArgMax (right , size = None , interval = None , initval = 0 ,
35803581 enable = None , reset = None , width = 32 , signed = True ):
35813582
3582- _max = ReduceMax (right , size , initval , interval ,
3583+ _max = ReduceMax (right , size , interval , initval ,
35833584 enable , reset , width , signed )
35843585 counter = Counter (size , dependency = right , enable = enable , reset = reset )
35853586 update = NotEq (_max , _max .prev (1 ))
@@ -3588,10 +3589,10 @@ def ReduceArgMax(right, size=None, initval=0, interval=None,
35883589 return index , _max
35893590
35903591
3591- def ReduceArgMin (right , size = None , initval = 0 , interval = None ,
3592+ def ReduceArgMin (right , size = None , interval = None , initval = 0 ,
35923593 enable = None , reset = None , width = 32 , signed = True ):
35933594
3594- _min = ReduceMin (right , size , initval , interval ,
3595+ _min = ReduceMin (right , size , interval , initval ,
35953596 enable , reset , width , signed )
35963597 counter = Counter (size , dependency = right , enable = enable , reset = reset )
35973598 update = NotEq (_min , reduce_min .prev (1 ))
@@ -3600,10 +3601,10 @@ def ReduceArgMin(right, size=None, initval=0, interval=None,
36003601 return index , _min
36013602
36023603
3603- def ReduceArgMaxValid (right , size = None , initval = 0 , interval = None ,
3604+ def ReduceArgMaxValid (right , size = None , interval = None , initval = 0 ,
36043605 enable = None , reset = None , width = 32 , signed = True ):
36053606
3606- _max , valid = ReduceMaxValid (right , size , initval , interval ,
3607+ _max , valid = ReduceMaxValid (right , size , interval , initval ,
36073608 enable , reset , width , signed )
36083609 counter = Counter (size , dependency = right , enable = enable , reset = reset )
36093610 update = NotEq (_max , _max .prev (1 ))
@@ -3612,10 +3613,10 @@ def ReduceArgMaxValid(right, size=None, initval=0, interval=None,
36123613 return index , _max , valid
36133614
36143615
3615- def ReduceArgMinValid (right , size = None , initval = 0 , interval = None ,
3616+ def ReduceArgMinValid (right , size = None , interval = None , initval = 0 ,
36163617 enable = None , reset = None , width = 32 , signed = True ):
36173618
3618- _min , valid = ReduceMinValid (right , size , initval , interval ,
3619+ _min , valid = ReduceMinValid (right , size , interval , initval ,
36193620 enable , reset , width , signed )
36203621 counter = Counter (size , dependency = right , enable = enable , reset = reset )
36213622 update = NotEq (_min , _min .prev (1 ))
0 commit comments