You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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?
The text was updated successfully, but these errors were encountered:
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?
The text was updated successfully, but these errors were encountered: