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

Spartan-3A/AN - How do I use MultiBoot for the Spartan-3A/AN devices via JTAG, Slave Serial, or SelectMAP?

Description

How do I use MultiBoot for the Spartan-3A/AN devices via JTAG, Slave Serial, or Select MAP?

The "Spartan-3 Configuration User Guide" indicates that this can be done but does not provide details. The only clear methodology is through the use of the ICAP interface.

Solution

SelectMAP

ICAP is the internal mirror of the SMAP interface. The command sequence for the SMAP interface is the same as the ICAP interface. You must control CS and RDWR for any write to the SMAP interface; it is important to avoid an Abort. An Abort is triggered when RDWR is toggled while CS is asserted.

JTAG

The easiest way to use this is with an SVF file. The command sequence is the same as the ICAP interface and can be loaded into configuration memory using a CFG_IN instruction. The following is an example of how to construct the CFG_IN instruction:

// Multiboot command sequence

//ffff => FFFF Dummy word shifted in first

//AA99 => 1010 1010 1001 1001 => 1001 1001 0101 0101 => 9955 SYNC

//30a1 => 0011 0000 1010 0001 => 1000 0101 0000 1100 => 850A Type 1 Write to CMD

//000E => 0000 0000 0000 1110 => 0111 0000 0000 0000 => 7000 REBOOT command

//2000 => 0010 0000 0000 0000 => 0000 0000 0000 0100 => 0004 NOOP

//2000 => 0010 0000 0000 0000 => 0000 0000 0000 0100 => 0004 NOOP

// Append the commands and put them into an SDR for CFG_IN. This will load the command sequence to config memory in the same way that the ICAP would

// For SDR command, 24 hex characters: 24 x 4 = 96 bit shift

// Loading device with a `cfg_in` instruction.

SIR 6 TDI (05) ; // Loads the instruction to the IR

//SDR 96 TDI (0004 0004 7000 850A 9955 ffff) SMASK (ffff ffff ffff ffff ffff ffff ffff) ;

SDR 96 TDI (000400047000850A9955ffff) SMASK (ffffffffffffffffffffffffffff) ;

Slave Serial

The Slave Serial command sequence is the same as the ICAP command sequence except the sequence starts with the LSB first.

ICAP

See UG332 "Spartan-3 Generation Configuration User Guide" in the "MultiBoot from an Address Preloaded during Configuration" section. You can access this user guide at:

http://www.xilinx.com/xlnx/xweb/xil_publications_index.jsp?category=User+Guides
Select "Spartan-3" under "FPGA Device Families".

AR# 29416
Date Created 10/28/2007
Last Updated 12/15/2012
Status Active
Type General Article