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# 65940

UltraScale FPGA Gen3 Integrated Block for PCI Express v4.1 (Vivado 2015.3) - [DRC 23-20] Rule violation (HDTC-12) CONFIG cells must be in stage one - Configuration cell 'dbg_hub/inst/N_EXT_BSCAN.bscan_inst/SERIES7_BSCAN.bscan_inst' is not marked

Description

When implementing a design with a Tandem enabled UltraScale FPGA Gen3 Integrated Block for PCI Express core and MIG or debug IPs, the tool gives the following error during implementation:

[DRC 23-20] Rule violation (HDTC-12) CONFIG cells must be in stage one - Configuration cell 'dbg_hub/inst/N_EXT_BSCAN.bscan_inst/SERIES7_BSCAN.bscan_inst' is not marked as a stage 1 cell. This cell must be added to stage 1 or removed from your design. You may also need to add additional driving logic to stage 1 as dictated by the desired design behavior. To add this cell to stage 1, please do the following: 
        set_property HD.TANDEM 1 [get_cells dbg_hub/inst/N_EXT_BSCAN.bscan_inst/SERIES7_BSCAN.bscan_inst]
        add_cells_to_pblock [get_pblocks -of_object [get_sites CONFIG_SITE_X0Y0]] [get_cells dbg_hub/inst/N_EXT_BSCAN.bscan_inst/SERIES7_BSCAN.bscan_inst]


_________________________________________________
This article is part of the PCI Express Solution Centre
(Xilinx Answer 34536) - Xilinx Solution Center for PCI Express

Solution

To resolve this issue, create a Tcl file with the following content and add the Tcl file in the tcl.pre* field  of the Place Design section in the Implementation settings.

The following constraints will work generically for all devices.

set master_cfg_site [get_sites -of_objects [get_slrs -filter {IS_MASTER==true}] -filter {NAME =~ CONFIG_SITE_*}]
set bscan_cells [get_cells -hierarchical -filter { PRIMITIVE_TYPE =~ CONFIGURATION.BSCAN.* } ]
set_property HD.TANDEM 1 $config_cells
add_cells_to_pblock [get_pblocks -of_objects [get_sites $master_cfg_site]] $config_cells

OR

you can use the constraint that is directly listed in the error message.

set_property HD.TANDEM 1 [get_cells dbg_hub/inst/N_EXT_BSCAN.bscan_inst/SERIES7_BSCAN.bscan_inst]
add_cells_to_pblock [get_pblocks -of_object [get_sites CONFIG_SITE_X0Y0]] [get_cells dbg_hub/inst/N_EXT_BSCAN.bscan_inst/SERIES7_BSCAN.bscan_inst]

Note: In the tcl file, copy only one of the two sets of constraints provided above.

Revision History:

11/11/2015 - Initial Release

AR# 65940
Date Created 11/10/2015
Last Updated 11/24/2015
Status Active
Type General Article
IP
  • UltraScale FPGA Gen3 Integrated Block for PCI Express (PCIe)