Answers Database


JTAG BSDL - Is there a generic BSDL file for bypassing non-Xilinx devices with JTAG Programmer?


Record #2707

Product Family: Software

Product Line: EPLD Core

Product Part: EZTag

Problem Title:
JTAG BSDL - Is there a generic BSDL file for bypassing non-Xilinx devices with JTAG Programmer?



Problem Description:
Urgency: standard

If a user would like to bypass a non-Xilinx device in a JTAG
scan chain to run JTAG operations on a Xilinx device, is there
a generic BSDL file to use for the non-Xilinx devices?


Solution 1:

You can download the generic BSDL file by clicking on the BSDL link at:
http://support.xilinx.com/support/software.htm

This BSDL file can be usable to fill in for any bad or missing
BSDL file. However, the three listed pieces of information
are required.

The manufacturer must provide the following information:

1. The number of bits in the INSTRUCTION register.
2. The BYPASS instruction bit pattern (This MUST always be all
      one's - but always check and make sure)
3. The INSTRUCTION register capture pattern (This allows us to
      do elementary boundary-scan chain testing).


Below is an example of a generic BSDL file:


-- Copyright Xilinx Corporation 1997
Bogus BSDL File
                          Updated: April 4, 1997
--************************************************************************
-- Generic BSDL file
-- Copyright Xilinx Corporation 1997
-- Xilinx assumes no liability, either expressed or implied, in the use of
-- this BSDL file.

--*************************************************************************

entity nothing_at_all is

--*************************************************************************
-- IMPORTANT - If you are using multiple copies of this file in a single
-- boundary-scan chain, you must make certain that the entity name
-- specified in each generic BSDL file (in this file "nothing_at_all") is
-- unique. Note that the entity name occurs nine (9) times in this file
-- (not including once in this comment).
--*************************************************************************

generic(PHYSICAL_PIN_MAP : string:= "X_PACKAGE");

port ( TCK : in bit; TDI : in bit; TDO : out bit; TMS : in bit );

use STD_1149_1_1990.all;

attribute PIN_MAP of nothing_at_all :

entity is PHYSICAL_PIN_MAP;

constant X_PACKAGE:PIN_MAP_STRING :=
      "TCK : 1," &
      "TDI : 2," &
      "TDO : 3," &
      "TMS : 4";

attribute Tap_Scan_In of TDI : signal is true;
attribute Tap_Scan_Mode of TMS : signal is true;
attribute Tap_Scan_Out of TDO : signal is true;
attribute Tap_Scan_Clock of TCK : signal is (1.0e6, BOTH);

-- The information in the three attributes below should be modified
-- as per the device manufacturer's instructions

-- The 1st attribute specifies the number of bits in the instruction register
attribute Instruction_Length of nothing_at_all: entity is 4;

-- The 2nd attribute specifies the bit code for the BYPASS instruction
attribute Instruction_Opcode of nothing_at_all: entity is "BYPASS ( 1111)";

-- The 3rd attribute specifies the bit pattern captured by the instruction
-- register. If you do not know the capture pattern you may specify it as
-- all X's, you will however lose the vitally important capability of
-- verifying the boundary-scan chain on-the-fly
attribute Instruction_Capture of nothing_at_all : entity is "0001";

-- end of section that should be modified as per the device
-- manufacturer's instructions
attribute Boundary_Cells of nothing_at_all: entity is " BC_1";

attribute Boundary_Length of nothing_at_all: entity is 1;

-- NOTE: Following statement needs to be all on one line
attribute Boundary_Register of nothing_at_all: entity is " 0 (BC_1, *, control, 0)";

end nothing_at_all;




End of Record #2707 - Last Modified: 12/16/99 07:41

For the latest news, design tips, and patch information on the Xilinx design environment, check out the Technical Tips!