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

9.2i iMPACT - V-5 programing of the key file for encryption via SVF files will not work

Description

iMPACT 9.2 will not create a working svf file to program the nky file into a V-5 device. This problem is specific to V-5, and the svf file to program encrypted bit files works fine on V-4 devices.

Solution

The problem is due to a lack of information in the svf files.

To create an svf file that will program just the nky file, or both the nky and bit file, start with an svf file to program both the bit and nky files. Next, this file will have to be modified.

Attached is a sample svf file that has two sections required for these modifications.

To create an svf file to only program the nky file, remove sections 1 and 2 from the file as per the demo file.

To create an svf file to program the nky and bit files only, remove section 1 from the svf file as per the demo file.

The demo file is listed in the 2nd resolution for this Answer Record.

// Created using Xilinx iMPACT Software [ISE - 9.2i]

// To create svf file to only program the nky file for the V-5

// please follow these directions.

// 1 - Create an SVF file to program the encrypted bit and nky file

// 2 - Comment out or remove the code in Section 1 - Unpopulated key //check

// 3 - Comment out or remove the code in Section 2 - Bitfile programing

TRST OFF;

ENDIR IDLE;

ENDDR IDLE;

STATE RESET;

STATE IDLE;

FREQUENCY 1E6 HZ;

TIR 0 ;

HIR 0 ;

TDR 0 ;

HDR 0 ;

TIR 0 ;

HIR 0 ;

HDR 0 ;

TDR 0 ;

//Loading device with 'idcode' instruction.

SIR 10 TDI (03c9) SMASK (03ff) ;

SDR 32 TDI (00000000) SMASK (ffffffff) TDO (f2896093) MASK (0fffffff) ;

TIR 0 ;

HIR 0 ;

TDR 0 ;

HDR 0 ;

TIR 0 ;

HIR 0 ;

TDR 0 ;

HDR 0 ;

TIR 0 ;

HIR 0 ;

HDR 0 ;

TDR 0 ;

//Loading device with 'idcode' instruction.

SIR 10 TDI (03c9) ;

SDR 32 TDI (00000000) TDO (f2896093) ;

//Loading device with 'bypass' instruction.

SIR 10 TDI (03ff) ;

// Loading device with a `ISC_ENABLE` instruction.

ENDIR IRPAUSE;

SIR 10 TDI (03d0) ;

SDR 5 TDI (15) SMASK (1f) ;

ENDIR IDLE;

RUNTEST 12 TCK;

// Loading device with a `ISC_PROGRAM_SECURITY` instruction.

ENDIR IRPAUSE;

SIR 10 TDI (03d2) ;

SDR 32 TDI (ffffffff) SMASK (ffffffff) ;

ENDIR IDLE;

RUNTEST 9 TCK;

// Loading device with a `ISC_PROGRAM` instruction.

ENDIR IRPAUSE;

SIR 10 TDI (03d1) ;

SDR 32 TDI (ffffffff) ;

ENDIR IDLE;

RUNTEST 1 TCK;

// Loading device with a `ISC_PROGRAM` instruction.

ENDIR IRPAUSE;

SIR 10 TDI (03d1) ;

SDR 32 TDI (c5d2d60e) ;

ENDIR IDLE;

RUNTEST 1 TCK;

// Loading device with a `ISC_PROGRAM` instruction.

ENDIR IRPAUSE;

SIR 10 TDI (03d1) ;

SDR 32 TDI (96ec6360) ;

ENDIR IDLE;

RUNTEST 1 TCK;

// Loading device with a `ISC_PROGRAM` instruction.

ENDIR IRPAUSE;

SIR 10 TDI (03d1) ;

SDR 32 TDI (eb0d25c1) ;

ENDIR IDLE;

RUNTEST 1 TCK;

// Loading device with a `ISC_PROGRAM` instruction.

ENDIR IRPAUSE;

SIR 10 TDI (03d1) ;

SDR 32 TDI (aa1afb7a) ;

ENDIR IDLE;

RUNTEST 1 TCK;

// Loading device with a `ISC_PROGRAM` instruction.

ENDIR IRPAUSE;

SIR 10 TDI (03d1) ;

SDR 32 TDI (26a440c8) ;

ENDIR IDLE;

RUNTEST 1 TCK;

// Loading device with a `ISC_PROGRAM` instruction.

ENDIR IRPAUSE;

SIR 10 TDI (03d1) ;

SDR 32 TDI (078ef864) ;

ENDIR IDLE;

RUNTEST 1 TCK;

// Loading device with a `ISC_PROGRAM` instruction.

ENDIR IRPAUSE;

SIR 10 TDI (03d1) ;

SDR 32 TDI (43f226cc) ;

ENDIR IDLE;

RUNTEST 1 TCK;

// Loading device with a `ISC_PROGRAM` instruction.

ENDIR IRPAUSE;

SIR 10 TDI (03d1) ;

SDR 32 TDI (939cd3b7) ;

ENDIR IDLE;

RUNTEST 1 TCK;

//Section 1

//mods - remove as data checking algorithms are not populated

// Loading device with a `ISC_READ` instruction.

//ENDIR IRPAUSE;

//SIR 10 TDI (03d5) ;

//SDR 32 TDI (00000000) TDO (00000000) MASK (ffffffff) ;

//ENDIR IDLE;

//RUNTEST 1 TCK;

// Loading device with a `ISC_READ` instruction.

//ENDIR IRPAUSE;

//SIR 10 TDI (03d5) ;

//SDR 32 TDI (00000000) TDO (00000000) ;

//ENDIR IDLE;

//RUNTEST 1 TCK;

// Loading device with a `ISC_READ` instruction.

//ENDIR IRPAUSE;

//SIR 10 TDI (03d5) ;

//SDR 32 TDI (00000000) TDO (00000000) ;

//ENDIR IDLE;

//RUNTEST 1 TCK;

// Loading device with a `ISC_READ` instruction.

//ENDIR IRPAUSE;

//SIR 10 TDI (03d5) ;

//SDR 32 TDI (00000000) TDO (00000000) ;

//ENDIR IDLE;

//RUNTEST 1 TCK;

// Loading device with a `ISC_READ` instruction.

//ENDIR IRPAUSE;

//SIR 10 TDI (03d5) ;

//SDR 32 TDI (00000000) TDO (00000000) ;

//ENDIR IDLE;

//RUNTEST 1 TCK;

// Loading device with a `ISC_READ` instruction.

//ENDIR IRPAUSE;

//SIR 10 TDI (03d5) ;

//SDR 32 TDI (00000000) TDO (00000000) ;

//ENDIR IDLE;

//RUNTEST 1 TCK;

// Loading device with a `ISC_READ` instruction.

//ENDIR IRPAUSE;

//SIR 10 TDI (03d5) ;

//SDR 32 TDI (00000000) TDO (00000000) ;

//ENDIR IDLE;

//RUNTEST 1 TCK;

// Loading device with a `ISC_READ` instruction.

//ENDIR IRPAUSE;

//SIR 10 TDI (03d5) ;

//SDR 32 TDI (00000000) TDO (00000000) ;

//ENDIR IDLE;

//RUNTEST 1 TCK;

// Loading device with a `ISC_READ` instruction.

//ENDIR IRPAUSE;

//SIR 10 TDI (03d5) ;

//SDR 32 TDI (00000000) TDO (00000000) ;

//ENDIR IDLE;

//RUNTEST 1 TCK;

// Loading device with a `ISC_READ` instruction.

//ENDIR IRPAUSE;

//SIR 10 TDI (03d5) ;

//SDR 32 TDI (00000000) TDO (00000000) ;

//ENDIR IDLE;

//RUNTEST 1 TCK;

//end mods

// Loading device with a `ISC_DISABLE` instruction.

SIR 10 TDI (03d6) ;

RUNTEST 12 TCK;

// Loading device with a `ISC_ENABLE` instruction.

ENDIR IRPAUSE;

SIR 10 TDI (03d0) ;

SDR 5 TDI (15) SMASK (1f) ;

ENDIR IDLE;

RUNTEST 12 TCK;

// Loading device with a `ISC_PROGRAM_SECURITY` instruction.

ENDIR IRPAUSE;

SIR 10 TDI (03d2) ;

SDR 32 TDI (00000000) SMASK (ffffffff) ;

ENDIR IDLE;

RUNTEST 9 TCK;

// Loading device with a `ISC_DISABLE` instruction.

SIR 10 TDI (03d6) ;

RUNTEST 12 TCK;

//Section 2

//mods - remove from here down to only program the key

AR# 25472
Date Created 09/04/2007
Last Updated 12/15/2012
Status Active
Type General Article