Reply To: Optional ports on AXI stream transmitter and receiver cannot be left unused

Why OSVVM™? Forums OSVVM Optional ports on AXI stream transmitter and receiver cannot be left unused Reply To: Optional ports on AXI stream transmitter and receiver cannot be left unused

#2502
Jim Lewis
Member

Hi Hassan
The AXI interface has a number of optional signals. How to handle these is the interesting proposition. Their width can be configured. The current VC leaves them unconstrained. This means they have to be connected, even if unused and connected to a 0 width std_logic_vector(0 downto 1).

That said, can their impact be minimized. The package AxiStreamGenericSignalsPkg is meant to be instantiated as a local package in the testbench. This will create all of these signals with the proper sizing. Furthermore, if you have two of these packages, you can reference the signals internal to them using packageInstanceName.SignalName notation. At one point, one of the testbenches worked this way, but it was replaced with a simpler implementation since it was crashing some tools. I think it is time to add that test case back as it will simplify situations such as yours.

Adding generics to the ports does not seem like it would simplify things too much. OTOH, making the axi stream port a record type with unconstrained elements – like AXI4 – might simplify it in that only one signal would need to be declared.

Best Regards,
Jim