Skip to content

Commit 9e7428f

Browse files
committed
SimulationPorts don't have a wire_up, so just handle as appapropriate
1 parent 61ee6bc commit 9e7428f

File tree

1 file changed

+12
-1
lines changed

1 file changed

+12
-1
lines changed

chipflow_lib/steps/__init__.py

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,4 +66,15 @@ def _wire_up_ports(m: Module, top, platform):
6666
wire = (iface if isinstance(iface.signature, IOSignature)
6767
else getattr(iface, name))
6868
port = platform._ports[port.port_name]
69-
port.wire_up(m, wire)
69+
if hasattr(port, 'wire_up'):
70+
port.wire_up(m, wire)
71+
else:
72+
inv_mask = sum(inv << bit for bit, inv in enumerate(port.invert))
73+
if hasattr(wire, 'i'):
74+
m.d.comb += wire.i.eq(port.i ^ inv_mask)
75+
if hasattr(wire, 'o'):
76+
m.d.comb += port.o.eq(wire.o ^ inv_mask)
77+
if hasattr(wire, 'oe'):
78+
m.d.comb += port.oe.eq(wire.oe)
79+
if hasattr(wire, 'ie'):
80+
m.d.comb += port.ie.eq(wire.ie)

0 commit comments

Comments
 (0)