-- *********************************************************************
-- * ispGDX80VA 100 pin TQFP BSDL Model                                *
-- *                                                                   *
-- * File Version:      v1.03                                          *
-- * File Date:         Nov. 30, 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:                           *
-- * - 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 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: 11/30/2001                                              *
-- *  - Changed entity name from ispGDX80VA_XXLT100 to                 *
-- *    ispGDX80VA_XXT100.                                             *
-- * Rev 1.01: 10/25/2001                                              *
-- *  - Changed EPEN from in bit to linkage bit.                       *
-- * Rev 1.00: 09/24/2001                                              *
-- *  - Initial Release.                                               *
-- *                                                                   *
-- *********************************************************************

   -- The Overall Structure of the Entity Description
   entity ispGDX80VA_XXT100 is

   -- Generic Parameter Statement
   generic (PHYSICAL_PIN_MAP : string := "TQFP_100");

   -- 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
          TOE: in bit;
          EPEN: linkage bit;                    -- EPEN pin
      --    RESET: in bit;                        -- Active low RESET pin
          Clk: in bit;                          -- Clock input pins
          IOA: inout bit_vector (0 to 19);      -- Bi-Directional pins
          IOB: inout bit_vector (0 to 19);      -- Bi-Directional pins
          IOC: inout bit_vector (0 to 19);      -- Bi-Directional pins
          IOD: inout bit_vector (0 to 19);      -- Bi-Directional pins
          VCC: linkage bit_vector (0 to 4);     -- VCC pins
          GND: linkage bit_vector (0 to 7)      -- GND pins
          );

   -- Version Control
   use STD_1149_1_1994.all;                   -- 1149.1-1994 attributes
   use STD_1532_2001.all;                     -- 1532 2001 attributes

   attribute COMPONENT_CONFORMANCE of ispGDX80VA_XXT100 : entity is
   "STD_1149_1_1993";

   attribute PIN_MAP of ispGDX80VA_XXT100 : entity is PHYSICAL_PIN_MAP;

   constant TQFP_100: PIN_MAP_STRING:=
   "TDI:39," &                                -- JTAG (TDI) input pin
   "TMS:86," &                                -- JTAG (TMS) input pin
   "TCK:36," &                                -- JTAG (TCK) input pin
   "TDO:85," &                                -- JTAG (TDO) output pin
   "TOE:87," &
  -- "RESET:90," &                              -- RESET input pin
   "EPEN:35," &                               -- EPEN control pin
   "Clk:38,     " &                           -- Clock pins

   "IOA:(    1,    2,    3,    4,    5,    7,    8,  " & 
   "         9,   10,   11,   13,   14,   15,   16,  " & 
   "        17,   19,   20,   21,   22,   23),       " & -- IOA0-19

   "IOB:(   24,   25,   26,   27,   28,   30,   31,  " & 
   "        32,   33,   34,   40,   41,   42,   43,  " &
   "        44,   46,   47,   48,   49,   50),       " & -- IOB0-19

   "IOC:(   51,   52,   53,   54,   55,   57,   58,  " &
   "        59,   60,   61,   63,   64,   65,   66,  " & 
   "        67,   69,   70,   71,   72,   73),       " & -- IOC0-19

   "IOD:(   74,   75,   76,   77,   78,   80,   81,  " & 
   "        82,   83,   84,   90,   91,   92,   93,  " & 
   "        94,   96,   97,   98,   99,   100),      " & -- IOD0-19

   "VCC:(   12,   37,   62,   88,   89),             " & -- VCC pins

   "GND:(    6,   18,   29,   45,   56,   68,   79,  " & -- GND pins
   "        95)                                      " ; -- GND pins

   -- Scan Port Identification
   attribute TAP_SCAN_CLOCK of TCK : Signal is (20.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 ispGDX80VA_XXT100 : entity is 5;
   attribute INSTRUCTION_OPCODE of ispGDX80VA_XXT100 : 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 ispGDX80VA_XXT100 : entity is
     "11001";
attribute INSTRUCTION_PRIVATE of ispGDX80VA_XXT100 : entity is
     "PRIVATE";

   -- IDCODE Definition
   attribute IDCODE_REGISTER of ispGDX80VA_XXT100: entity is
   "0001" &                            -- version (1)
   "0000001101010000" &                -- part number (0350) 
   "00000100001" &                     -- manufacturer's identity (043)
   "1" ;                               -- required by 1149.1

   -- USERCODE Definition
   attribute USERCODE_REGISTER of ispGDX80VA_XXT100: entity is
   "11111111111111111111111111111111";

   -- Register Access Description
   attribute REGISTER_ACCESS of ispGDX80VA_XXT100 : entity is
      "BOUNDARY            (SAMPLE, EXTEST),"&
      "BYPASS              (BYPASS, HIGHZ),"&
      "DEVICE_ID           (USERCODE, IDCODE),"&
      "ISC_ADDRESS[100]    (ISC_ADDRESS_SHIFT, LSC_PROGRAM),"&
      "ISC_DATA[160]       (ISC_DATA_SHIFT),"&
      "ISC_Rdata[160]      (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 ispGDX80VA_XXT100 : entity is 243;
   attribute BOUNDARY_REGISTER of ispGDX80VA_XXT100 : entity is 

   "0242   (BC_1,   *,          INTERNAL,    X)," &  --RESET
   "0241   (BC_1,   TOE,        INPUT,    X)," &     --Y1/CLKEN1/TOE
   "0240   (BC_1,   Clk,        INPUT,    X)," &     --Y0/CLKEN0

   "0239   (BC_1,   *,          CONTROL,  0)," &
   "0238   (BC_1,   IOB(10),    OUTPUT3,  X,      239,  0,      Z)," &
   "0237   (BC_1,   IOB(10),    INPUT,    X)," &

   "0236   (BC_1,   *,          CONTROL,  0)," &
   "0235   (BC_1,   IOB(11),    OUTPUT3,  X,      236,  0,      Z)," &
   "0234   (BC_1,   IOB(11),    INPUT,    X)," &

   "0233   (BC_1,   *,          CONTROL,  0)," &
   "0232   (BC_1,   IOB(12),    OUTPUT3,  X,      233,  0,      Z)," &
   "0231   (BC_1,   IOB(12),    INPUT,    X)," &

   "0230   (BC_1,   *,          CONTROL,  0)," &
   "0229   (BC_1,   IOB(13),    OUTPUT3,  X,      230,  0,      Z)," &
   "0228   (BC_1,   IOB(13),    INPUT,    X)," &

   "0227   (BC_1,   *,          CONTROL,  0)," &
   "0226   (BC_1,   IOB(14),    OUTPUT3,  X,      227,  0,      Z)," &
   "0225   (BC_1,   IOB(14),    INPUT,    X)," &

   "0224   (BC_1,   *,          CONTROL,  0)," &
   "0223   (BC_1,   IOB(15),    OUTPUT3,  X,      224,  0,      Z)," &
   "0222   (BC_1,   IOB(15),    INPUT,    X)," &

   "0221   (BC_1,   *,          CONTROL,  0)," &
   "0220   (BC_1,   IOB(16),    OUTPUT3,  X,      221,  0,      Z)," &
   "0219   (BC_1,   IOB(16),    INPUT,    X)," &

   "0218   (BC_1,   *,          CONTROL,  0)," &
   "0217   (BC_1,   IOB(17),    OUTPUT3,  X,      218,  0,      Z)," &
   "0216   (BC_1,   IOB(17),    INPUT,    X)," &

   "0215   (BC_1,   *,          CONTROL,  0)," &
   "0214   (BC_1,   IOB(18),    OUTPUT3,  X,      215,  0,      Z)," &
   "0213   (BC_1,   IOB(18),    INPUT,    X)," &

   "0212   (BC_1,   *,          CONTROL,  0)," &
   "0211   (BC_1,   IOB(19),    OUTPUT3,  X,      212,  0,      Z)," &
   "0210   (BC_1,   IOB(19),    INPUT,    X)," &

   "0209   (BC_1,   *,          CONTROL,  0)," &
   "0208   (BC_1,   IOC(0),     OUTPUT3,  X,      209,  0,      Z)," &
   "0207   (BC_1,   IOC(0),     INPUT,    X)," &

   "0206   (BC_1,   *,          CONTROL,  0)," &
   "0205   (BC_1,   IOC(1),     OUTPUT3,  X,      206,  0,      Z)," &
   "0204   (BC_1,   IOC(1),     INPUT,    X)," &

   "0203   (BC_1,   *,          CONTROL,  0)," &
   "0202   (BC_1,   IOC(2),     OUTPUT3,  X,      203,  0,      Z)," &
   "0201   (BC_1,   IOC(2),     INPUT,    X)," &

   "0200   (BC_1,   *,          CONTROL,  0)," &
   "0199   (BC_1,   IOC(3),     OUTPUT3,  X,      200,  0,      Z)," &
   "0198   (BC_1,   IOC(3),     INPUT,    X)," &

   "0197   (BC_1,   *,          CONTROL,  0)," &
   "0196   (BC_1,   IOC(4),     OUTPUT3,  X,      197,  0,      Z)," &
   "0195   (BC_1,   IOC(4),     INPUT,    X)," &

   "0194   (BC_1,   *,          CONTROL,  0)," &
   "0193   (BC_1,   IOC(5),     OUTPUT3,  X,      194,  0,      Z)," &
   "0192   (BC_1,   IOC(5),     INPUT,    X)," &

   "0191   (BC_1,   *,          CONTROL,  0)," &
   "0190   (BC_1,   IOC(6),     OUTPUT3,  X,      191,  0,      Z)," &
   "0189   (BC_1,   IOC(6),     INPUT,    X)," &

   "0188   (BC_1,   *,          CONTROL,  0)," &
   "0187   (BC_1,   IOC(7),     OUTPUT3,  X,      188,  0,      Z)," &
   "0186   (BC_1,   IOC(7),     INPUT,    X)," &

   "0185   (BC_1,   *,          CONTROL,  0)," &
   "0184   (BC_1,   IOC(8),     OUTPUT3,  X,      185,  0,      Z)," &
   "0183   (BC_1,   IOC(8),     INPUT,    X)," &

   "0182   (BC_1,   *,          CONTROL,  0)," &
   "0181   (BC_1,   IOC(9),     OUTPUT3,  X,      182,  0,      Z)," &
   "0180   (BC_1,   IOC(9),     INPUT,    X)," &

   "0179   (BC_1,   *,          CONTROL,  0)," &
   "0178   (BC_1,   IOC(10),    OUTPUT3,  X,      179,  0,      Z)," &
   "0177   (BC_1,   IOC(10),    INPUT,    X)," &

   "0176   (BC_1,   *,          CONTROL,  0)," &
   "0175   (BC_1,   IOC(11),    OUTPUT3,  X,      176,  0,      Z)," &
   "0174   (BC_1,   IOC(11),    INPUT,    X)," &

   "0173   (BC_1,   *,          CONTROL,  0)," &
   "0172   (BC_1,   IOC(12),    OUTPUT3,  X,      173,  0,      Z)," &
   "0171   (BC_1,   IOC(12),    INPUT,    X)," &

   "0170   (BC_1,   *,          CONTROL,  0)," &
   "0169   (BC_1,   IOC(13),    OUTPUT3,  X,      170,  0,      Z)," &
   "0168   (BC_1,   IOC(13),    INPUT,    X)," &

   "0167   (BC_1,   *,          CONTROL,  0)," &
   "0166   (BC_1,   IOC(14),    OUTPUT3,  X,      167,  0,      Z)," &
   "0165   (BC_1,   IOC(14),    INPUT,    X)," &

   "0164   (BC_1,   *,          CONTROL,  0)," &
   "0163   (BC_1,   IOC(15),    OUTPUT3,  X,      164,  0,      Z)," &
   "0162   (BC_1,   IOC(15),    INPUT,    X)," &

   "0161   (BC_1,   *,          CONTROL,  0)," &
   "0160   (BC_1,   IOC(16),    OUTPUT3,  X,      161,  0,      Z)," &
   "0159   (BC_1,   IOC(16),    INPUT,    X)," &

   "0158   (BC_1,   *,          CONTROL,  0)," &
   "0157   (BC_1,   IOC(17),    OUTPUT3,  X,      158,  0,      Z)," &
   "0156   (BC_1,   IOC(17),    INPUT,    X)," &

   "0155   (BC_1,   *,          CONTROL,  0)," &
   "0154   (BC_1,   IOC(18),    OUTPUT3,  X,      155,  0,      Z)," &
   "0153   (BC_1,   IOC(18),    INPUT,    X)," &

   "0152   (BC_1,   *,          CONTROL,  0)," &
   "0151   (BC_1,   IOC(19),    OUTPUT3,  X,      152,  0,      Z)," &
   "0150   (BC_1,   IOC(19),    INPUT,    X)," &

   "0149   (BC_1,   *,          CONTROL,  0)," &
   "0148   (BC_1,   IOD(0),     OUTPUT3,  X,      149,  0,      Z)," &
   "0147   (BC_1,   IOD(0),     INPUT,    X)," &

   "0146   (BC_1,   *,          CONTROL,  0)," &
   "0145   (BC_1,   IOD(1),     OUTPUT3,  X,      146,  0,      Z)," &
   "0144   (BC_1,   IOD(1),     INPUT,    X)," &

   "0143   (BC_1,   *,          CONTROL,  0)," &
   "0142   (BC_1,   IOD(2),     OUTPUT3,  X,      143,  0,      Z)," &
   "0141   (BC_1,   IOD(2),     INPUT,    X)," &

   "0140   (BC_1,   *,          CONTROL,  0)," &
   "0139   (BC_1,   IOD(3),     OUTPUT3,  X,      140,  0,      Z)," &
   "0138   (BC_1,   IOD(3),     INPUT,    X)," &

   "0137   (BC_1,   *,          CONTROL,  0)," &
   "0136   (BC_1,   IOD(4),     OUTPUT3,  X,      137,  0,      Z)," &
   "0135   (BC_1,   IOD(4),     INPUT,    X)," &

   "0134   (BC_1,   *,          CONTROL,  0)," &
   "0133   (BC_1,   IOD(5),     OUTPUT3,  X,      134,  0,      Z)," &
   "0132   (BC_1,   IOD(5),     INPUT,    X)," &

   "0131   (BC_1,   *,          CONTROL,  0)," &
   "0130   (BC_1,   IOD(6),     OUTPUT3,  X,      131,  0,      Z)," &
   "0129   (BC_1,   IOD(6),     INPUT,    X)," &

   "0128   (BC_1,   *,          CONTROL,  0)," &
   "0127   (BC_1,   IOD(7),     OUTPUT3,  X,      128,  0,      Z)," &
   "0126   (BC_1,   IOD(7),     INPUT,    X)," &

   "0125   (BC_1,   *,          CONTROL,  0)," &
   "0124   (BC_1,   IOD(8),     OUTPUT3,  X,      125,  0,      Z)," &
   "0123   (BC_1,   IOD(8),     INPUT,    X)," &

   "0122   (BC_1,   *,          CONTROL,  0)," &
   "0121   (BC_1,   IOD(9),     OUTPUT3,  X,      122,  0,      Z)," &
   "0120   (BC_1,   IOD(9),     INPUT,    X)," &

   "0119   (BC_1,   *,          CONTROL,  0)," &
   "0118   (BC_1,   IOB(9),     OUTPUT3,  X,      119,  0,      Z)," &
   "0117   (BC_1,   IOB(9),     INPUT,    X)," &

   "0116   (BC_1,   *,          CONTROL,  0)," &
   "0115   (BC_1,   IOB(8),     OUTPUT3,  X,      116,  0,      Z)," &
   "0114   (BC_1,   IOB(8),     INPUT,    X)," &

   "0113   (BC_1,   *,          CONTROL,  0)," &
   "0112   (BC_1,   IOB(7),     OUTPUT3,  X,      113,  0,      Z)," &
   "0111   (BC_1,   IOB(7),     INPUT,    X)," &

   "0110   (BC_1,   *,          CONTROL,  0)," &
   "0109   (BC_1,   IOB(6),     OUTPUT3,  X,      110,  0,      Z)," &
   "0108   (BC_1,   IOB(6),     INPUT,    X)," &

   "0107   (BC_1,   *,          CONTROL,  0)," &
   "0106   (BC_1,   IOB(5),     OUTPUT3,  X,      107,  0,      Z)," &
   "0105   (BC_1,   IOB(5),     INPUT,    X)," &

   "0104   (BC_1,   *,          CONTROL,  0)," &
   "0103   (BC_1,   IOB(4),     OUTPUT3,  X,      104,  0,      Z)," &
   "0102   (BC_1,   IOB(4),     INPUT,    X)," &

   "0101   (BC_1,   *,          CONTROL,  0)," &
   "0100   (BC_1,   IOB(3),     OUTPUT3,  X,      101,  0,      Z)," &
   "0099   (BC_1,   IOB(3),     INPUT,    X)," &

   "0098   (BC_1,   *,          CONTROL,  0)," &
   "0097   (BC_1,   IOB(2),     OUTPUT3,  X,      98,   0,      Z)," &
   "0096   (BC_1,   IOB(2),     INPUT,    X)," &

   "0095   (BC_1,   *,          CONTROL,  0)," &
   "0094   (BC_1,   IOB(1),     OUTPUT3,  X,      95,   0,      Z)," &
   "0093   (BC_1,   IOB(1),     INPUT,    X)," &

   "0092   (BC_1,   *,          CONTROL,  0)," &
   "0091   (BC_1,   IOB(0),     OUTPUT3,  X,      92,   0,      Z)," &
   "0090   (BC_1,   IOB(0),     INPUT,    X)," &

   "0089   (BC_1,   *,          CONTROL,  0)," &
   "0088   (BC_1,   IOA(19),    OUTPUT3,  X,      89,   0,      Z)," &
   "0087   (BC_1,   IOA(19),    INPUT,    X)," &

   "0086   (BC_1,   *,          CONTROL,  0)," &
   "0085   (BC_1,   IOA(18),    OUTPUT3,  X,      86,   0,      Z)," &
   "0084   (BC_1,   IOA(18),    INPUT,    X)," &

   "0083   (BC_1,   *,          CONTROL,  0)," &
   "0082   (BC_1,   IOA(17),    OUTPUT3,  X,      83,   0,      Z)," &
   "0081   (BC_1,   IOA(17),    INPUT,    X)," &

   "0080   (BC_1,   *,          CONTROL,  0)," &
   "0079   (BC_1,   IOA(16),    OUTPUT3,  X,      80,   0,      Z)," &
   "0078   (BC_1,   IOA(16),    INPUT,    X)," &

   "0077   (BC_1,   *,          CONTROL,  0)," &
   "0076   (BC_1,   IOA(15),    OUTPUT3,  X,      77,   0,      Z)," &
   "0075   (BC_1,   IOA(15),    INPUT,    X)," &

   "0074   (BC_1,   *,          CONTROL,  0)," &
   "0073   (BC_1,   IOA(14),    OUTPUT3,  X,      74,   0,      Z)," &
   "0072   (BC_1,   IOA(14),    INPUT,    X)," &

   "0071   (BC_1,   *,          CONTROL,  0)," &
   "0070   (BC_1,   IOA(13),    OUTPUT3,  X,      71,   0,      Z)," &
   "0069   (BC_1,   IOA(13),    INPUT,    X)," &

   "0068   (BC_1,   *,          CONTROL,  0)," &
   "0067   (BC_1,   IOA(12),    OUTPUT3,  X,      68,   0,      Z)," &
   "0066   (BC_1,   IOA(12),    INPUT,    X)," &

   "0065   (BC_1,   *,          CONTROL,  0)," &
   "0064   (BC_1,   IOA(11),    OUTPUT3,  X,      65,   0,      Z)," &
   "0063   (BC_1,   IOA(11),    INPUT,    X)," &

   "0062   (BC_1,   *,          CONTROL,  0)," &
   "0061   (BC_1,   IOA(10),    OUTPUT3,  X,      62,   0,      Z)," &
   "0060   (BC_1,   IOA(10),    INPUT,    X)," &

   "0059   (BC_1,   *,          CONTROL,  0)," &
   "0058   (BC_1,   IOA(9),     OUTPUT3,  X,      59,   0,      Z)," &
   "0057   (BC_1,   IOA(9),     INPUT,    X)," &

   "0056   (BC_1,   *,          CONTROL,  0)," &
   "0055   (BC_1,   IOA(8),     OUTPUT3,  X,      56,   0,      Z)," &
   "0054   (BC_1,   IOA(8),     INPUT,    X)," &

   "0053   (BC_1,   *,          CONTROL,  0)," &
   "0052   (BC_1,   IOA(7),     OUTPUT3,  X,      53,   0,      Z)," &
   "0051   (BC_1,   IOA(7),     INPUT,    X)," &

   "0050   (BC_1,   *,          CONTROL,  0)," &
   "0049   (BC_1,   IOA(6),     OUTPUT3,  X,      50,   0,      Z)," &
   "0048   (BC_1,   IOA(6),     INPUT,    X)," &

   "0047   (BC_1,   *,          CONTROL,  0)," &
   "0046   (BC_1,   IOA(5),     OUTPUT3,  X,      47,   0,      Z)," &
   "0045   (BC_1,   IOA(5),     INPUT,    X)," &

   "0044   (BC_1,   *,          CONTROL,  0)," &
   "0043   (BC_1,   IOA(4),     OUTPUT3,  X,      44,   0,      Z)," &
   "0042   (BC_1,   IOA(4),     INPUT,    X)," &

   "0041   (BC_1,   *,          CONTROL,  0)," &
   "0040   (BC_1,   IOA(3),     OUTPUT3,  X,      41,   0,      Z)," &
   "0039   (BC_1,   IOA(3),     INPUT,    X)," &

   "0038   (BC_1,   *,          CONTROL,  0)," &
   "0037   (BC_1,   IOA(2),     OUTPUT3,  X,      38,   0,      Z)," &
   "0036   (BC_1,   IOA(2),     INPUT,    X)," &

   "0035   (BC_1,   *,          CONTROL,  0)," &
   "0034   (BC_1,   IOA(1),     OUTPUT3,  X,      35,   0,      Z)," &
   "0033   (BC_1,   IOA(1),     INPUT,    X)," &

   "0032   (BC_1,   *,          CONTROL,  0)," &
   "0031   (BC_1,   IOA(0),     OUTPUT3,  X,      32,   0,      Z)," &
   "0030   (BC_1,   IOA(0),     INPUT,    X)," &

   "0029   (BC_1,   *,          CONTROL,  0)," &
   "0028   (BC_1,   IOD(19),    OUTPUT3,  X,      29,   0,      Z)," &
   "0027   (BC_1,   IOD(19),    INPUT,    X)," &

   "0026   (BC_1,   *,          CONTROL,  0)," &
   "0025   (BC_1,   IOD(18),    OUTPUT3,  X,      26,   0,      Z)," &
   "0024   (BC_1,   IOD(18),    INPUT,    X)," &

   "0023   (BC_1,   *,          CONTROL,  0)," &
   "0022   (BC_1,   IOD(17),    OUTPUT3,  X,      23,   0,      Z)," &
   "0021   (BC_1,   IOD(17),    INPUT,    X)," &

   "0020   (BC_1,   *,          CONTROL,  0)," &
   "0019   (BC_1,   IOD(16),    OUTPUT3,  X,      20,   0,      Z)," &
   "0018   (BC_1,   IOD(16),    INPUT,    X)," &

   "0017   (BC_1,   *,          CONTROL,  0)," &
   "0016   (BC_1,   IOD(15),    OUTPUT3,  X,      17,   0,      Z)," &
   "0015   (BC_1,   IOD(15),    INPUT,    X)," &

   "0014   (BC_1,   *,          CONTROL,  0)," &
   "0013   (BC_1,   IOD(14),    OUTPUT3,  X,      14,   0,      Z)," &
   "0012   (BC_1,   IOD(14),    INPUT,    X)," &

   "0011   (BC_1,   *,          CONTROL,  0)," &
   "0010   (BC_1,   IOD(13),    OUTPUT3,  X,      11,   0,      Z)," &
   "0009   (BC_1,   IOD(13),    INPUT,    X)," &

   "0008   (BC_1,   *,          CONTROL,  0)," &
   "0007   (BC_1,   IOD(12),    OUTPUT3,  X,      8,    0,      Z)," &
   "0006   (BC_1,   IOD(12),    INPUT,    X)," &

   "0005   (BC_1,   *,          CONTROL,  0)," &
   "0004   (BC_1,   IOD(11),    OUTPUT3,  X,      5,    0,      Z)," &
   "0003   (BC_1,   IOD(11),    INPUT,    X)," &

   "0002   (BC_1,   *,          CONTROL, X)," & 
   "0001   (BC_1,   IOD(10),    OUTPUT3, X,      2,    0,      Z)," &
   "0000   (BC_1,   IOD(10),    INPUT, X) " ;

-- ********************************************************************
-- *                    IEEE 1532 EXTENSION INFORMATION               *
-- ********************************************************************

attribute ISC_PIN_BEHAVIOR of ispGDX80VA_XXT100 : entity is 
  "CLAMP" ;

attribute ISC_STATUS of ispGDX80VA_XXT100 : entity is "Not Implemented";

attribute ISC_BLANK_USERCODE of ispGDX80VA_XXT100 : entity is
    "11111111111111111111111111111111";

attribute ISC_FLOW of ispGDX80VA_XXT100 : entity is

  "flow_verify(idcode) "&
    "initialize "&
      "(IDCODE           WAIT TCK 1 32:10350043),"&

  "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 243:0     WAIT TCK 1),"&

  "flow_program(array) "&
    "initialize "&
      "(ISC_ADDRESS_SHIFT 100:$addr=8000000000000000000000000"&
      " WAIT TCK 1)"&
    "repeat 100 "&
      "(ISC_DATA_SHIFT    160:?        WAIT TCK 1)"&
      "(LSC_PROGRAM       100:$addr    WAIT TCK 3, 12.0e-3)"&
      "(ISC_ADDRESS_SHIFT 100:$addr>>1 WAIT TCK 1),"&

  "flow_verify(array) "&
    "initialize "&
      "(ISC_ADDRESS_SHIFT 100:$addr=8000000000000000000000000"&
      " WAIT TCK 1)"&
    "repeat 100 "&
      "(ISC_READ                       WAIT TCK 3, 30.0e-6 160:?:CRC)"&
      "(ISC_ADDRESS_SHIFT 100:$addr>>1 WAIT TCK 1),"&

  "flow_read(array) "&
    "initialize "&
      "(ISC_ADDRESS_SHIFT 100:$addr=8000000000000000000000000"&
      " WAIT TCK 1)"&
    "repeat 100 "&
      "(ISC_READ                       WAIT TCK 3, 30.0e-6 160:!:CRC)"&
      "(ISC_ADDRESS_SHIFT 100:$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, 40.0e-3),"&

  "flow_program_done "&
    "initialize "&
      "(ISC_NOOP  WAIT TCK 1),"&

  "flow_disable "&
    "initialize "&
      "(ISC_DISABLE       WAIT TCK 3, 1.0e-3)";

attribute ISC_PROCEDURE of  ispGDX80VA_XXT100: 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 ispGDX80VA_XXT100 : 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 ispGDX80VA_XXT100;
