UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

AR# 60908

Vivado Partial Reconfiguration - How to add Reconfigurable Modules with multiple netlists into the design

Description

How can I add Reconfigurable Modules (RM) with multiple netlists into my design?

Solution

If a Reconfigurable Module has sub-module netlists, it can be difficult for the Vivado tools to process the sub-module netlists.

This is because in the Partial Reconfiguration (PR) flow the RM netlists are added to a design that is already open in memory.

This means that the update_design -cells command must be used, which requires the cell name for every EDIF file, which can be difficult to get.  

There are two ways to make loading RM sub-module netlists easier in Vivado Design Suite.

Method 1: Create a Single RM Checkpoint (DCP)
 
Create an RM checkpoint (DCP) that includes all netlists.

In this case all of the EDIF (or NGC) files can be added using add_files, and link_design can be used to resolve the EDIF files to their respective cells.
 
Here is an example of the commands used in this process:
 

add_files [list rm.edf ip_1.edf ip_n.edf]
# Run if RM XDC exists
add_files rm.xdc
link_design -top <rm_module> -part <part>
write_checkpoint rm_v#.dcp
close_project


Then this newly-created RM checkpoint can be used in the PR flow.

In the commands below, the single read_checkpoint -cell command replaces what could be many update_design -cell commands.
 

add_files static.dcp
link_design -top <top> part <part>
lock_design -level routing
read_checkpoint -cell <rm_inst> rm_v#.dcp


Method 2: Place the Sub-Module Netlists in the Same Directory as the RMs Top-Level Netlist

When the top-level RM netlist is read into the PR design using update_design -cell, make sure that all sub-module netlists are in the same directory as the RM's top-level netlist.
In this case the lower level netlists do not need to be specified, but they will be picked up automatically by the update_design -cells command.
This is less explicit than Method 1, but requires fewer steps.
 
In this case the commands to load the RM netlist would look like the following:
 

add_files static.dcp
link_design -top <top> part <part>
lock_design -level routing
update_design -cells <rm_inst> -from_file rm_v#.edf


 
In the last (update_design) command above, the lower level netlists will get picked up automatically if they are in the same directory as rm_v#.edf.

 

AR# 60908
Date Created 06/02/2014
Last Updated 03/06/2015
Status Active
Type General Article
Devices
  • Kintex-7
  • Artix-7
  • Virtex-7
Tools
  • Vivado Design Suite
  • Vivado Design Suite - 2014.2
  • Vivado Design Suite - 2014.3
  • Vivado Design Suite - 2014.4