2 # vim: set fileencoding=utf8
10 def __init__(self
, name
, ports
):
11 """Create a new black box entity.
13 ports: a sequence of Port objects
21 if p
.direction
== "in":
23 elif p
.direction
== "out":
28 def __init__(self
, name
, inports
= [], outports
= [], inoutports
= []):
29 """Overloaded constructor, takes the port names from the
31 name: name of the entity
32 inports: list of names for the in ports
33 outports: list of names for the out ports
34 inoutports: list of names for the inout ports
42 self
.IN
.append(Port
.Port(p
, Port
.IN
, None))
44 self
.OUT
.append(Port
.Port(p
, Port
.OUT
, None))
46 self
.INOUT
.append(Port
.Port(p
, Port
.INOUT
, None))
49 s
= "<Entity: %s, %d ports" % (self
.name
, len(self
.IN
))
53 s
+= "\n%d. %s" % (i
, p
)
56 s
+= "\n%d. %s" % (i
, p
)
59 s
+= "\n%d. %s" % (i
, p
)
63 if __name__
== "__main__":
64 a
= Port
.Port("a", Port
.IN
, None)
65 b
= Port
.Port("b", Port
.IN
, None)
66 c
= Port
.Port("c", Port
.OUT
, None)
67 d
= Entity("d", ["1", "2"], ["3"], ["4"])
69 max = Entity("max", [a
,b
,c
])