-- ********************************************************************
-- * ispGAL22V10AV BSDL Model *
-- * File Version: 1.01 *
-- * File Date: 11/01/02 *
-- * *
-- * Standard Test Access Port and Boundary-Scan Architecture *
-- * VHDL Description File *
-- * *
-- * This BSDL file is created by ispBDF v2.1 according to: *
-- * - IEEE 1532 2001 spec. *
-- * - IEEE 1149.1 1994 spec. *
-- * *
-- * This BSDL file has been syntax checked with: *
-- * - Lattice BSDL Syntax Checker *
-- * - Agilent BSDL Syntax Checker *
-- * *
-- * Copyright 2000, 2001, 2002 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.01: 11/01/02 *
-- * - rcs: Changed BC_2's to BC_2's. *
-- * Rev 1.00: 08/12/02 *
-- * - Initial version *
-- * *
-- ********************************************************************
-- The Overall Structure of the Entity Description
entity ispGAL22V10AV_XXLJ is
-- Generic Parameter Statement
generic (PHYSICAL_PIN_MAP : string := "PLCC_28");
-- Logical Port Description Statement
port (
IO0: inout bit; --I/O Pins
IO1: inout bit; --I/O Pins
IO2: inout bit; --I/O Pins
IO3: inout bit; --I/O Pins
IO4: inout bit; --I/O Pins
IO5: inout bit; --I/O Pins
IO6: inout bit; --I/O Pins
IO7: inout bit; --I/O Pins
IO8: inout bit; --I/O Pins
IO9: inout bit; --I/O Pins
I3: in bit; --Input Pin
I4: in bit; --Input Pin
I5: in bit; --Input Pin
I6: in bit; --Input Pin
I7: in bit; --Input Pin
I8: in bit; --Input Pin
I9: in bit; --Input Pin
I10: in bit; --Input Pin
I11: in bit; --Input Pin
I0: in bit; --Input Pin
I1: in bit; --Input Pin
I2: in bit; --Input Pin
VCC: linkage bit; --VCC pins
GND: linkage bit; --GND pins
TMS: in bit; --JTAG input pin
TCK: in bit; --JTAG input pin
TDI: in bit; --JTAG input pin
TDO: out bit --JTAG output pin
);
-- 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 ispGAL22V10AV_XXLJ : entity is
"STD_1149_1_1993";
-- Device Package Pin Mapping
attribute PIN_MAP of ispGAL22V10AV_XXLJ : entity is PHYSICAL_PIN_MAP;
constant PLCC_28 : PIN_MAP_STRING :=
"IO0: 17,"& --I/O Pins
"IO1: 18,"& --I/O Pins
"IO2: 19,"& --I/O Pins
"IO3: 20,"& --I/O Pins
"IO4: 21,"& --I/O Pins
"IO5: 23,"& --I/O Pins
"IO6: 24,"& --I/O Pins
"IO7: 25,"& --I/O Pins
"IO8: 26,"& --I/O Pins
"IO9: 27,"& --I/O Pins
"I3: 5,"& --Input Pin
"I4: 6,"& --Input Pin
"I5: 7,"& --Input Pin
"I6: 9,"& --Input Pin
"I7: 10,"& --Input Pin
"I8: 11,"& --Input Pin
"I9: 12,"& --Input Pin
"I10: 13,"& --Input Pin
"I11: 16,"& --Input Pin
"I0: 2,"& --Input Pin
"I1: 3,"& --Input Pin
"I2: 4,"& --Input Pin
"VCC: 28,"& --VCC pins
"GND: 14,"& --GND pins
"TMS: 8,"& --JTAG input pin
"TCK: 1,"& --JTAG input pin
"TDI: 15,"& --JTAG input pin
"TDO: 22"; --JTAG output pin
-- 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 ispGAL22V10AV_XXLJ : entity is 8;
attribute INSTRUCTION_OPCODE of ispGAL22V10AV_XXLJ : entity is
-- 1149.1 instructions
"BYPASS (11111111),"&
"SAMPLE (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_INCR (00100111),"&
"ISC_READ_INCR (00101010),"&
"ISC_PROGRAM_SECURITY (00001001),"&
"ISC_PROGRAM_DONE (00101111),"&
"ISC_ERASE_DONE (00100100),"&
"ISC_PROGRAM_USERCODE (00011010),"&
"LSC_ADDRESS_INIT (00100001)";
attribute INSTRUCTION_CAPTURE of ispGAL22V10AV_XXLJ : entity is
"00011X01";
-- IDCODE Definition
attribute IDCODE_REGISTER of ispGAL22V10AV_XXLJ : entity is
"0000"& -- version number
"0001100001111101"& -- part identification
"00000100001"& -- company code
"1"; -- mandatory
-- IDCODE Definition
attribute USERCODE_REGISTER of ispGAL22V10AV_XXLJ : entity is
"11111111111111111111111111111111";
-- Register Access Description
attribute REGISTER_ACCESS of ispGAL22V10AV_XXLJ : 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, "&
" LSC_ADDRESS_INIT),"&
"ISC_ADDRESS[45] (ISC_ADDRESS_SHIFT),"&
"ISC_DATA[132] (ISC_DATA_SHIFT, "&
" ISC_PROGRAM_INCR, "&
" ISC_READ_INCR)";
-- *****************************************************************
-- Boundary Scan Register Description, Cell 0 is the closest to TDO
-- *****************************************************************
attribute BOUNDARY_LENGTH of ispGAL22V10AV_XXLJ : entity is 32;
attribute BOUNDARY_REGISTER of ispGAL22V10AV_XXLJ : entity is
--num cell port function safe [ccell disval rslt]
"31 (BC_2, I0, INPUT, X ),"&
"30 (BC_2, I1, INPUT, X ),"&
"29 (BC_2, I2, INPUT, X ),"&
"28 (BC_2, I3, INPUT, X ),"&
"27 (BC_2, I4, INPUT, X ),"&
"26 (BC_2, I5, INPUT, X ),"&
"25 (BC_2, I6, INPUT, X ),"&
"24 (BC_2, I7, INPUT, X ),"&
"23 (BC_2, I8, INPUT, X ),"&
"22 (BC_2, I9, INPUT, X ),"&
"21 (BC_2, I10, INPUT, X ),"&
"20 (BC_2, I11, INPUT, X ),"&
"19 (BC_7, IO0, BIDIR, X, 18, 0, Z),"&
"18 (BC_2, *, CONTROL, 0 ),"&
"17 (BC_7, IO1, BIDIR, X, 16, 0, Z),"&
"16 (BC_2, *, CONTROL, 0 ),"&
"15 (BC_7, IO2, BIDIR, X, 14, 0, Z),"&
"14 (BC_2, *, CONTROL, 0 ),"&
"13 (BC_7, IO3, BIDIR, X, 12, 0, Z),"&
"12 (BC_2, *, CONTROL, 0 ),"&
"11 (BC_7, IO4, BIDIR, X, 10, 0, Z),"&
"10 (BC_2, *, CONTROL, 0 ),"&
"9 (BC_7, IO5, BIDIR, X, 8, 0, Z),"&
"8 (BC_2, *, CONTROL, 0 ),"&
"7 (BC_7, IO6, BIDIR, X, 6, 0, Z),"&
"6 (BC_2, *, CONTROL, 0 ),"&
"5 (BC_7, IO7, BIDIR, X, 4, 0, Z),"&
"4 (BC_2, *, CONTROL, 0 ),"&
"3 (BC_7, IO8, BIDIR, X, 2, 0, Z),"&
"2 (BC_2, *, CONTROL, 0 ),"&
"1 (BC_7, IO9, BIDIR, X, 0, 0, Z),"&
"0 (BC_2, *, CONTROL, 0 )";
-- ****************************************************
-- * IEEE 1532 EXTENSION INFORMATION *
-- ****************************************************
attribute ISC_PIN_BEHAVIOR of ispGAL22V10AV_XXLJ : entity is
"CLAMP";
attribute ISC_STATUS of ispGAL22V10AV_XXLJ : entity is
"Not Implemented";
attribute ISC_BLANK_USERCODE of ispGAL22V10AV_XXLJ : entity is
"11111111111111111111111111111111";
attribute ISC_FLOW of ispGAL22V10AV_XXLJ : entity is
"flow_verify(idcode) "&
"initialize "&
"(IDCODE WAIT TCK 1 32:0187D043), "&
"flow_enable "&
"initialize "&
"(ISC_ENABLE WAIT TCK 3, 20.0e-6), "&
"flow_erase "&
"initialize "&
"(ISC_ERASE WAIT TCK 3, 50.0e-3) "&
"(ISC_DISCHARGE WAIT TCK 3, 200.0e-6), "&
"flow_preload "&
"initialize "&
"(SAMPLE 32:0 WAIT TCK 1), "&
"flow_program(array) "&
"initialize "&
"(LSC_ADDRESS_INIT WAIT TCK 1) "&
"repeat 45"&
"(ISC_PROGRAM_INCR 132:? WAIT TCK 3, 12.0e-3), "&
"flow_verify(array) "&
"initialize "&
"(ISC_ADDRESS_SHIFT 45:$addr=100000000000 "&
" WAIT TCK 1) "&
"repeat 45"&
"(ISC_READ_INCR WAIT TCK 1, 30.0e-6 132:?:CRC) "&
"(ISC_ADDRESS_SHIFT 45:$addr>>1 WAIT TCK 1), "&
"flow_read(array) "&
"initialize "&
"(ISC_ADDRESS_SHIFT 45:$addr=100000000000 "&
" WAIT TCK 1) "&
"repeat 45"&
"(ISC_READ_INCR WAIT TCK 1, 30.0e-6 132:!:CRC) "&
"(ISC_ADDRESS_SHIFT 45:$addr>>1 WAIT TCK 1), "&
"flow_program(usercode) "&
"initialize "&
"(ISC_PROGRAM_USERCODE 32:? WAIT TCK 3, 12.0e-3), "&
"flow_verify(usercode) "&
"initialize "&
"(USERCODE WAIT TCK 1 32:?), "&
"flow_read(usercode) "&
"initialize "&
"(USERCODE WAIT TCK 1 32:!), "&
"flow_program(sysio) "&
"initialize "&
"(ISC_ADDRESS_SHIFT 45:2 WAIT TCK 1) "&
"(ISC_PROGRAM_INCR 132:? WAIT TCK 3, 12.0e-3), "&
"flow_verify(sysio) "&
"initialize "&
"(ISC_ADDRESS_SHIFT 45:1 WAIT TCK 1) "&
"(ISC_READ_INCR WAIT TCK 1, 30.0e-6 132:?), "&
"flow_read(sysio) "&
"initialize "&
"(ISC_ADDRESS_SHIFT 45:1 WAIT TCK 1) "&
"(ISC_READ_INCR WAIT TCK 1, 30.0e-6 132:!), "&
"flow_program_security "&
"initialize "&
"(ISC_PROGRAM_SECURITY WAIT TCK 3, 12.0e-3), "&
"flow_disable "&
"initialize "&
"(ISC_DISABLE WAIT TCK 3, 50.0e-6), "&
"flow_program_done "&
"initialize "&
"(ISC_PROGRAM_DONE WAIT TCK 3, 12.0e-3)";
attribute ISC_PROCEDURE of ispGAL22V10AV_XXLJ : 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(sysio) = (flow_program(sysio)), "&
"proc_verify(sysio) = (flow_verify(sysio)), "&
"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 ispGAL22V10AV_XXLJ : 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 ispGAL22V10AV_XXLJ;