13. Conduit BFM
- Port compatibility and polarity
- Legal port widths
An Avalon Conduit interface can have an arbitrary number of ports. Conduit ports can have the following characteristics:
- Conduit ports can be an input, output, or bidirectional
- Conduit port widths can range from 1-1024 bits
- Conduit ports have an associated role name. This role name is an arbitrary string. Qsys uses the role name to verify conduit interconnect compatibility between components.
- A conduit port connection is legal when two conduit interconnected components have the same port role names and complementary directions. For example, when an input connects with an output, the connection is legal.
- A conduit port can also have a specific role named export. Ports with this role name are exported from the current system design module to the Conduit BFM module I/O.
The conduit API constructs or deconstructs transactions. Transactions are driven out on the physical conduit interface.
To simulating conduit interfaces, you must understand the following points:
- At the beginning of the simulation, registers that store data sent to the output ports are empty.
- The Conduit BFM drives ‘x’ to the output ports until you rewrite the registers by calling the set_<role name> API.
- Initially, bidirectional ports work as input ports. You can change conduit port functionality by calling the set_<role name>_oe API.
- The Conduit BFM prints a message when a bidirectional port changes from an input to an output, and vice versa.
- Bidirectional ports drive register values to the interface when this API is set to 1. Otherwise, bidirectional ports work as input ports.
- You can call the get_<role name> API to obtain the value coming from the input and bidirectional ports.
Did you find the information on this page useful?