BSDL Files Library for JTAG

The only free public library that contains thousands of BSDL (Boundary Scan Description Language) models to use with BScan/JTAG tools

BSDL model: ispGAL22V10AV_XXLJ

-- ********************************************************************
-- * 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;