If you have created programming files (<filename>.jed) and are ready to download them to XC9500 devices in-system through the JTAG chain, proceed as follows:
Figure 3.3 JTAG Programmer Icon |
The JTAG Programmer will appear.
Figure 3.4 JTAG Programmer |
Figure 3.5 Automatic Device Identification |
Figure 3.6 Device Properties |
Figure 3.7 Device Chain (unprogrammed) |
There are two preferences available that you may want to select before initiating a session. They are Concurrent Mode and Use HIGHZ instead of BYPASS. These options are selected as follows:
File Preferences
The Preferences dialog box will appear.
Figure 3.8 Preferences |
The JTAG Programmer normally uses a sequential methodology when accessing Xilinx CPLDs for ISP operations. It selects a device to program and sets all other devices in the boundary-scan chain into BYPASS mode. Concurrent Mode erases, programs and verifies selected devices in the chain without placing these parts in BYPASS mode. This has the advantage of saving time by executing operations simultaneously.
For example, it takes few seconds to completely erase all the sectors of a device. If you have several devices in a chain, these erase times can add up. In concurrent mode the erasures can take place simultaneously, saving time.
Concurrent mode is applicable only to Xilinx CPLD devices. Since Xilinx FPGA devices are SRAM based; their access method precludes this kind of operation.
The JTAG Programmer usually places parts in BYPASS mode when other devices in the boundary-scan chain are being programmed. This option places XC9500 devices in high impedance mode instead. If you suspect that noise is degrading the integrity of ISP operations, use this mode to reduce the signal activity level in the system.
If you decide to use HIGHZ instead of BYPASS you must be certain that your design can tolerate XC9500 device pins floating. If these pins connect to memory enable pins, for instance, their floating values may inadvertently cause the devices to turn on, potentially damaging their drivers or parts downstream from them.
If your boundary-scan chain consists of only Xilinx CPLD devices, then you can select all XC9500 devices at once with Edit Select All, or highlight each device individually, then:
Operations Program
The program options box appears. Select the desired programming options, then click OK.
Figure 3.9 Options |
When the programming operation is complete, the programming status of each Xilinx programmable device is reported as shown:
Figure 3.10 Programmed Chain |
If your boundary-scan chain consists of only Xilinx FPGA devices, then you can select all Xilinx FPGA devices at once with Edit Select All or highlight each device individually, then:
Operations Program
The programming options box appears. Select the desired options, then click OK.
There are two ways to set up the chain for JTAG Programmer operations. The first is to highlight a part and select an operation for it using the Operations menu. You select an operation from the menu, then highlight the next part and select an operation for it, or you may highlight all parts and select an operation for all parts.
The other way is to use the Chain Operations dialog box. This presents you with a spreadsheet approach to boundary-scan chain. This method allows you select and execute operations for all the parts in the chain, all from the same dialog box. To access this dialog box:
Operations Chain Operations...
Figure 3.11 Chain Operations |
The dialog box appears. In the Operations column you may change the operation of any part by clicking once on the current device to highlight it, then clicking once on the down arrow adjacent to Selected Device Operation. This will produce a pull-down menu showing the operations you can set for that part.
Bypass is the only supported mode of Operation for non-FastFLASH parts. These parts will appear under Device Type. Note that Bypass is selected as the default Operation of each foreign part.
Select the Execute button. Download will begin.
In either operation mode a pop-up menu appears and delivers processing messages. When processing has completed, a message log is available to examine the results of the execution.
The Edit menu provides easy means for inserting and deleting parts from a chain, as well as the means to assign a new JEDEC file to a part.
To insert a device into the chain, use the Add Device command. First make sure that the prompt is at the location in the chain where you want to insert the device. If it is not, use either the mouse or the arrow keys to move it. Then insert the device as follows:
Edit Add Device
To change the jedec file associated with a device in the chain, highlight the device and:
Edit Properties
Use the browse key to select another jedec file or simply enter the path and filename of the file. The program will associate the new file with the device.
Each jedec assigns a device type to the device in the chain. If the jedec file was not created for the actual device you have on your board, an error will result when you attempt to program the device.
To delete an entry in the device chain, use the Cut command. All devices move up one entry in the chain.
Edit Cut
To select the entire chain for an operation, use
Edit Select All
To unselect the chain:
Edit Unselect All
When operating in SVF mode, chain modifications are not allowed so as to ensure that the resulting SVF if self-consistent.
To save a JTAG Programmer chain description for later use, create a Chain Description File (.cdf) using:
File Save
If the chain has not been previously saved, the Save As dialog box will appear. This screen will allow you to select a directory and path to place the file in. You can also name the file, but you should retain the .cdf file extension. If you wish to save your file under another name than already selected, use:
File Save As...
To name your file, use the mouse to highlight Untitled or the old file name on the File Name line, then type in the name you want and click once on OK.
Figure 3.12 Saving a File |
The debugger provides you with a method to apply boundary-scan test access port stimulus. This feature allows you to set TDI and TMS, then pulse TCK a specified number times. You can monitor TDO, TDI and TMS using an oscilloscope or logic probe to see if the boundary-scan chain is operating correctly. The debugger also displays the current TAP state and allows you to reset the chain to Run Test Idle.
To access the debugger:
File Debug Chain
The Boundary-Scan Chain Debug dialog box appears as shown in Figure 3-13.
Figure 3.13 Debug |
The features of this dialog box operate as follows:
Any Xilinx CPLD device selected for programming can be secured with the Write Protect or Read Protect or both.
When enabled, Read Protect disables reading the programmed contents of a device (the Device ID and usercode/signature and boundary scan register remain readable).
Write Protect allows only the reading of the programmed data. The device contents cannot be altered or re-programmed.
When both Read Protect and Write Protect are enabled, the device can be neither read nor re-programmed.
To enable either security function simply place a check in the corresponding box when programming the device.
Figure 3.14 Data Selection (Program Options) |
Data security operations can be overridden only by erasing the device. For Read Protection override, you simply erase the part. For Write Protection override, you must select the override write protect option from the Erase Options dialog box.
Figure 3.15 Data Selection (Erase Options) |