Skip to content

Commit 97b197a

Browse files
committed
LandList and LorList are added.
1 parent bb79593 commit 97b197a

File tree

2 files changed

+24
-1
lines changed

2 files changed

+24
-1
lines changed

veriloggen/veriloggen.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,11 @@
1515
import module
1616
from module import Module
1717
import vtypes
18-
from vtypes import Posedge, Negedge, Subst, If, For, While, Bit, Slice, Cond, Not, Unot, Ulnot, Land, Lor
18+
from vtypes import (Posedge, Negedge, Subst,
19+
If, For, While,
20+
Bit, Slice, Cond,
21+
Not, Unot, Ulnot, Land, Lor,
22+
LandList, LorList)
1923

2024
#-------------------------------------------------------------------------------
2125
if __name__ == '__main__':

veriloggen/vtypes.py

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -140,6 +140,25 @@ class Lor(_BinaryOperator): pass
140140
class Unot(_UnaryOperator): pass
141141
class Ulnot(_UnaryOperator): pass
142142
Not = Unot
143+
def LandList(*args):
144+
if len(args) == 0:
145+
raise ValueError("LandList requires at least one argument.")
146+
if len(args) == 1:
147+
return args[0]
148+
left = args[0]
149+
for right in args[1:]:
150+
left = Land(left, right)
151+
return left
152+
153+
def LorList(*args):
154+
if len(args) == 0:
155+
raise ValueError("LorList requires at least one argument.")
156+
if len(args) == 1:
157+
return args[0]
158+
left = args[0]
159+
for right in args[1:]:
160+
left = Lor(left, right)
161+
return left
143162

144163
#-------------------------------------------------------------------------------
145164
class _SpecialOperator(_Operator):

0 commit comments

Comments
 (0)