-- ********************************************************************
-- * LC4064ZC BSDL Model *
-- * File Version: 1.03 *
-- * 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.03: 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.02: 11/19/03 *
-- * - rcs: Corrected PIN_MAP_STRING. *
-- * Rev 1.01: 06/14/03 *
-- * - rcs: Corrected IDCODE Definition verison bits. *
-- * - rcs: Removed INTEST instruction. *
-- * Rev 1.00: 02/12/03 *
-- * - rcs: Initial Release. *
-- * *
-- ********************************************************************
-- The Overall Structure of the Entity Description
entity LC4064ZC_XXT48 is
-- Generic Parameter Statement
generic (PHYSICAL_PIN_MAP : string := "TQFP_48");
-- Logical Port Description Statement
port (
TDI: in bit;
IOA8: inout bit;
IOA10: inout bit;
IOA11: inout bit;
GNDO0: linkage bit;
VCCO0: linkage bit;
IOB15: inout bit;
IOB12: inout bit;
IOB10: inout bit;
IOB8: inout bit;
TCK: in bit;
VCC: linkage bit_vector(0 to 1);
GND: linkage bit_vector(0 to 1);
IOB6: inout bit;
IOB4: inout bit;
IOB2: inout bit;
IOB0: inout bit;
CLK1: in bit;
CLK2: in bit;
IOC0: inout bit;
IOC1: inout bit;
IOC2: inout bit;
IOC4: inout bit;
IOC6: inout bit;
TMS: in bit;
IOC8: inout bit;
IOC10: inout bit;
IOC11: inout bit;
GNDO1: linkage bit;
VCCO1: linkage bit;
IOD15: inout bit;
IOD12: inout bit;
IOD10: inout bit;
IOD8: inout bit;
TDO: out bit;
IOD6: inout bit;
IOD4: inout bit;
IOD2: inout bit;
IOD0: inout bit;
CLK3: in bit;
CLK0: in bit;
IOA0: inout bit;
IOA1: inout bit;
IOA2: inout bit;
IOA4: inout bit;
IOA6: 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 LC4064ZC_XXT48 : entity is
"STD_1149_1_2001";
-- Device Package Pin Mapping
attribute PIN_MAP of LC4064ZC_XXT48 : entity is PHYSICAL_PIN_MAP;
constant TQFP_48 : PIN_MAP_STRING :=
"TDI: 1,"&
"IOA8: 2,"&
"IOA10: 3,"&
"IOA11: 4,"&
"GNDO0: 5,"&
"VCCO0: 6,"&
"IOB15: 7,"&
"IOB12: 8,"&
"IOB10: 9,"&
"IOB8: 10,"&
"TCK: 11,"&
"VCC: (12, 36), "&
"GND: (13, 37), "&
"IOB6: 14,"&
"IOB4: 15,"&
"IOB2: 16,"&
"IOB0: 17,"&
"CLK1: 18,"&
"CLK2: 19,"&
"IOC0: 20,"&
"IOC1: 21,"&
"IOC2: 22,"&
"IOC4: 23,"&
"IOC6: 24,"&
"TMS: 25,"&
"IOC8: 26,"&
"IOC10: 27,"&
"IOC11: 28,"&
"GNDO1: 29,"&
"VCCO1: 30,"&
"IOD15: 31,"&
"IOD12: 32,"&
"IOD10: 33,"&
"IOD8: 34,"&
"TDO: 35,"&
"IOD6: 38,"&
"IOD4: 39,"&
"IOD2: 40,"&
"IOD0: 41,"&
"CLK3: 42,"&
"CLK0: 43,"&
"IOA0: 44,"&
"IOA1: 45,"&
"IOA2: 46,"&
"IOA4: 47,"&
"IOA6: 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 LC4064ZC_XXT48 : entity is 8;
attribute INSTRUCTION_OPCODE of LC4064ZC_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 LC4064ZC_XXT48 : entity is
"00011X01";
attribute INSTRUCTION_PRIVATE of LC4064ZC_XXT48 : entity is
"PRIVATE";
-- IDCODE Definition
attribute IDCODE_REGISTER of LC4064ZC_XXT48 : entity is
"XXX1"& -- version number
"0001100000001100"& -- part identification
"00000100001"& -- company code
"1"; -- mandatory
-- USERCODE Definition
attribute USERCODE_REGISTER of LC4064ZC_XXT48 : entity is
"11111111111111111111111111111111";
-- Register Access Description
attribute REGISTER_ACCESS of LC4064ZC_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[356] (ISC_DATA_SHIFT),"&
"ISC_PDATA[356] (ISC_PROGRAM, "&
" ISC_READ)";
-- *****************************************************************
-- Boundary Scan Register Description, Cell 0 is the closest to TDO
-- *****************************************************************
attribute BOUNDARY_LENGTH of LC4064ZC_XXT48 : entity is 138;
attribute BOUNDARY_REGISTER of LC4064ZC_XXT48 : entity is
--num cell port function safe [ccell disval rslt]
"137 (BC_2, CLK0, INPUT, X ),"&
"136 (BC_7, IOA0, BIDIR, X, 135, 0, Z),"&
"135 (BC_2, *, CONTROL, 0 ),"&
"134 (BC_7, IOA1, BIDIR, X, 133, 0, Z),"&
"133 (BC_2, *, CONTROL, 0 ),"&
"132 (BC_7, IOA2, BIDIR, X, 131, 0, Z),"&
"131 (BC_2, *, CONTROL, 0 ),"&
"130 (BC_2, *, INTERNAL, 0 ),"&
"129 (BC_2, *, INTERNAL, 0 ),"&
"128 (BC_7, IOA4, BIDIR, X, 127, 0, Z),"&
"127 (BC_2, *, CONTROL, 0 ),"&
"126 (BC_2, *, INTERNAL, 0 ),"&
"125 (BC_2, *, INTERNAL, 0 ),"&
"124 (BC_7, IOA6, BIDIR, X, 123, 0, Z),"&
"123 (BC_2, *, CONTROL, 0 ),"&
"122 (BC_2, *, INTERNAL, 0 ),"&
"121 (BC_2, *, INTERNAL, 0 ),"&
"120 (BC_7, IOA8, BIDIR, X, 119, 0, Z),"&
"119 (BC_2, *, CONTROL, 0 ),"&
"118 (BC_2, *, INTERNAL, 0 ),"&
"117 (BC_2, *, INTERNAL, 0 ),"&
"116 (BC_7, IOA10, BIDIR, X, 115, 0, Z),"&
"115 (BC_2, *, CONTROL, 0 ),"&
"114 (BC_7, IOA11, BIDIR, X, 113, 0, Z),"&
"113 (BC_2, *, CONTROL, 0 ),"&
"112 (BC_2, *, INTERNAL, 0 ),"&
"111 (BC_2, *, INTERNAL, 0 ),"&
"110 (BC_2, *, INTERNAL, 0 ),"&
"109 (BC_2, *, INTERNAL, 0 ),"&
"108 (BC_2, *, INTERNAL, 0 ),"&
"107 (BC_2, *, INTERNAL, 0 ),"&
"106 (BC_2, *, INTERNAL, 0 ),"&
"105 (BC_2, *, INTERNAL, 0 ),"&
"104 (BC_2, *, INTERNAL, 0 ),"&
"103 (BC_2, *, INTERNAL, 0 ),"&
"102 (BC_2, *, INTERNAL, 0 ),"&
"101 (BC_7, IOB0, BIDIR, X, 100, 0, Z),"&
"100 (BC_2, *, CONTROL, 0 ),"&
"99 (BC_2, *, INTERNAL, 0 ),"&
"98 (BC_2, *, INTERNAL, 0 ),"&
"97 (BC_7, IOB2, BIDIR, X, 96, 0, Z),"&
"96 (BC_2, *, CONTROL, 0 ),"&
"95 (BC_2, *, INTERNAL, 0 ),"&
"94 (BC_2, *, INTERNAL, 0 ),"&
"93 (BC_7, IOB4, BIDIR, X, 92, 0, Z),"&
"92 (BC_2, *, CONTROL, 0 ),"&
"91 (BC_2, *, INTERNAL, 0 ),"&
"90 (BC_2, *, INTERNAL, 0 ),"&
"89 (BC_7, IOB6, BIDIR, X, 88, 0, Z),"&
"88 (BC_2, *, CONTROL, 0 ),"&
"87 (BC_2, *, INTERNAL, 0 ),"&
"86 (BC_2, *, INTERNAL, 0 ),"&
"85 (BC_7, IOB8, BIDIR, X, 84, 0, Z),"&
"84 (BC_2, *, CONTROL, 0 ),"&
"83 (BC_2, *, INTERNAL, 0 ),"&
"82 (BC_2, *, INTERNAL, 0 ),"&
"81 (BC_7, IOB10, BIDIR, X, 80, 0, Z),"&
"80 (BC_2, *, CONTROL, 0 ),"&
"79 (BC_2, *, INTERNAL, 0 ),"&
"78 (BC_2, *, INTERNAL, 0 ),"&
"77 (BC_7, IOB12, BIDIR, X, 76, 0, Z),"&
"76 (BC_2, *, CONTROL, 0 ),"&
"75 (BC_2, *, INTERNAL, 0 ),"&
"74 (BC_2, *, INTERNAL, 0 ),"&
"73 (BC_2, *, INTERNAL, 0 ),"&
"72 (BC_2, *, INTERNAL, 0 ),"&
"71 (BC_7, IOB15, BIDIR, X, 70, 0, Z),"&
"70 (BC_2, *, CONTROL, 0 ),"&
"69 (BC_2, CLK1, INPUT, X ),"&
"68 (BC_2, CLK2, INPUT, X ),"&
"67 (BC_7, IOC0, BIDIR, X, 66, 0, Z),"&
"66 (BC_2, *, CONTROL, 0 ),"&
"65 (BC_7, IOC1, BIDIR, X, 64, 0, Z),"&
"64 (BC_2, *, CONTROL, 0 ),"&
"63 (BC_7, IOC2, BIDIR, X, 62, 0, Z),"&
"62 (BC_2, *, CONTROL, 0 ),"&
"61 (BC_2, *, INTERNAL, 0 ),"&
"60 (BC_2, *, INTERNAL, 0 ),"&
"59 (BC_7, IOC4, BIDIR, X, 58, 0, Z),"&
"58 (BC_2, *, CONTROL, 0 ),"&
"57 (BC_2, *, INTERNAL, 0 ),"&
"56 (BC_2, *, INTERNAL, 0 ),"&
"55 (BC_7, IOC6, BIDIR, X, 54, 0, Z),"&
"54 (BC_2, *, CONTROL, 0 ),"&
"53 (BC_2, *, INTERNAL, 0 ),"&
"52 (BC_2, *, INTERNAL, 0 ),"&
"51 (BC_7, IOC8, BIDIR, X, 50, 0, Z),"&
"50 (BC_2, *, CONTROL, 0 ),"&
"49 (BC_2, *, INTERNAL, 0 ),"&
"48 (BC_2, *, INTERNAL, 0 ),"&
"47 (BC_7, IOC10, BIDIR, X, 46, 0, Z),"&
"46 (BC_2, *, CONTROL, 0 ),"&
"45 (BC_7, IOC11, BIDIR, X, 44, 0, Z),"&
"44 (BC_2, *, CONTROL, 0 ),"&
"43 (BC_2, *, INTERNAL, 0 ),"&
"42 (BC_2, *, INTERNAL, 0 ),"&
"41 (BC_2, *, INTERNAL, 0 ),"&
"40 (BC_2, *, INTERNAL, 0 ),"&
"39 (BC_2, *, INTERNAL, 0 ),"&
"38 (BC_2, *, INTERNAL, 0 ),"&
"37 (BC_2, *, INTERNAL, 0 ),"&
"36 (BC_2, *, INTERNAL, 0 ),"&
"35 (BC_2, *, INTERNAL, 0 ),"&
"34 (BC_2, *, INTERNAL, 0 ),"&
"33 (BC_2, *, INTERNAL, 0 ),"&
"32 (BC_7, IOD0, BIDIR, X, 31, 0, Z),"&
"31 (BC_2, *, CONTROL, 0 ),"&
"30 (BC_2, *, INTERNAL, 0 ),"&
"29 (BC_2, *, INTERNAL, 0 ),"&
"28 (BC_7, IOD2, BIDIR, X, 27, 0, Z),"&
"27 (BC_2, *, CONTROL, 0 ),"&
"26 (BC_2, *, INTERNAL, 0 ),"&
"25 (BC_2, *, INTERNAL, 0 ),"&
"24 (BC_7, IOD4, BIDIR, X, 23, 0, Z),"&
"23 (BC_2, *, CONTROL, 0 ),"&
"22 (BC_2, *, INTERNAL, 0 ),"&
"21 (BC_2, *, INTERNAL, 0 ),"&
"20 (BC_7, IOD6, BIDIR, X, 19, 0, Z),"&
"19 (BC_2, *, CONTROL, 0 ),"&
"18 (BC_2, *, INTERNAL, 0 ),"&
"17 (BC_2, *, INTERNAL, 0 ),"&
"16 (BC_7, IOD8, BIDIR, X, 15, 0, Z),"&
"15 (BC_2, *, CONTROL, 0 ),"&
"14 (BC_2, *, INTERNAL, 0 ),"&
"13 (BC_2, *, INTERNAL, 0 ),"&
"12 (BC_7, IOD10, BIDIR, X, 11, 0, Z),"&
"11 (BC_2, *, CONTROL, 0 ),"&
"10 (BC_2, *, INTERNAL, 0 ),"&
"9 (BC_2, *, INTERNAL, 0 ),"&
"8 (BC_7, IOD12, BIDIR, X, 7, 0, Z),"&
"7 (BC_2, *, CONTROL, 0 ),"&
"6 (BC_2, *, INTERNAL, 0 ),"&
"5 (BC_2, *, INTERNAL, 0 ),"&
"4 (BC_2, *, INTERNAL, 0 ),"&
"3 (BC_2, *, INTERNAL, 0 ),"&
"2 (BC_7, IOD15, 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 LC4064ZC_XXT48 : entity is
"CLAMP";
attribute ISC_STATUS of LC4064ZC_XXT48 : entity is
"Not Implemented";
attribute ISC_BLANK_USERCODE of LC4064ZC_XXT48 : entity is
"11111111111111111111111111111111";
attribute ISC_FLOW of LC4064ZC_XXT48 : entity is
"flow_verify(idcode) "&
"initialize "&
"(IDCODE WAIT TCK 1 32:1180C043*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 138:0 WAIT TCK 1), "&
"flow_program(array) "&
"initialize "&
"(ISC_ADDRESS_INIT WAIT TCK 1) "&
"repeat 100"&
"(ISC_PROGRAM 356:? 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 356:?: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 356:!: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 356:!), "&
"flow_program_security "&
"initialize "&
"(ISC_PROGRAM_SECURITY WAIT TCK 3, 50.0e-3), "&
"flow_disable "&
"initialize "&
"(ISC_DISABLE WAIT TCK 3, 200.0e-3), "&
"flow_program_done "&
"initialize "&
"(ISC_PROGRAM_DONE WAIT TCK 3, 50.0e-3)";
attribute ISC_PROCEDURE of LC4064ZC_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 LC4064ZC_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 LC4064ZC_XXT48;