Netlist sources (EDIF) cannot be included in the current design hierarchy when the Partition Definition is initially created via the Vivado IDE. However, you can use the Tcl Console to call the underlying commands directly if the module is a single EDIF or DCP file. For example:
create_partition_def -name <RP_name> -module <RM_name>
create_reconfig_module -name <RM_name> -top <RM_top> -partition_def [get_partition_defs <RP_name>] -gate_level
The -gate_level
switch indicates that
the RM is comprised of a single post-synthesis netlist (either EDIF or DCP). If the
component declaration is provided in the top-level design to define the instantiation
port list (size and direction), a stub file is not needed.
If the netlist source is a submodule under the RTL, wait until after the partition definition has been created to add it to the project. Vivado flags an error otherwise:
ERROR: [Vivado 12-4865] Failed to create reconfig module as Module with an instance in active top cannot be made into reconfigurable module
After the partition is defined, you can move or add sources as needed. For example, if a top-level EDIF or DCP source was present in the instantiation when the partition definition was created, or once a submodule EDIF or DCP has been added to the project, that source must now be moved to the partition definition, specifically within a reconfigurable module. For example:
move_files [get_files <file_name>.<edf|dcp>] -of_objects [get_reconfig_modules <RM_name>]
After the partition definition for the RP is created for the first RM, you can use the standard approach to add new RMs through the DFX Wizard. When creating a single new EDIF or DCP RM in the DFX Wizard, you must enable the Sources are already synthesized option. When supplying a netlist source, you must also declare the top module name in the Top Module Name field.
If the new RM is a mix of RTL and EDIF, the full set of files can be supplied in this dialog box. Because the top level is RTL, the Top Module Name and Sources are already synthesized options are not necessary. However stub files (RTL sources defining port names and directions) are required for each EDIF source.