Interfaces are decoupled by inserting multiplexors between the inputs and outputs, which in some cases can prevent timing closure. Each interface can be individually configured to use registers instead of multiplexors. This introduces some restrictions and, in some cases, might prevent the system from working if the VLNV being decoupled cannot handle the added latency.
AXI Memory Mapped and AXI4-Stream interfaces are registered using the AXI Memory Mapped and AXI4-Stream register slice IPs respectively, which add the following constraints to these interfaces:
- The interface must be protocol compliant.
- All mandatory signals must be present with the correct widths and directions.
- All prohibited signals must be disabled.
- Signals can only be decoupled to 0.
- Only the
valid
andready
signals are decoupled.
For all other interfaces types, the following rules apply:
- Registers are inserted without any consideration of the effects on the functionality of the interface protocol.
- Signals marked as clocks in the XML that defines the VLNV will not be registered.
- Signals configured to be implemented using buffer primitives are registered on the input to the buffer.