Answers Database
Is there a generic BSDL file that can used to bypass non-9500 devices with EZTAG?
Record #2707
Product Family: Software
Product Line: EPLD Core
Problem Title:
Is there a generic BSDL file that can used to bypass non-9500 devices
with EZTAG?
Problem Description:
Keywords: 9500, bsdl, bypass, EZTAG, JTAG, ISP
Urgency: standard
If a user would like to bypass a non-9500 device in a scan chain,
in order to run JTAG operations on a 9500 device in the chain,
does xilinx have a generic BSDL file to do this?
Solution 1:
Below is a generic bogus BSDL file.
This BSDL file should be usable to fill in for any bad or missing
BSDL file, as long as the user can fill in the three listed pieces
of information.
3 pieces of information that are needed from each manufacturer:
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).
-- 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
For the latest news, design tips, and patch information on the Xilinx design environment, check out the Xilinx Expert Journals! |