Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support for signals that have hierarchy #46

Open
kirill-bessonov opened this issue Apr 12, 2022 · 0 comments
Open

Support for signals that have hierarchy #46

kirill-bessonov opened this issue Apr 12, 2022 · 0 comments

Comments

@kirill-bessonov
Copy link

kirill-bessonov commented Apr 12, 2022

cocotb==1.6.2
cocotbext-axi==0.1.16
Questa Sim-64 Version 10.7f

Hello,

I've discovered a problem while using cocotbext-axi library:
alexforencich/cocotbext-axi#40 (comment)
The problem: When inheriting cocotb's Bus class, it assumed that all top signals of the bus are simple bit-vectors. In such case each signal of the bus represented by "ModifiableObject" which has "setimmediatevalue()" method. But SystemVerilog allows to create user-defined types and hence top signals can contain hierarchy.
In my case TUSER signal of AXI bus has inner hierarchy and as I see it represented by "HierarchyObject" which does not has "setimmediatevalue()" method. When AXI driver tries to set all wires in TUSER to some value, the error occurs because HierarchyObject does not has neither "value" member or "setimmediatevalue()" method.
In SystemVerilog struct packed construct is equivalent to the same-length bit-vector. So how can one set whole bus to some value if this bus contains hierarchy?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant