AR# 67511


Design Advisory Tactical Patch for Device Model Inversion



For UltraScale designs using Vivado 2016.1 or 2016.2, a tactical patch should be installed to generate these designs in order to guarantee hardware functionality.

Without the patch, a small number of UltraScale designs might encounter functional issues due to a difference between modelling and actual hardware paths for a small set of routes.


The modeling difference results in the inversion of a ground net emanating from a specific routing tile, causing the net to incorrectly act as a VCC.

This inversion cannot be seen from the device view, and simulation does not reflect the altered behavior, but the functionality in hardware will be affected. This is an intermittent problem that will depend on the specific route chosen.

There might be two builds where the specific logical ground path is the same, but only one run has the functionality problem because of the physical route chosen.

This issue was initially found in a design where a problem was seen with a distributed RAM. For the distributed RAM, the write address had the affected route problem. The intended ground connection acted as a VCC and the result was that the RAM could not be written to.




To identify if a design suffers from this issue, the following command can be run before write_bitstream:


if {[llength [get_nodes -of [lindex [get_nets -hier -filter {TYPE==GROUND}] 0] "*INT_TERM_T*/GND_WIRE*"]] > 0} {puts "ERROR detected in GND net routing"} {puts "GND net routing is correct"}


If the problem exists for a particular design, the error "ERROR detected in GND net routing" will be printed.


This issue will be fixed for the Vivado 2016.3 release. Although the likelihood of a design being affected by this issue are remote, it is recommended that all users install the tactical patch to guarantee hardware functionality with Vivado 2016.1 & 2016.2.

The patch installation should be done regardless of the identification results.


A tactical patch will be created to correct the incorrect behavior.


  • The expected behavior with the patch is that no unexpected inversion will be seen.
  • Without the patch, the inversion might be seen depending on the ground route used.

Note: The patch will not correct a net with fixed routing where the fixed route already contains the inverted routing path. This can still be identified with the above Tcl command, and re-routed.

Installation and usage information:


  1. Navigate to the $XILINX_VIVADO/patches directory (create this directory if it does not exist)
  2. Extract the contents of the ".zip" archive to a directory starting with the name AR67511
    Note: most extraction tools will allow you to automatically create a directory the same name as the zip file
  3. Run Vivado software tools from the original install location.


  1. Create a separate directory for the patched files
  2. Extract the contents of the ".zip" archive to the desired patch directory location
  3. Set the MYVIVADO environment variable to point to the Vivado directory under this patch directory
    For example:
    set MYVIVADO=C:\MYVIVADO\vivado-patch-AR67511\vivado\
  4. Run Vivado software tools from the original install location.

Revision History

07/20/2016 - Initial Release


Associated Attachments

AR# 67511
Date 07/28/2016
Status Active
Type Design Advisory
People Also Viewed