-- *********************************************************************
-- * *
-- * ispLSI2032VE 44 pin PLCC -- 1149.1 and ISC 1532 Draft BSDL File *
-- * *
-- * File Version: v1.0-00 *
-- * File Date: Aug 31 2001 *
-- * *
-- * Standard Test Access Port and Boundary-Scan Architecture *
-- * VHDL Description File *
-- * *
-- * This BSDL can be used for Boundary-Scan Test as well as *
-- * ISC 1532 Programming support. *
-- * *
-- * This BSDL file is created according to: *
-- * - P1532 Unapproved Draft 3.9 *
-- * - IEEE 1149.1 1994 spec. *
-- * *
-- * This BSDL file has been syntax checked with: *
-- * - Agilent BSDL Syntax Checking Service *
-- * *
-- * Disclaimer: Since this document was generated according to a *
-- * working draft of ISC1532, Lattice reserves the right *
-- * to update the content of the file without notice. *
-- * *
-- * This BSDL file was made by Generate_BDF v. 1.1 *
-- * *
-- * Copyright 1996-2001, Lattice Semiconductor Corporation *
-- *********************************************************************
-- * *
-- * IMPORTANT *
-- * *
-- * The following is a BSDL file that tests all of the I/O pins *
-- * as bi-directional pins. The functionality of the BSCAN register *
-- * for this device is independent of the pattern programmed *
-- * into the device. An additional programming step is not *
-- * required to configure the I/O pins prior to BSCAN test. *
-- * *
-- * This file contains additional information that may cause a BSDL *
-- * parser to reject or error if your parser does not contain the *
-- * 1532 library. BSDL files without ISC extensions are available *
-- * on the Lattice web-site at www.latticesemi.com. *
-- * *
-- * For Further assistance, please contact Tech Support. *
-- * 1-800-LATTICE or techsupport@latticesemi.com *
-- *********************************************************************
-- * *
-- * REVISION HISTORY *
-- * *
-- * Date: Sept 6 2001 *
-- * File Version: v1.0-00 *
-- * *
-- * This BSDL file has been syntax checked with: *
-- * - Teradyne VICTORY *
-- * - Assett Intertech *
-- * *
-- *********************************************************************
-- The Overall Structure of the Entity Description
entity ispLSI2032VE_XXLJ44 is
-- Generic Parameter Statement
generic (PHYSICAL_PIN_MAP : string := "PLCC_44");
-- Logical Port Description Statement
port ( TDI: in bit; -- JTAG input pin
TMS: in bit; -- JTAG input pin
TCK: in bit; -- JTAG input pin
TDO: out bit; -- JTAG output pin
BSCAN: in bit; -- BSCAN pin
RESET: in bit; -- Active low RESET pin
GOE: in bit; -- Global Output Enable
Clk: in bit; -- Clock input pin
BIp: inout bit_vector (0 to 31); -- Bi-Directional pins
VCC: linkage bit_vector (0 to 1); -- VCC pins
GND: linkage bit_vector (0 to 1) -- GND pins
);
-- Version Control
use STD_1149_1_1994.all; -- 1149.1-1994 attributes
use STD_1532_2001.all; -- 1532_2001 attributes
-- Component Conformance Statement
attribute COMPONENT_CONFORMANCE of ispLSI2032VE_XXLJ44 : entity is
"STD_1149_1_1993";
-- Device Package Pin Mapping
attribute PIN_MAP of ispLSI2032VE_XXLJ44 : entity is PHYSICAL_PIN_MAP;
constant PLCC_44: PIN_MAP_STRING:=
"TDI:14, "& -- JTAG (TDI) input pin
"TMS:36, "& -- JTAG (TMS) input pin
"TCK:33, "& -- JTAG (TCK) input pin
"TDO:24, "& -- JTAG (TDO) output pin
"RESET:35, "& -- RESET input pin
"BSCAN:13, "& -- BSCAN control pin
"GOE:2, "& -- Global OE pin
"Clk:11, "& -- Clock pin
"BIp:( 15, 16, 17, 18, 19, 20, 21, "& -- I/O pins
" 22, 25, 26, 27, 28, 29, 30, "& -- I/O pins
" 31, 32, 37, 38, 39, 40, 41, "& -- I/O pins
" 42, 43, 44, 3, 4, 5, 6, "& -- I/O pins
" 7, 8, 9, 10), "& -- I/O pins
"VCC:( 12, 34), "& -- VCC pins
"GND:( 1, 23) "; -- GND pins
-- Scan Port Identification
attribute TAP_SCAN_CLOCK of TCK : Signal is (5.0e6, BOTH);
attribute TAP_SCAN_IN of TDI : Signal is True;
attribute TAP_SCAN_OUT of TDO : Signal is True;
attribute TAP_SCAN_MODE of TMS : Signal is True;
-- Compliance enable description
attribute COMPLIANCE_PATTERNS of
ispLSI2032VE_XXLJ44 : entity is "(BSCAN)(0)";
-- Instruction Register Description
attribute INSTRUCTION_LENGTH of ispLSI2032VE_XXLJ44 : entity is 5;
attribute INSTRUCTION_OPCODE of ispLSI2032VE_XXLJ44 : entity is
-- 1149.1 instructions
"BYPASS (11111), "&
"SAMPLE (11100), "&
"EXTEST (00000), "&
"HIGHZ (11000), "&
"IDCODE (10110), "&
"USERCODE (10111), "&
-- ISC instructions
"ISC_NOOP (11001),"&
"ISC_READ (01010),"&
"ISC_ERASE (00011),"&
"ISC_ENABLE (10101),"&
"ISC_DISABLE (11110),"&
"ISC_DISCHARGE (10100),"&
"ISC_PROGRAM_SECURITY (01001),"&
"ISC_DATA_SHIFT (00010),"&
"ISC_ADDRESS_SHIFT (00001),"&
-- Lattice Specific and Private instructions
"LSC_PROGRAM (00111),"&
"LSC_PROGRAM_USERCODE (11010),"&
"PRIVATE (00100,00101,00110,01000,10010,"&
"01100,01110,01111,10001,10011,"&
"01011,11011,11101,10000)";
attribute INSTRUCTION_CAPTURE of
ispLSI2032VE_XXLJ44 : entity is "11001";
attribute INSTRUCTION_PRIVATE of
ispLSI2032VE_XXLJ44 : entity is "PRIVATE";
-- IDCODE Definition
attribute IDCODE_REGISTER of ispLSI2032VE_XXLJ44: entity is
"0001"& -- version
"0000001100000001"& -- part number (0301)
"00000100001"& -- manufacturer's identity
"1"; -- required by 1149.1
-- USERCODE Definition
attribute USERCODE_REGISTER of ispLSI2032VE_XXLJ44: entity is
"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";
-- Register Access Description
attribute REGISTER_ACCESS of ispLSI2032VE_XXLJ44 : entity is
"BOUNDARY (SAMPLE, EXTEST), "&
"BYPASS (BYPASS, HIGHZ), "&
"DEVICE_ID (USERCODE, IDCODE), "&
"ISC_ADDRESS[102] (ISC_ADDRESS_SHIFT, LSC_PROGRAM), "&
"ISC_DATA[80] (ISC_DATA_SHIFT), "&
"ISC_Rdata[80] (ISC_READ), "&
"ISC_DEFAULT[1] (LSC_PROGRAM_USERCODE, ISC_PROGRAM_SECURITY, "&
" ISC_DISCHARGE, ISC_DISABLE, ISC_ENABLE, "&
" ISC_ERASE, ISC_NOOP)";
-- ********************************************************************
-- Boundary Scan Register Description, Cell 0 is the closest to TDO
-- ********************************************************************
attribute BOUNDARY_LENGTH of ispLSI2032VE_XXLJ44 : entity is 102;
attribute BOUNDARY_REGISTER of ispLSI2032VE_XXLJ44 : entity is
-- num cell port function safe [ccell disval rslt]
"0101 (BC_1, *, internal, X), "&
"0100 (BC_1, *, internal, X), "&
"0099 (BC_1, Clk, input, X), "&
"0098 (BC_1, RESET, input, X), "&
"0097 (BC_1, *, internal, X), "&
"0096 (BC_1, GOE, input, X), "&
"0095 (BC_1, *, control, 0), "&
"0094 (BC_1, BIp(12), output3, X, 95, 0, Z), "&
"0093 (BC_1, BIp(12), input, X), "&
"0092 (BC_1, *, control, 0), "&
"0091 (BC_1, BIp(13), output3, X, 92, 0, Z), "&
"0090 (BC_1, BIp(13), input, X), "&
"0089 (BC_1, *, control, 0), "&
"0088 (BC_1, BIp(14), output3, X, 89, 0, Z), "&
"0087 (BC_1, BIp(14), input, X), "&
"0086 (BC_1, *, control, 0), "&
"0085 (BC_1, BIp(15), output3, X, 86, 0, Z), "&
"0084 (BC_1, BIp(15), input, X), "&
"0083 (BC_1, *, control, 0), "&
"0082 (BC_1, BIp(8), output3, X, 83, 0, Z), "&
"0081 (BC_1, BIp(8), input, X), "&
"0080 (BC_1, *, control, 0), "&
"0079 (BC_1, BIp(9), output3, X, 80, 0, Z), "&
"0078 (BC_1, BIp(9), input, X), "&
"0077 (BC_1, *, control, 0), "&
"0076 (BC_1, BIp(10), output3, X, 77, 0, Z), "&
"0075 (BC_1, BIp(10), input, X), "&
"0074 (BC_1, *, control, 0), "&
"0073 (BC_1, BIp(11), output3, X, 74, 0, Z), "&
"0072 (BC_1, BIp(11), input, X), "&
"0071 (BC_1, *, control, 0), "&
"0070 (BC_1, BIp(4), output3, X, 71, 0, Z), "&
"0069 (BC_1, BIp(4), input, X), "&
"0068 (BC_1, *, control, 0), "&
"0067 (BC_1, BIp(5), output3, X, 68, 0, Z), "&
"0066 (BC_1, BIp(5), input, X), "&
"0065 (BC_1, *, control, 0), "&
"0064 (BC_1, BIp(6), output3, X, 65, 0, Z), "&
"0063 (BC_1, BIp(6), input, X), "&
"0062 (BC_1, *, control, 0), "&
"0061 (BC_1, BIp(7), output3, X, 62, 0, Z), "&
"0060 (BC_1, BIp(7), input, X), "&
"0059 (BC_1, *, control, 0), "&
"0058 (BC_1, BIp(0), output3, X, 59, 0, Z), "&
"0057 (BC_1, BIp(0), input, X), "&
"0056 (BC_1, *, control, 0), "&
"0055 (BC_1, BIp(1), output3, X, 56, 0, Z), "&
"0054 (BC_1, BIp(1), input, X), "&
"0053 (BC_1, *, control, 0), "&
"0052 (BC_1, BIp(2), output3, X, 53, 0, Z), "&
"0051 (BC_1, BIp(2), input, X), "&
"0050 (BC_1, *, control, 0), "&
"0049 (BC_1, BIp(3), output3, X, 50, 0, Z), "&
"0048 (BC_1, BIp(3), input, X), "&
"0047 (BC_1, *, control, 0), "&
"0046 (BC_1, BIp(16), output3, X, 47, 0, Z), "&
"0045 (BC_1, BIp(16), input, X), "&
"0044 (BC_1, *, control, 0), "&
"0043 (BC_1, BIp(17), output3, X, 44, 0, Z), "&
"0042 (BC_1, BIp(17), input, X), "&
"0041 (BC_1, *, control, 0), "&
"0040 (BC_1, BIp(18), output3, X, 41, 0, Z), "&
"0039 (BC_1, BIp(18), input, X), "&
"0038 (BC_1, *, control, 0), "&
"0037 (BC_1, BIp(19), output3, X, 38, 0, Z), "&
"0036 (BC_1, BIp(19), input, X), "&
"0035 (BC_1, *, control, 0), "&
"0034 (BC_1, BIp(20), output3, X, 35, 0, Z), "&
"0033 (BC_1, BIp(20), input, X), "&
"0032 (BC_1, *, control, 0), "&
"0031 (BC_1, BIp(21), output3, X, 32, 0, Z), "&
"0030 (BC_1, BIp(21), input, X), "&
"0029 (BC_1, *, control, 0), "&
"0028 (BC_1, BIp(22), output3, X, 29, 0, Z), "&
"0027 (BC_1, BIp(22), input, X), "&
"0026 (BC_1, *, control, 0), "&
"0025 (BC_1, BIp(23), output3, X, 26, 0, Z), "&
"0024 (BC_1, BIp(23), input, X), "&
"0023 (BC_1, *, control, 0), "&
"0022 (BC_1, BIp(24), output3, X, 23, 0, Z), "&
"0021 (BC_1, BIp(24), input, X), "&
"0020 (BC_1, *, control, 0), "&
"0019 (BC_1, BIp(25), output3, X, 20, 0, Z), "&
"0018 (BC_1, BIp(25), input, X), "&
"0017 (BC_1, *, control, 0), "&
"0016 (BC_1, BIp(26), output3, X, 17, 0, Z), "&
"0015 (BC_1, BIp(26), input, X), "&
"0014 (BC_1, *, control, 0), "&
"0013 (BC_1, BIp(27), output3, X, 14, 0, Z), "&
"0012 (BC_1, BIp(27), input, X), "&
"0011 (BC_1, *, control, 0), "&
"0010 (BC_1, BIp(28), output3, X, 11, 0, Z), "&
"0009 (BC_1, BIp(28), input, X), "&
"0008 (BC_1, *, control, 0), "&
"0007 (BC_1, BIp(29), output3, X, 8, 0, Z), "&
"0006 (BC_1, BIp(29), input, X), "&
"0005 (BC_1, *, control, 0), "&
"0004 (BC_1, BIp(30), output3, X, 5, 0, Z), "&
"0003 (BC_1, BIp(30), input, X), "&
"0002 (BC_1, *, control, 0), "&
"0001 (BC_1, BIp(31), output3, X, 2, 0, Z), "&
"0000 (BC_1, BIp(31), input, X)";
-- ************************************************************************
-- * IEEE 1532 EXTENSION INFORMATION *
-- ************************************************************************
attribute ISC_PIN_BEHAVIOR of ispLSI2032VE_XXLJ44 : entity is
"CLAMP";
attribute ISC_STATUS of ispLSI2032VE_XXLJ44 : entity is "Not Implemented";
attribute ISC_BLANK_USERCODE of ispLSI2032VE_XXLJ44 : entity is
"11111111111111111111111111111111";
attribute ISC_FLOW of ispLSI2032VE_XXLJ44 : entity is
"flow_verify(idcode) "&
"initialize "&
"(IDCODE WAIT TCK 1 32:10301043), "&
"flow_enable "&
"initialize "&
"(ISC_ENABLE WAIT TCK 3, 1.0e-4), "&
"flow_erase "&
"initialize "&
"(ISC_ERASE WAIT TCK 3, 2.2e-1), "&
"flow_preload "&
"initialize "&
"(SAMPLE 102:0 WAIT TCK 1), "&
"flow_program(array) "&
"initialize "&
"(ISC_ADDRESS_SHIFT 102:$addr=20000000000000000000000000"&
" WAIT TCK 1) "&
"repeat 102 "&
"(ISC_DATA_SHIFT 80:? WAIT TCK 1) "&
"(LSC_PROGRAM 102:$addr WAIT TCK 3, 12.0e-3) "&
"(ISC_ADDRESS_SHIFT 102:$addr>>1 WAIT TCK 1), "&
"flow_verify(array) "&
"initialize "&
"(ISC_ADDRESS_SHIFT 102:$addr=20000000000000000000000000"&
" WAIT TCK 1) "&
"repeat 102 "&
"(ISC_READ WAIT TCK 3, 30.0e-6 80:?:CRC)"&
"(ISC_ADDRESS_SHIFT 102:$addr>>1 WAIT TCK 1), "&
"flow_read(array) "&
"initialize "&
"(ISC_ADDRESS_SHIFT 102:$addr=20000000000000000000000000"&
" WAIT TCK 1) "&
"repeat 102 "&
"(ISC_READ WAIT TCK 3, 30.0e-6 80:!:CRC)"&
"(ISC_ADDRESS_SHIFT 102:$addr>>1 WAIT TCK 1), "&
"flow_program(usercode) "&
"initialize "&
"(USERCODE 32:? WAIT TCK 1) "&
"(LSC_PROGRAM_USERCODE WAIT TCK 3, 12.0e-3), "&
"flow_verify(usercode) "&
"initialize "&
"(USERCODE WAIT TCK 3 32:?), "&
"flow_read(usercode) "&
"initialize "&
"(USERCODE WAIT TCK 3 32:!), "&
"flow_program_security "&
"initialize "&
"(ISC_PROGRAM_SECURITY WAIT TCK 3, 12.0e-3), "&
"flow_disable "&
"initialize "&
"(ISC_DISABLE WAIT TCK 3, 1.0e-3), "&
"flow_program_done "&
"initialize "&
"(ISC_NOOP WAIT TCK 1)";
attribute ISC_PROCEDURE of ispLSI2032VE_XXLJ44: entity is
"proc_verify(idcode) = (flow_verify(idcode)), "&
"proc_enable = (flow_enable), "&
"proc_disable = (flow_disable), "&
"proc_program(array) = (flow_program(array)), "&
"proc_verify(array) = (flow_verify(array)), "&
"proc_erase = (flow_erase), "&
"proc_read(array) = (flow_read(array)), "&
"proc_program(usercode) = (flow_program(usercode)), "&
"proc_verify(usercode) = (flow_verify(usercode)), "&
"proc_read(usercode) = (flow_read(usercode)), "&
"proc_program_done = (flow_program_done), "&
"proc_error_exit = (flow_disable), "&
"proc_preload = (flow_preload), "&
"proc_program_security = (flow_program_security)";
attribute ISC_ACTION of ispLSI2032VE_XXLJ44 : entity is
"erase = ( proc_verify(idcode), "&
"proc_preload recommended, "&
"proc_enable, "&
"proc_erase, "&
"proc_disable), "&
"program = ( proc_verify(idcode), "&
"proc_preload recommended, "&
"proc_enable, "&
"proc_erase, "&
"proc_program(array), "&
"proc_program(usercode), "&
"proc_verify(array), "&
"proc_verify(usercode), "&
"proc_program_security optional, "&
"proc_program_done, "&
"proc_disable), "&
"verify = ( proc_verify(idcode), "&
"proc_preload recommended, "&
"proc_enable, "&
"proc_verify(array), "&
"proc_verify(usercode), "&
"proc_disable), "&
"read = ( proc_verify(idcode), "&
"proc_preload recommended, "&
"proc_enable, "&
"proc_read(array), "&
"proc_read(usercode), "&
"proc_disable), "&
"verify_idcode = ( proc_verify(idcode)), "&
"secure = ( proc_verify(idcode), "&
"proc_preload recommended, "&
"proc_enable, "&
"proc_program_security, "&
"proc_disable)";
end ispLSI2032VE_XXLJ44;