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

Vivado - Encrypted EDIF is produced in design checkpoint when the design contains ISE Multiplier IP NGC


When an ISE Multiplier IP NGC file is added to a design, I see an encrypted EDIF in the extracted design checkpoint (.dcp).

This is not the case for all ISE IP NGC files.

For example, if a Block Memory Generator IP NGC is involved, the EDIF file in the extracted DCP is plain text.
However, if I either do "ngc2edif" for the multiplier NGC or open its Vivado design checkpoint and do "write_edif", the output EDIF is un-encrypted.
What is the reason for this difference?


The ISE Multiplier IP core is protected by Xilinx security attributes.

If you open the NGC file in ISE, you will see a block inside the IP hierarchy which is secured, as shown in the following figure.

When the ISE IP cores are encoded with security attributes, the "ngc2edif" command will strip out all INIT strings (and the attributes) and just produce a structural EDIF.

As a result, only the structure is output, but not the LUT contents (logic).
Vivado's "write_edif" command actually produces multiple files.

One is a plain text wrapper file, the other will contain encrypted EDIF for areas protected by security attributes. 

Vivado's checkpoint EDIF behaves differently than either ngc2edif or "write_edif". 

For checkpoint EDIF, we have to pass the logic. 

So, when we encounter security attributes, we encrypt the output and include INITs in the encrypted area. 
AR# 64067
Date Created 03/26/2015
Last Updated 04/16/2015
Status Active
Type General Article
  • Vivado Design Suite
  • Multiplier