Skip to content

Commit a06e168

Browse files
author
Yasuhiro Nitta
committed
support interval option in derived class of _Accumulator #54
1 parent 7aaed39 commit a06e168

File tree

1 file changed

+19
-19
lines changed

1 file changed

+19
-19
lines changed

veriloggen/stream/stypes.py

Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -2583,9 +2583,9 @@ def _implement(self, m, seq, svalid=None, senable=None):
25832583
class ReduceAdd(_Accumulator):
25842584
ops = (vtypes.Plus, )
25852585

2586-
def __init__(self, right, size=None, initval=0,
2586+
def __init__(self, right, size=None, initval=0, interval=None,
25872587
enable=None, reset=None, width=32, signed=True):
2588-
_Accumulator.__init__(self, right, size, initval,
2588+
_Accumulator.__init__(self, right, size, initval, interval,
25892589
enable, reset, width, signed)
25902590

25912591

@@ -2633,7 +2633,7 @@ def __init__(self, ops, right, size=None, initval=0,
26332633

26342634
class Counter(_Accumulator):
26352635

2636-
def __init__(self, size=None, step=1, initval=0, interval=1,
2636+
def __init__(self, size=None, step=1, initval=0, interval=None,
26372637
control=None, enable=None, reset=None, width=32, signed=False):
26382638

26392639
self.ops = (lambda x, y: x + step, )
@@ -2651,7 +2651,7 @@ def __init__(self, size=None, step=1, initval=0, interval=1,
26512651
class Pulse(_Accumulator):
26522652
ops = ()
26532653

2654-
def __init__(self, size, control=None, enable=None, reset=None):
2654+
def __init__(self, size, control=None, enable=None, reset=None, interval=None):
26552655

26562656
if control is None:
26572657
control = 0
@@ -2661,67 +2661,67 @@ def __init__(self, size, control=None, enable=None, reset=None):
26612661
width = 1
26622662
signed = False
26632663

2664-
_Accumulator.__init__(self, control, size, initval,
2664+
_Accumulator.__init__(self, control, size, initval, interval,
26652665
enable, reset, width, signed)
26662666
self.graph_label = 'Pulse'
26672667

26682668

2669-
def _ReduceValid(cls, right, size, initval=0,
2669+
def _ReduceValid(cls, right, size, initval=0, interval=None,
26702670
enable=None, reset=None, width=32, signed=True):
26712671

2672-
data = cls(right, size, initval,
2672+
data = cls(right, size, initval, interval,
26732673
enable, reset, width, signed)
26742674
valid = Pulse(size, right, enable, reset)
26752675

26762676
return data, valid
26772677

26782678

2679-
def ReduceAddValid(right, size, initval=0,
2679+
def ReduceAddValid(right, size, initval=0, interval=None,
26802680
enable=None, reset=None, width=32, signed=True):
26812681

26822682
cls = ReduceAdd
2683-
return _ReduceValid(cls, right, size, initval,
2683+
return _ReduceValid(cls, right, size, initval, interval,
26842684
enable, reset, width, signed)
26852685

26862686

2687-
def ReduceSubValid(right, size, initval=0,
2687+
def ReduceSubValid(right, size, initval=0, interval=None,
26882688
enable=None, reset=None, width=32, signed=True):
26892689

26902690
cls = ReduceSub
2691-
return _ReduceValid(cls, right, size, initval,
2691+
return _ReduceValid(cls, right, size, initval, interval,
26922692
enable, reset, width, signed)
26932693

26942694

2695-
def ReduceMulValid(right, size, initval=0,
2695+
def ReduceMulValid(right, size, initval=0, interval=None,
26962696
enable=None, reset=None, width=32, signed=True):
26972697

26982698
cls = ReduceMul
2699-
return _ReduceValid(cls, right, size, initval,
2699+
return _ReduceValid(cls, right, size, initval, interval,
27002700
enable, reset, width, signed)
27012701

27022702

2703-
def ReduceDivValid(right, size, initval=0,
2703+
def ReduceDivValid(right, size, initval=0, interval=None,
27042704
enable=None, reset=None, width=32, signed=True):
27052705

27062706
cls = ReduceDiv
2707-
return _ReduceValid(cls, right, size, initval,
2707+
return _ReduceValid(cls, right, size, initval, interval,
27082708
enable, reset, width, signed)
27092709

27102710

2711-
def ReduceCustomValid(ops, right, size, initval=0,
2711+
def ReduceCustomValid(ops, right, size, initval=0, interval=None,
27122712
enable=None, reset=None, width=32, signed=True):
27132713

2714-
data = ReduceCustom(ops, right, size, initval,
2714+
data = ReduceCustom(ops, right, size, initval, interval,
27152715
enable, reset, width, signed)
27162716
valid = Pulse(size, right, enable, reset)
27172717

27182718
return data, valid
27192719

27202720

2721-
def CounterValid(size, step=1, initval=None,
2721+
def CounterValid(size, step=1, initval=0, interval=None,
27222722
control=None, enable=None, reset=None, width=32, signed=False):
27232723

2724-
data = Counter(size, step, initval,
2724+
data = Counter(size, step, initval, interval,
27252725
control, enable, reset, width, signed)
27262726
valid = Pulse(size, control, enable, reset)
27272727

0 commit comments

Comments
 (0)