Skip to content

Commit a53ec85

Browse files
author
Mikolaj Romulski
committed
fixed Bug #101069 Signal widths for interface definitions not included in SV output
1 parent e1aa1d8 commit a53ec85

3 files changed

Lines changed: 5 additions & 9 deletions

File tree

examples/ir_examples/interconnect/design.yaml

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,6 @@ name: top
22
ips:
33
cpu:
44
file: file:ips/cpu.yaml
5-
wb_pass:
6-
file: file:ips/wb_passthrough.yaml
7-
parameters:
8-
DW: 8
95
mem:
106
file: file:ips/mem.yaml
117
parameters:
@@ -21,9 +17,6 @@ connections:
2117
rst: rst
2218
mem: *clkrst
2319
dsp: *clkrst
24-
interfaces:
25-
wb_pass:
26-
wb_in: ext_manager
2720

2821
interconnects:
2922
wishbone_bus:

topwrap/frontend/yaml/design.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -395,7 +395,7 @@ def get_refio_from_connection(
395395
) -> Optional[ReferencedInterface]:
396396
try:
397397
refio, _ = self._resolve_ref(des, name, ref)
398-
except:
398+
except DesignDescriptionFrontendException:
399399
# skip all externals, only ModuleInstances
400400
return None
401401
if not isinstance(refio, ReferencedInterface):

topwrap/frontend/yaml/ip_core.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -221,7 +221,10 @@ def _parse_intfs(self, desc: IPCoreDescription, mod: Module, types: dict[str, Lo
221221
if isinstance(port, Port):
222222
port = ReferencedPort.external(port)
223223

224-
signals[byname[sname]._id] = port
224+
# we have to update definition, because by default all signals are 1bit wide
225+
ifsg = byname[sname]
226+
ifsg.type = port.io.type
227+
signals[ifsg._id] = port
225228
else:
226229
signals[byname[sname]._id] = None
227230

0 commit comments

Comments
 (0)