Once the project has been turned into a DFX project, RPs can be defined within the RTL source hierarchy. Appropriate instances within the design hierarchy are those that:
- Are defined by RTL, IP or EDIF sources
- Do not pass parameter and generic values to that level of hierarchy from above. Parameters and generics can exist on the RP boundary but must be evaluated locally prior to partition creation.
- Do not contain out-of-context (other than IP) or EDIF modules in the underlying RTL
- Do not have IP, DCP or EDIF as the top level
- Do not contain block diagram (.bd) sources
- Right-click on the desired module and select Create
Partition Definition to begin the process of RP
creation. This module can be a black box if design sources do not yet
exist.Figure 1. Creating a Reconfigurable Partition
- In the next dialog box that appears, give this partition
definition a unique name. Also define a name for the first RM. This RM
is created from the RTL or netlist sources currently residing in this
level of hierarchy. More RM are added or created later in the flow.Important: Every instance of the selected module is turned into a RP. In order for one instance to be defined as reconfigurable and another instance to remain static, the two instances must be given unique module names.Figure 2. Defining the Reconfigurable Partition and the First Reconfigurable Module
- After clicking OK, this module displays differently in the Vivado IDE. Each instance of the module
is shown in the Hierarchy view with a diamond, indicating that it is a
RP. The design sources are moved to the Partition
Definitions view to be managed separately.
Repeat this step for all unique RPs required within the design.Figure 3. Partition Definitions as Seen in the Sources Window
- Right-click on the desired module and select Create Partition Definition to begin the process of RP creation. This module can be a black box if design sources do not yet exist.