The following figure shows a simple decoupler that decouples a single signal.
- When the decouple input is 0, the
rp_A
input is passed unchanged to thes_A
output. - When the decouple input is 1, the
rp_A
input is decoupled from thes_A
output, ands_A
is driven to a constant value.
Configuring a DFX Decoupler core to decouple the static from a Reconfigurable Partition can be time consuming when done one signal at a time, so the DFX Decoupler core has been designed to be interface aware.
According to the Vivado Design Suite User Guide: Designing IP Subsystems using IP Integrator (UG994),
“An interface is a grouping of signals that share a common function. An AXI4-Lite master, for example, contains a large number of individual signals plus multiple buses, which are all required to make a connection. If each signal or bus is visible individually on an IP symbol, the symbol will be visually very complex. By grouping these signals and buses into an interface, the following advantages can be realized. First, a single connection in IP integrator (or Tcl command) will make a master to slave connection. Next, the graphical representation of this connection will be simple - a single connection. Finally, Design Rule Checks (DRCs) that are aware of the specific interface can be run to assure that all the required signals are connected properly.”
In the simplest case, an interface can contain one signal, such as CLOCK
, DATA
, or RESET
.
By specifying a defined interface, the DFX Decoupler core can create the appropriate code for all signals in the interface. For example, the following figure shows a full decoupler when the AXI4-Stream interface is selected.
The decoupling behavior for each decoupled interface can be customized. With the exception of the AXI4 interfaces listed in the following table, all signals in each interface are present and decoupled to 0. Decoupling all signals in an interface can waste resources, so the common interfaces in the following table have different defaults.
Interface | Signal Decoupling Behavior |
---|---|
AXI4-Stream |
Only the TVALID and TREADY signals are decoupled. TID, TDEST, TSTRB, TUSER, and TKEEP signals are not present by default. |
AXI4-MM |
Only the channel VALID and READY signals are decoupled. The channel USER, LAST, ID, LOCK, CACHE, PROT, REGION, and QoS signals are not present by default. Additionally, when the PROTOCOL parameter is set to:
|
The following figure shows the default implementation for an AXI4-Stream decoupler.
The examples given so far have shown a decoupler that decouples a master interface on a Reconfigurable Partition. A master interface is one which initiates transactions, and a slave interface is one that responds to transactions. In the case of an interface with one signal, the master interface is the one that drives the signal, and the slave interface is the one that receives the signal. The DFX Decoupler core can also decouple slave interfaces on a Reconfigurable Partition, as shown in the following figure.
The previous figure also shows that one instance of a decoupler can decouple multiple Reconfigurable Partition interfaces. These can be of any interface type.