-- ********************************************************************
-- * LC4032ZC BSDL Model *
-- * File Version: 1.02 *
-- * File Date: 10/05/06 *
-- * *
-- * Standard Test Access Port and Boundary-Scan Architecture *
-- * VHDL Description File *
-- * *
-- * This BSDL file is created by ispBDF v3.1 according to: *
-- * - IEEE 1532 2001 spec. *
-- * - IEEE 1149.1 2001 spec. *
-- * *
-- * This BSDL has been validated for syntax and semantics *
-- * compliance to IEEE 1149.1 using: *
-- * - Lattice BSDL Syntax Checker *
-- * - Goepel BSDL Syntax Checker V3.0.1 *
-- * - ASSET/Agilent BSDL Validation Service *
-- * - JTAG Technologies BSDL Syntax Checker *
-- * *
-- * Copyright 2000 - 2006 *
-- * Lattice Semiconductor Corporation *
-- * 5555 NE Moore Ct. *
-- * Hillsboro, OR 97124 *
-- * *
-- * All rights reserved. No part of this program or publication *
-- * may be reproduced, transmitted, transcribed, stored in a *
-- * retrieval system, or translated into any language or *
-- * computer language, in any form or by any means without this *
-- * notice appearing within. *
-- ********************************************************************
-- * *
-- * IMPORTANT *
-- * *
-- * The following is a BSDL file that tests all of the I/O pins *
-- * as bidirectional 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 website at www.latticesemi.com. *
-- * *
-- * For Further assistance, please contact Tech Support at *
-- * 1-800-LATTICE or techsupport@latticesemi.com *
-- ********************************************************************
-- * *
-- * REVISION HISTORY *
-- * *
-- * Rev 1.02: 10/05/06 *
-- * - rcs: Updated Version Control to STD_1149_1_2001.all. *
-- * - rcs: Updated COMPONENT_CONFORMANCE to STD_1149_1_2001. *
-- * - rcs: Added INSTRUCTION_OPCODE PRELOAD. *
-- * - rcs: Changed ISC_PROGRAM_INC to ISC_PROGRAM, and it's *
-- * REGISTER_ACCESS to ISC_PDATA. *
-- * - rcs: Changed ISC_READ_INC to ISC_READ, and it's *
-- * REGISTER_ACCESS to ISC_PDATA. *
-- * - rcs: Changed LSC_ADDRESS_INIT to ISC_ADDRESS_INIT. *
-- * - rcs: Added PRIVATE instruction. *
-- * - rcs: Updated delay times in the ISC_FLOW. *
-- * - rcs: Changed proc_program_security to proc_program(security). *
-- * Rev 1.01: 06/14/03 *
-- * - rcs: Corrected IDCODE Definition verison bits. *
-- * - rcs: Removed INTEST instruction. *
-- * Rev 1.00: 02/12/03 *
-- * - rcs: Initial version. *
-- * *
-- ********************************************************************
-- The Overall Structure of the Entity Description
entity LC4032ZC_XXT48 is
-- Generic Parameter Statement
generic (PHYSICAL_PIN_MAP : string := "TQFP_48");
-- Logical Port Description Statement
port (
TDI: in bit;
IOA5: inout bit;
IOA6: inout bit;
IOA7: inout bit;
GND0: linkage bit;
VCCO0: linkage bit;
IOA8: inout bit;
IOA9: inout bit;
IOA10: inout bit;
IOA11: inout bit;
TCK: in bit;
VCC: linkage bit_vector(0 to 1);
GND: linkage bit_vector(0 to 1);
IOA12: inout bit;
IOA13: inout bit;
IOA14: inout bit;
IOA15: inout bit;
CLK1: in bit;
CLK2: in bit;
IOB0: inout bit;
IOB1: inout bit;
IOB2: inout bit;
IOB3: inout bit;
IOB4: inout bit;
TMS: in bit;
IOB5: inout bit;
IOB6: inout bit;
IOB7: inout bit;
GND1: linkage bit;
VCCO1: linkage bit;
IOB8: inout bit;
IOB9: inout bit;
IOB10: inout bit;
IOB11: inout bit;
TDO: out bit;
IOB12: inout bit;
IOB13: inout bit;
IOB14: inout bit;
IOB15: inout bit;
CLK3: in bit;
CLK0: in bit;
IOA0: inout bit;
IOA1: inout bit;
IOA2: inout bit;
IOA3: inout bit;
IOA4: inout bit
);
-- Version Control
use STD_1149_1_2001.all; -- 1149.1-2001 attributes
use STD_1532_2001.all; -- 1532-2001 attributes
-- Component Conformance Statement
attribute COMPONENT_CONFORMANCE of LC4032ZC_XXT48 : entity is
"STD_1149_1_2001";
-- Device Package Pin Mapping
attribute PIN_MAP of LC4032ZC_XXT48 : entity is PHYSICAL_PIN_MAP;
constant TQFP_48 : PIN_MAP_STRING :=
"TDI: 1,"&
"IOA5: 2,"&
"IOA6: 3,"&
"IOA7: 4,"&
"GND0: 5,"&
"VCCO0: 6,"&
"IOA8: 7,"&
"IOA9: 8,"&
"IOA10: 9,"&
"IOA11: 10,"&
"TCK: 11,"&
"VCC: (12, 36), "&
"GND: (13, 37), "&
"IOA12: 14,"&
"IOA13: 15,"&
"IOA14: 16,"&
"IOA15: 17,"&
"CLK1: 18,"&
"CLK2: 19,"&
"IOB0: 20,"&
"IOB1: 21,"&
"IOB2: 22,"&
"IOB3: 23,"&
"IOB4: 24,"&
"TMS: 25,"&
"IOB5: 26,"&
"IOB6: 27,"&
"IOB7: 28,"&
"GND1: 29,"&
"VCCO1: 30,"&
"IOB8: 31,"&
"IOB9: 32,"&
"IOB10: 33,"&
"IOB11: 34,"&
"TDO: 35,"&
"IOB12: 38,"&
"IOB13: 39,"&
"IOB14: 40,"&
"IOB15: 41,"&
"CLK3: 42,"&
"CLK0: 43,"&
"IOA0: 44,"&
"IOA1: 45,"&
"IOA2: 46,"&
"IOA3: 47,"&
"IOA4: 48";
-- Scan Port Identification
attribute TAP_SCAN_CLOCK of TCK : Signal is (25.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;
-- Instruction Register Description
attribute INSTRUCTION_LENGTH of LC4032ZC_XXT48 : entity is 8;
attribute INSTRUCTION_OPCODE of LC4032ZC_XXT48 : entity is
-- 1149.1 instructions
"BYPASS (11111111),"&
"SAMPLE (00011100),"&
"PRELOAD (00011100),"&
"EXTEST (00000000),"&
"IDCODE (00010110),"&
"USERCODE (00010111),"&
"HIGHZ (00011000),"&
"CLAMP (00100000),"&
-- ISC instructions
"ISC_ENABLE (00010101),"&
"ISC_DISABLE (00011110),"&
"ISC_NOOP (00110000),"&
"ISC_ADDRESS_SHIFT (00000001),"&
"ISC_DATA_SHIFT (00000010),"&
"ISC_ERASE (00000011),"&
"ISC_DISCHARGE (00010100),"&
"ISC_PROGRAM (00100111),"&
"ISC_READ (00101010),"&
"ISC_PROGRAM_SECURITY (00001001),"&
"ISC_PROGRAM_DONE (00101111),"&
"ISC_ERASE_DONE (00100100),"&
"ISC_PROGRAM_USERCODE (00011010),"&
"ISC_ADDRESS_INIT (00100001),"&
-- PRIVATE instructions
"PRIVATE (00101100)";
attribute INSTRUCTION_CAPTURE of LC4032ZC_XXT48 : entity is
"00011X01";
attribute INSTRUCTION_PRIVATE of LC4032ZC_XXT48 : entity is
"PRIVATE";
-- IDCODE Definition
attribute IDCODE_REGISTER of LC4032ZC_XXT48 : entity is
"XXX1"& -- version number
"0001100000000100"& -- part identification
"00000100001"& -- company code
"1"; -- mandatory
-- USERCODE Definition
attribute USERCODE_REGISTER of LC4032ZC_XXT48 : entity is
"11111111111111111111111111111111";
-- Register Access Description
attribute REGISTER_ACCESS of LC4032ZC_XXT48 : entity is
"BYPASS (BYPASS, "&
" HIGHZ, "&
" CLAMP),"&
"BOUNDARY (SAMPLE, "&
" EXTEST),"&
"DEVICE_ID (IDCODE, "&
" USERCODE, "&
" ISC_PROGRAM_USERCODE),"&
"ISC_DEFAULT[1] (ISC_ENABLE, "&
" ISC_DISABLE, "&
" ISC_NOOP, "&
" ISC_ERASE, "&
" ISC_DISCHARGE, "&
" ISC_PROGRAM_SECURITY, "&
" ISC_PROGRAM_DONE, "&
" ISC_ERASE_DONE, "&
" ISC_ADDRESS_INIT),"&
"ISC_ADDRESS[100] (ISC_ADDRESS_SHIFT),"&
"ISC_DATA[172] (ISC_DATA_SHIFT),"&
"ISC_PDATA[172] (ISC_PROGRAM, "&
" ISC_READ)";
-- *****************************************************************
-- Boundary Scan Register Description, Cell 0 is the closest to TDO
-- *****************************************************************
attribute BOUNDARY_LENGTH of LC4032ZC_XXT48 : entity is 68;
attribute BOUNDARY_REGISTER of LC4032ZC_XXT48 : entity is
--num cell port function safe [ccell disval rslt]
"67 (BC_2, CLK0, INPUT, X ),"&
"66 (BC_7, IOA0, BIDIR, X, 65, 0, Z),"&
"65 (BC_2, *, CONTROL, 0 ),"&
"64 (BC_7, IOA1, BIDIR, X, 63, 0, Z),"&
"63 (BC_2, *, CONTROL, 0 ),"&
"62 (BC_7, IOA2, BIDIR, X, 61, 0, Z),"&
"61 (BC_2, *, CONTROL, 0 ),"&
"60 (BC_7, IOA3, BIDIR, X, 59, 0, Z),"&
"59 (BC_2, *, CONTROL, 0 ),"&
"58 (BC_7, IOA4, BIDIR, X, 57, 0, Z),"&
"57 (BC_2, *, CONTROL, 0 ),"&
"56 (BC_7, IOA5, BIDIR, X, 55, 0, Z),"&
"55 (BC_2, *, CONTROL, 0 ),"&
"54 (BC_7, IOA6, BIDIR, X, 53, 0, Z),"&
"53 (BC_2, *, CONTROL, 0 ),"&
"52 (BC_7, IOA7, BIDIR, X, 51, 0, Z),"&
"51 (BC_2, *, CONTROL, 0 ),"&
"50 (BC_7, IOA8, BIDIR, X, 49, 0, Z),"&
"49 (BC_2, *, CONTROL, 0 ),"&
"48 (BC_7, IOA9, BIDIR, X, 47, 0, Z),"&
"47 (BC_2, *, CONTROL, 0 ),"&
"46 (BC_7, IOA10, BIDIR, X, 45, 0, Z),"&
"45 (BC_2, *, CONTROL, 0 ),"&
"44 (BC_7, IOA11, BIDIR, X, 43, 0, Z),"&
"43 (BC_2, *, CONTROL, 0 ),"&
"42 (BC_7, IOA12, BIDIR, X, 41, 0, Z),"&
"41 (BC_2, *, CONTROL, 0 ),"&
"40 (BC_7, IOA13, BIDIR, X, 39, 0, Z),"&
"39 (BC_2, *, CONTROL, 0 ),"&
"38 (BC_7, IOA14, BIDIR, X, 37, 0, Z),"&
"37 (BC_2, *, CONTROL, 0 ),"&
"36 (BC_7, IOA15, BIDIR, X, 35, 0, Z),"&
"35 (BC_2, *, CONTROL, 0 ),"&
"34 (BC_2, CLK1, INPUT, X ),"&
"33 (BC_2, CLK2, INPUT, X ),"&
"32 (BC_7, IOB0, BIDIR, X, 31, 0, Z),"&
"31 (BC_2, *, CONTROL, 0 ),"&
"30 (BC_7, IOB1, BIDIR, X, 29, 0, Z),"&
"29 (BC_2, *, CONTROL, 0 ),"&
"28 (BC_7, IOB2, BIDIR, X, 27, 0, Z),"&
"27 (BC_2, *, CONTROL, 0 ),"&
"26 (BC_7, IOB3, BIDIR, X, 25, 0, Z),"&
"25 (BC_2, *, CONTROL, 0 ),"&
"24 (BC_7, IOB4, BIDIR, X, 23, 0, Z),"&
"23 (BC_2, *, CONTROL, 0 ),"&
"22 (BC_7, IOB5, BIDIR, X, 21, 0, Z),"&
"21 (BC_2, *, CONTROL, 0 ),"&
"20 (BC_7, IOB6, BIDIR, X, 19, 0, Z),"&
"19 (BC_2, *, CONTROL, 0 ),"&
"18 (BC_7, IOB7, BIDIR, X, 17, 0, Z),"&
"17 (BC_2, *, CONTROL, 0 ),"&
"16 (BC_7, IOB8, BIDIR, X, 15, 0, Z),"&
"15 (BC_2, *, CONTROL, 0 ),"&
"14 (BC_7, IOB9, BIDIR, X, 13, 0, Z),"&
"13 (BC_2, *, CONTROL, 0 ),"&
"12 (BC_7, IOB10, BIDIR, X, 11, 0, Z),"&
"11 (BC_2, *, CONTROL, 0 ),"&
"10 (BC_7, IOB11, BIDIR, X, 9, 0, Z),"&
"9 (BC_2, *, CONTROL, 0 ),"&
"8 (BC_7, IOB12, BIDIR, X, 7, 0, Z),"&
"7 (BC_2, *, CONTROL, 0 ),"&
"6 (BC_7, IOB13, BIDIR, X, 5, 0, Z),"&
"5 (BC_2, *, CONTROL, 0 ),"&
"4 (BC_7, IOB14, BIDIR, X, 3, 0, Z),"&
"3 (BC_2, *, CONTROL, 0 ),"&
"2 (BC_7, IOB15, BIDIR, X, 1, 0, Z),"&
"1 (BC_2, *, CONTROL, 0 ),"&
"0 (BC_2, CLK3, INPUT, X )";
-- ****************************************************
-- * IEEE 1532 EXTENSION INFORMATION *
-- ****************************************************
attribute ISC_PIN_BEHAVIOR of LC4032ZC_XXT48 : entity is
"CLAMP";
attribute ISC_STATUS of LC4032ZC_XXT48 : entity is
"Not Implemented";
attribute ISC_BLANK_USERCODE of LC4032ZC_XXT48 : entity is
"11111111111111111111111111111111";
attribute ISC_FLOW of LC4032ZC_XXT48 : entity is
"flow_verify(idcode) "&
"initialize "&
"(IDCODE WAIT TCK 1 32:11804043*1FFFFFFF), "&
"flow_enable "&
"initialize "&
"(ISC_ENABLE WAIT TCK 3, 20.0e-3), "&
"flow_erase "&
"initialize "&
"(ISC_ERASE WAIT TCK 3, 200.0e-3) "&
"(ISC_DISCHARGE WAIT TCK 3, 200.0e-3), "&
"flow_preload "&
"initialize "&
"(SAMPLE 68:0 WAIT TCK 1), "&
"flow_program(array) "&
"initialize "&
"(ISC_ADDRESS_INIT WAIT TCK 1) "&
"repeat 100"&
"(ISC_PROGRAM 172:? WAIT TCK 3, 13.0e-3), "&
"flow_verify(array) "&
"initialize "&
"(ISC_ADDRESS_SHIFT 100:$addr=800000000000000000000000"&
"0 "&
" WAIT TCK 1) "&
"repeat 100"&
"(ISC_READ WAIT TCK 1, 1.0e-3 172:?:CRC) "&
"(ISC_ADDRESS_SHIFT 100:$addr>>1 WAIT TCK 1), "&
"flow_read(array) "&
"initialize "&
"(ISC_ADDRESS_SHIFT 100:$addr=800000000000000000000000"&
"0 "&
" WAIT TCK 1) "&
"repeat 100"&
"(ISC_READ WAIT TCK 1, 1.0e-3 172:!:CRC) "&
"(ISC_ADDRESS_SHIFT 100:$addr>>1 WAIT TCK 1), "&
"flow_program(usercode) "&
"initialize "&
"(ISC_PROGRAM_USERCODE 32:? WAIT TCK 3, 13.0e-3), "&
"flow_verify(usercode) "&
"initialize "&
"(USERCODE WAIT TCK 1 32:?), "&
"flow_read(usercode) "&
"initialize "&
"(USERCODE WAIT TCK 1 32:!), "&
"flow_read(sysio) "&
"initialize "&
"(ISC_ADDRESS_SHIFT 100:20 WAIT TCK 1) "&
"(ISC_READ WAIT TCK 1, 1.0e-3 172:!), "&
"flow_program_security "&
"initialize "&
"(ISC_PROGRAM_SECURITY WAIT TCK 3, 13.0e-3), "&
"flow_disable "&
"initialize "&
"(ISC_DISABLE WAIT TCK 3, 20.0e-3), "&
"flow_program_done "&
"initialize "&
"(ISC_PROGRAM_DONE WAIT TCK 3, 13.0e-3)";
attribute ISC_PROCEDURE of LC4032ZC_XXT48 : 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_read(sysio) = (flow_read(sysio)), "&
"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 LC4032ZC_XXT48 : entity is
"erase = ( proc_verify(idcode) recommended, "&
"proc_preload recommended, "&
"proc_enable, "&
"proc_erase, "&
"proc_disable), "&
"program = ( proc_verify(idcode) recommended, "&
"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) recommended, "&
"proc_preload recommended, "&
"proc_enable, "&
"proc_verify(array), "&
"proc_verify(usercode), "&
"proc_disable), "&
"read = ( proc_verify(idcode) recommended, "&
"proc_preload recommended, "&
"proc_enable, "&
"proc_read(array) proprietary, "&
"proc_read(sysio), "&
"proc_read(usercode), "&
"proc_disable), "&
"verify_idcode = ( proc_verify(idcode)), "&
"secure = ( proc_verify(idcode) recommended, "&
"proc_preload recommended, "&
"proc_enable, "&
"proc_program(security), "&
"proc_disable)";
end LC4032ZC_XXT48;