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

3.1i JTAG Programmer - How do I program a part from the command line?

Description

Keywords: JTAG, JTAGPROG, command, program

Urgency: Standard

General Description:
What devices are supported by the JTAG Programmer command-line interface? How do I use the JTAGPROG command-line interface to program a part?

Solution

1

JTAG Programmer supports all devices that are supported by the JTAG Programmer Graphical User interface:

- 9500 CPLDs;
- All JTAG-compliant FPGA devices (Virtex, Spartan, 4000, etc.);
- 1800 and 18V00 Configuration PROMs.

To program a part with JTAG Programmer:

1. Launch JTAG Programmer.

2. Specify the part(s) with the part command:
part [part_name]:[design_name] [part_name2]:[design_name2]...

where:

[part_name] is the name of the BSDL file for your device without the .bsd extension. (Please see Resolution 4 for information on determining the part name.)

[design_name] is any arbitrary name.

3. Issue the program command:
program [design_name] -f [file_location\filename]

The file name may have a .mcs, .bit, or .jed extension. (Examples are given in Resolutions 2-4.)

2

Example 1 - Programming a CPLD or FPGA:

This example demonstrates the use of JTAG Programmer to configure an XC4062XLA device (blank lines are inserted for clarity). The same procedure must be followed for any CPLD or FPGA device.

bit file: c:\test\ 10601.bit
device: xc4062xla HQ208
device bsdl file name: xc4062xla_hq208.bsd


JTAGProgrammer:Release 3.2.05i - JTAG Boundary-Scan Download D.24 Copyright:
1991-1999

JTAGProgrammer:Release 3.2.05i - JTAG Boundary-Scan Download D.24
Copyright:1991-1999
Sizing system available memory...done.
Cable ID type is 'BSCAN-PARALLEL-95'
Cable is connected to 'lpt1'

[JTAGProgrammer::(1)] > part xc4062xla_hq208:device1

Active command: 'part xc4062xla_hq208:device1'
Loading Boundary-Scan Description Language (BSDL) file
'C:/Xilinx/xc4000xla/data/xc4062xla_hq208.bsd'.....completed successfully.
Checking boundary-scan chain integrity...done.
Verifying device positions in boundary-scan chain...
Instance 'device1' at position '1'...verified.
Verification completed.
Boundary-scan chain validated successfully.

[JTAGProgrammer::(2)] > program device1 -f c:\test\10601.bit

Active command: 'program device1 -f c:\test\10601.bit'
'device1': Checking boundary-scan chain integrity...done.
'device1': Reading bit-stream file...done.
'device1': Programming device...........done.
'device1': Programming completed successfully.

[JTAGProgrammer::(3)] >

3

Example 2 - Programming an 18V00 series PROM:

This example demonstrates the use of JTAG Programmer to configure an XC18V04 PROM (blank lines are inserted for clarity).

mcs file: c:\test\10601.mcs
device: xc18v04_pc44
device bsdl file name: xc18v04_pc44.bsd

C:\TEST>jtagprog

JTAGProgrammer:Release 3.2.05i - JTAG Boundary-Scan Download D.24 Copyright:
1991-1999

JTAGProgrammer:Release 3.2.05i - JTAG Boundary-Scan Download D.24
Copyright:1991-1999
Sizing system available memory...done.
Cable ID type is 'BSCAN-PARALLEL-95'
Cable is connected to 'lpt1'

[JTAGProgrammer::(2)] > part xc18v04_pc44:device1

Active command: 'part xc18v04_pc44:device1'
Loading Boundary-Scan Description Language (BSDL) file
'C:/Xilinx/data/xc18v04_pc44.bsd'.....completed successfully.
Checking boundary-scan chain integrity...done.
Verifying device positions in boundary-scan chain...
Instance 'device1' at position '1'...verified.
Verification completed.
Boundary-scan chain validated successfully.

[JTAGProgrammer::(3)] > program device1 -f c:\test\10601.mcs
Active command: 'program device1 -f c:\test\10601.mcs'
'device1': Checking boundary-scan chain integrity...done.
'device1': Opening sprom data stream file ...done.
'device1': Checking boundary-scan chain integrity...done.
'device1': Putting device in ISP mode...done.
'device1': Programming device...................................................
................................................................................
................................................................................
................................................................................
................................................................................
..................done.
[JTAGProgrammer::(4)] >

4

How to determine the part name:

When specifying the part name with the part command, the part name must exactly match the name of the BSDL file that is associated with that part. BSDL files for all parts can be found in your $xilinx folder.

Here are some examples:

Device: 18v04 pc44
Part Name: xc18v04_pc44
BSDL file location: $xilinx\xc1800\xc18v04_pc44.bsd

Device: 95144XL cs144
Part Name: xc95144xl_cs144
BSDL file location: $xilinx\xc9500xl\data\xc95144xl_cs144

Device: Virtex 100 PQ240
Part Name: XCV100_PQ240
BSDL file location: $xilinx\virtex\data\xcv100_pq240.bsd
AR# 10601
Date Created 08/29/2007
Last Updated 09/30/2005
Status Archive
Type ??????