The XC4000E/L/EX/XL/XLA/XV and XC5200 FPGA devices contain boundary-scan facilities compatible with IEEE Standard 1149.1. Refer to the Development System Reference Guide for a detailed description of the XC4000E/L/EX/XL/XLA/XV and XC5200 boundary scan capabilities.
Xilinx parts support external (I/O and interconnect) testing and have limited support for internal self-test.
Full access to the built-in boundary-scan logic exists between power-up and the start of configuration. Optionally, specify boundary scan in the design to access built-in logic after configuration. During configuration, you can use the Sample/Preload and Bypass instructions only.
To make boundary-scan logic active in a configured FPGA device, include the boundary-scan cell and its related I/O cells in the configuration data of your design. For HDL designs, you must instantiate the boundary-scan symbol, BSCAN, and the boundary scan I/O pins, TDI, TMS, TCK, and TDO.
Do not use the following FPGA Compiler boundary scan commands because they do not work with FPGA devices.
set jtag implementation
set jtag instruction
set jtag port
The following figure illustrates the BSCAN symbol instantiated into an HDL design.
Figure 3.5 Boundary Scan Symbol Instantiation in XC4000 Family |
The following examples show the code used to instantiate the cells in the previous figure. Additionally, the examples include code samples for the XC5200 family. The VHDL code for instantiating BSCAN in the XC5200 family follows.
You must apply a Dont Touch attribute on all of the following instantiated components.
entity example is
architecture xilinx of example is
component tck
component tdi
component tms
component tdo
component ibuf
component obuf
signal tck_net, tck_net_in : bit;
begin
process(b)
end xilinx;
The following shows the Verilog code for instantiating BSCAN in the XC5200 family.
module example (a,b,c);
reg c;
BSCAN u1 (.TDI(tdi_net), .TMS(tms_net), .TCK(tck_net), .TDO(tdo_net));
IBUF u6 (.I(tdi_net_in), .O(tdi_net));
OBUF u9 (.I(tdo_net), .O(tdo_net_out));
always@(posedge b)
The Verilog code for instantiating BSCAN in XC4000/XC4000E appears in the following example. Note the use of upper and lower case in the sample.
module example (a,b,c);
The VHDL code for instantiating BSCAN in XC4000/XC4000E example follows.
entity example is
architecture xilinx of example is
component tck
component tdi
component tms
component tdo
signal tck_net : bit;
begin
process(b)
end xilinx;