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: M4A3_64_32_XXJC

-- ********************************************************************
-- * M4A3-64/32 44 Pin PLCC 3.3V BSDL Model                           *
-- *                                                                  *
-- * File Version:      V2.00                                         *
-- * File Date:         Dec. 7, 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 2.00: 12/07/2001                                             *
-- *  - Changed entity name from iM4A3_64_32_XXJC to M4A3_64_32_XXJC. *
-- *    Edit file column length to 72 characters max.                 *
-- *    Updated Header.                                               *
-- * Rev 1.7: 10/22/2001                                              *
-- *  - Changed ISC_READ in flow_verify and flow_read from WAIT TCK 1 *
-- *    to WAIT TCK 3, 2.0E-3.                                        *
-- * Rev 1.6: 10/03/2001                                              *
-- *  - Changed USERCODE_TDO array to USERCODE.                       *
-- * Rev 1.5: 08/30/2001                                              *
-- *  - Updated entity name.                                          *
-- * Rev 1.4: 07/17/2001                                              *
-- *  - Added IEEE 1532 Extension.                                    *
-- * Rev 1.3, 06/07/2001                                              *
-- *  - Add Lattice phone number and email address.                   *
-- * Rev 1.2: 04/03/2000                                              *
-- *  - Named clock pins "CLK" to pass BSA syntax checker.            *
-- * Rev 1.1: 03/31/2000                                              *
-- *  - Updated Copyright comments.                                   *
-- * Rev 1.0: 03/30/2000                                              *
-- *  - Changed port, PIN_MAP_STRING, and BSDL description statements *
-- *    from IO array to IO Segment arrays.                           *
-- *                                                                  *
-- ********************************************************************
--
--  Entity format: iMabc_ddd_eee_XXff
--  a = family (1, 2, 4, 5)
--  b = A for "A" type parts
--  c = Vcc level: 5, 3, 2, or 1 for 5.0, 3.3, 2.5, or 1.8 VDC
--  ddd = number of macrocells, such as 064
--  eee = number of I/O pins, such as 032
--  ff = package: JC, YC, VC, or AC for PLCC, PQFP, TQFP, or BGA

entity M4A3_64_32_XXJC is

   generic(PHYSICAL_PIN_MAP : string := "PLCC_44pin");

   port    (
      CLK     : in    bit_vector(0 to 1);  --  Clocks/Inputs
      IOA     : inout bit_vector(0 to 7);  --  I/O pins
      IOB     : inout bit_vector(0 to 7);  --  I/O pins
      IOC     : inout bit_vector(0 to 7);  --  I/O pins
      IOD     : inout bit_vector(0 to 7);  --  I/O pins

      TCK, TMS, TDI   : in  bit;           --  JTAG inputs
      TDO             : out bit;           --  JTAG outputs
      
      VCC             : linkage bit_vector(0 to 1);
      GND             : linkage bit_vector(0 to 3)
      );

   use STD_1149_1_1994.all; -- Standard 'use' statement
   use STD_1532_2001.all;   -- BSDL Extension for ISC devices

   attribute COMPONENT_CONFORMANCE of M4A3_64_32_XXJC : entity is
   "STD_1149_1_1993";

   attribute PIN_MAP of M4A3_64_32_XXJC : entity is PHYSICAL_PIN_MAP;

   constant PLCC_44pin :  PIN_MAP_STRING :=

      "CLK:(11, 33),                " &   --  Clock/Input Pins
      "IOA:(  9,  8,  7,  6,  5,  4,  3,  2)," & --  I/O A
      "IOB:( 14, 15, 16, 17, 18, 19, 20, 21)," & --  I/O B
      "IOC:( 31, 30, 29, 28, 27, 26, 25, 24)," & --  I/O C
      "IOD:( 36, 37, 38, 39, 40, 41, 42, 43)," & --  I/O D
      "TDI:10, TMS:32, TCK:13, TDO:35,      " &  --  JTAG
      "VCC:(22, 44),               " &           --  POWER
      "GND:(1, 12, 23, 34)           ";          --  GROUND PINS

   attribute TAP_SCAN_IN   of TDI : signal is true;
   attribute TAP_SCAN_MODE of TMS : signal is true;
   attribute TAP_SCAN_OUT  of TDO : signal is true;
   attribute TAP_SCAN_CLOCK of TCK: signal is (20.0e6, BOTH);

--  Instruction register definitions
   attribute INSTRUCTION_LENGTH of M4A3_64_32_XXJC : entity is 6;
   attribute INSTRUCTION_OPCODE of M4A3_64_32_XXJC : entity is
      "BYPASS    (111111), "&
      "EXTEST    (000000), "&
      "SAMPLE    (000010), "&
      "IDCODE    (000001), "&
      "USERCODE  (010000), "&
      "HIGHZ     (010001), "&
   -- ISC Instructions
      "ISC_ADDRESS_SHIFT    (000011), "&
      "ISC_DATA_SHIFT       (000100), "&
      "ISC_ERASE            (000101), "&
      "ISC_PROGRAM          (000110), "&
      "ISC_READ             (000111), "&
      "ISC_PROGRAM_SECURITY (001000), "&
      "ISC_ENABLE           (001111), "&
      "ISC_DISABLE          (111111), "&
      "ISC_NOOP             (111111), "&
   -- Private Instructions
      "PRIV009   (001001), "&
      "PRIVATE   (110011,110100,110000,110010,100101,101110, "&
                 "100111,101101,001100,001101,001110)";


  attribute INSTRUCTION_CAPTURE of M4A3_64_32_XXJC : 
						entity is "000001";
  attribute INSTRUCTION_PRIVATE of M4A3_64_32_XXJC : 
						entity is "PRIVATE";

   attribute IDCODE_REGISTER of M4A3_64_32_XXJC : entity is
      "0001" &                 -- version number (1)
      "0111010010000110" &     -- part identification (7486)
      "00010101011" &          -- company code (157)
      "1";                     -- mandatory 1

   attribute USERCODE_REGISTER of M4A3_64_32_XXJC : entity is
      "11111111111111111111111111111111";

   attribute REGISTER_ACCESS of M4A3_64_32_XXJC : entity is
      "BYPASS          (BYPASS, HIGHZ, PRIV009), "&
      "ISC_DEFAULT[1]  (ISC_PROGRAM, ISC_DISABLE, ISC_NOOP, "&
                       "ISC_ERASE, ISC_PROGRAM_SECURITY), "&
      "BOUNDARY        (EXTEST, SAMPLE), "&
      "ISC_ADDRESS[80] (ISC_ADDRESS_SHIFT), "&
      "ISC_DATA[378]   (ISC_DATA_SHIFT), "&
      "ISC_RDATA[378]  (ISC_READ), "&
      "DEVICE_ID       (USERCODE, IDCODE), "&
      "ISC_CONFIG[5]   (ISC_ENABLE)";

-- **************************************************************
-- *    BOUNDARY SCAN CELL REGISTER DESCRIPTION                 *
-- *    THE FIRST CELL (0) IS THE CELL CLOSEST TO TDO           *
-- **************************************************************
   attribute BOUNDARY_LENGTH of M4A3_64_32_XXJC : entity is 98;
   attribute BOUNDARY_REGISTER of M4A3_64_32_XXJC : entity is

   --  1. The order of the I/O cell is OE - OUTPUT - INPUT
   --  2. The output is disabled when a 0 is shifted into the OE cell.
   --  3. The pictoral representation of the Boundary scan 
   --     register is found in VANTIS document no. 93-009-6105-JT-01.

----------------------- Block A -----------------------------

      " 97 (BC_1, IOA(0), INPUT  , X), "&
      " 96 (BC_1, IOA(0), OUTPUT3, X, 95, 0, Z), "&
      " 95 (BC_1,      *, CONTROL, 0), "&

      " 94 (BC_1, IOA(1), INPUT  , X), "&
      " 93 (BC_1, IOA(1), OUTPUT3, X, 92, 0, Z), "&
      " 92 (BC_1,      *, CONTROL, 0), "&

      " 91 (BC_1, IOA(2), INPUT  , X), "&
      " 90 (BC_1, IOA(2), OUTPUT3, X, 89, 0, Z), "&
      " 89 (BC_1,      *, CONTROL, 0), "&

      " 88 (BC_1, IOA(3), INPUT  , X), "&
      " 87 (BC_1, IOA(3), OUTPUT3, X, 86, 0, Z), "&
      " 86 (BC_1,      *, CONTROL, 0), "&

      " 85 (BC_1, IOA(4), INPUT  , X), "&
      " 84 (BC_1, IOA(4), OUTPUT3, X, 83, 0, Z), "&
      " 83 (BC_1,      *, CONTROL, 0), "&

      " 82 (BC_1, IOA(5), INPUT  , X), "&
      " 81 (BC_1, IOA(5), OUTPUT3, X, 80, 0, Z), "&
      " 80 (BC_1,      *, CONTROL, 0), "&

      " 79 (BC_1, IOA(6), INPUT  , X), "&
      " 78 (BC_1, IOA(6), OUTPUT3, X, 77, 0, Z), "&
      " 77 (BC_1,      *, CONTROL, 0), "&

      " 76 (BC_1, IOA(7), INPUT  , X), "&
      " 75 (BC_1, IOA(7), OUTPUT3, X, 74, 0, Z), "&
      " 74 (BC_1,      *, CONTROL, 0), "&

----------------------- Clock 0 -----------------------------

      " 73 (BC_1, CLK(0), INPUT, X)," &   

----------------------- Block B -----------------------------

      " 72 (BC_1, IOB(0), INPUT  , X), "&
      " 71 (BC_1, IOB(0), OUTPUT3, X, 70, 0, Z), "&
      " 70 (BC_1,      *, CONTROL, 0), "&
   
      " 69 (BC_1, IOB(1), INPUT  , X), "&
      " 68 (BC_1, IOB(1), OUTPUT3, X, 67, 0, Z), "&
      " 67 (BC_1,      *, CONTROL, 0), "&

      " 66 (BC_1, IOB(2), INPUT  , X), "&
      " 65 (BC_1, IOB(2), OUTPUT3, X, 64, 0, Z), "&
      " 64 (BC_1,       *, CONTROL, 0), "&

      " 63 (BC_1, IOB(3), INPUT  , X), "&
      " 62 (BC_1, IOB(3), OUTPUT3, X, 61, 0, Z), "&
      " 61 (BC_1,      *, CONTROL , 0), "&

      " 60 (BC_1, IOB(4), INPUT  , X), "&
      " 59 (BC_1, IOB(4), OUTPUT3, X, 58, 0, Z), "&
      " 58 (BC_1,      *, CONTROL , 0), "&

      " 57 (BC_1, IOB(5), INPUT  , X), "&
      " 56 (BC_1, IOB(5), OUTPUT3, X, 55, 0, Z), "&
      " 55 (BC_1,      *, CONTROL , 0), "&

      " 54 (BC_1, IOB(6), INPUT  , X),"  &
      " 53 (BC_1, IOB(6), OUTPUT3, X,  52, 0, Z), "&
      " 52 (BC_1,      *, CONTROL , 0), "&

      " 51 (BC_1, IOB(7), INPUT  , X),"  &
      " 50 (BC_1, IOB(7), OUTPUT3, X,  49, 0, Z), "&
      " 49 (BC_1,      *, CONTROL , 0), "&

----------------------- Block C -----------------------------

      " 48 (BC_1, IOC(0), INPUT  , X), "&
      " 47 (BC_1, IOC(0), OUTPUT3, X, 46, 0, Z), "&
      " 46 (BC_1,      *, CONTROL , 0), "&

      " 45 (BC_1, IOC(1), INPUT  , X), "&
      " 44 (BC_1, IOC(1), OUTPUT3, X, 43, 0, Z), "&
      " 43 (BC_1,      *, CONTROL , 0), "&

      " 42 (BC_1, IOC(2), INPUT  , X), "&
      " 41 (BC_1, IOC(2), OUTPUT3, X, 40, 0, Z), "&
      " 40 (BC_1,      *, CONTROL , 0), "&

      " 39 (BC_1, IOC(3), INPUT  , X), "&
      " 38 (BC_1, IOC(3), OUTPUT3, X, 37, 0, Z), "&
      " 37 (BC_1,      *, CONTROL , 0), "&

      " 36 (BC_1, IOC(4), INPUT  , X), "&
      " 35 (BC_1, IOC(4), OUTPUT3, X, 34, 0, Z), "&
      " 34 (BC_1,      *, CONTROL , 0), "&

      " 33 (BC_1, IOC(5), INPUT  , X), "&
      " 32 (BC_1, IOC(5), OUTPUT3, X, 31, 0, Z), "&
      " 31 (BC_1,      *, CONTROL , 0), "&

      " 30 (BC_1, IOC(6), INPUT  , X), "&
      " 29 (BC_1, IOC(6), OUTPUT3, X, 28, 0, Z), "&
      " 28 (BC_1,      *, CONTROL , 0), "&

      " 27 (BC_1, IOC(7), INPUT  , X), "&
      " 26 (BC_1, IOC(7), OUTPUT3, X, 25, 0, Z), "&
      " 25 (BC_1,      *, CONTROL , 0), "&

----------------------- Clock 1 -----------------------------

      " 24 (BC_1, CLK(1), INPUT, X)," &   

----------------------- Block D -----------------------------

      " 23 (BC_1, IOD(0), INPUT  , X), "&
      " 22 (BC_1, IOD(0), OUTPUT3, X, 21, 0, Z), "&
      " 21 (BC_1,      *, CONTROL , 0), "&

      " 20 (BC_1, IOD(1), INPUT  , X), "&
      " 19 (BC_1, IOD(1), OUTPUT3, X, 18, 0, Z), "&
      " 18 (BC_1,      *, CONTROL , 0), "&

      " 17 (BC_1, IOD(2), INPUT  , X), "&
      " 16 (BC_1, IOD(2), OUTPUT3, X, 15, 0, Z), "&
      " 15 (BC_1,      *, CONTROL , 0), "&

      " 14 (BC_1, IOD(3), INPUT  , X), "&
      " 13 (BC_1, IOD(3), OUTPUT3, X, 12, 0, Z), "&
      " 12 (BC_1,      *, CONTROL , 0), "&

      " 11 (BC_1, IOD(4), INPUT  , X), "&
      " 10 (BC_1, IOD(4), OUTPUT3, X, 9, 0, Z), "&
      "  9 (BC_1,      *, CONTROL , 0), "&

      "  8 (BC_1, IOD(5), INPUT  , X), "&
      "  7 (BC_1, IOD(5), OUTPUT3, X, 6, 0, Z), "&
      "  6 (BC_1,      *, CONTROL , 0), "&

      "  5 (BC_1, IOD(6), INPUT  , X), "&
      "  4 (BC_1, IOD(6), OUTPUT3, X, 3, 0, Z), "&
      "  3 (BC_1,      *, CONTROL , 0), "&

      "  2 (BC_1, IOD(7), INPUT  , X), "&
      "  1 (BC_1, IOD(7), OUTPUT3, X, 0, 0, Z), "&
      "  0 (BC_1,      *, CONTROL , 0)";

-- *******************************************************************
-- *                    IEEE 1532 EXTENSION INFORMATION              *
-- *******************************************************************

attribute ISC_PIN_BEHAVIOR of M4A3_64_32_XXJC : entity is
    "CLAMP"; -- clamp behavior

attribute ISC_STATUS of M4A3_64_32_XXJC : entity is
    "NOT IMPLEMENTED";

attribute ISC_BLANK_USERCODE of M4A3_64_32_XXJC : entity is
    "11111111111111111111111111111111";

attribute ISC_FLOW of M4A3_64_32_XXJC : entity is
  "flow_verify(idcode) "&
    "initialize "&
      "(IDCODE          WAIT TCK 3, 2.0E-3 32:17486157*0FFFFFFF), "&

  "flow_enable "&
    "initialize "&
      "(ISC_ENABLE 5:8  WAIT TCK 3), "&

  "flow_bypass "&
    "initialize "&
      "(BYPASS          WAIT TCK 1), "&

  "flow_erase "&
    "initialize "&
      "(ISC_ERASE       WAIT TCK 3, 100.0e-3), "&

  "flow_erase_program "&
    "initialize "&
      "(ISC_ADDRESS_SHIFT 80:0  WAIT TCK 1) "&
      "(ISC_DATA_SHIFT   378:0  WAIT TCK 1) "&
      "(ISC_PROGRAM             WAIT TCK 3, 100.0e-3) "&
      "(ISC_ADDRESS_SHIFT 80:$addr=80000000000000000000 WAIT TCK 1)"&
    "repeat 66 "&
      "(ISC_DATA_SHIFT 378:3FFDFFBFF7FEFFDFFBFF7FEFFF7FEFFDFFBFF7FEFF"&
      "DFFBFFFFEFFDFFBFF7FEFFDFFBFF7FFBFF7FEFFDFFBFF7FEFFDFF  "&
      "WAIT TCK 1)"&
      "(ISC_PROGRAM                   WAIT TCK 3, 50.0e-3) "&
      "(ISC_ADDRESS_SHIFT 80:$addr>>1 WAIT TCK 1) "&
    "terminate "&
      "(ISC_DATA_SHIFT 378:$epgm1=0841082104208410821042021042084108"&
      "2104208410800042084108210420841082101082104208410821042084000"&
      "  WAIT TCK 1) "&
      "(ISC_PROGRAM                   WAIT TCK 3, 50.0e-3) "&
      "(ISC_ADDRESS_SHIFT 80:$addr>>1 WAIT TCK 1) "&
      "(ISC_DATA_SHIFT   378:$epgm1   WAIT TCK 1) "&
      "(ISC_PROGRAM                   WAIT TCK 3, 50.0e-3) "&
      "(ISC_ADDRESS_SHIFT 80:$addr>>1 WAIT TCK 1) "&
      "(ISC_DATA_SHIFT   378:$epgm1   WAIT TCK 1) "&
      "(ISC_PROGRAM                   WAIT TCK 3, 50.0e-3) "&
      "(ISC_ADDRESS_SHIFT 80:$addr>>1 WAIT TCK 1) "&
      "(ISC_DATA_SHIFT 378:$epgm2=0841082104208410821042021042084108"&
      "2104208410820242084108210420841082101082104208410821042084101"&
      "  WAIT TCK 1) "&
      "(ISC_PROGRAM                   WAIT TCK 3, 50.0e-3) "&
      "(ISC_ADDRESS_SHIFT 80:$addr>>1 WAIT TCK 1) "&
      "(ISC_DATA_SHIFT   378:$epgm1   WAIT TCK 1) "&
      "(ISC_PROGRAM                   WAIT TCK 3, 50.0e-3) "&
      "(ISC_ADDRESS_SHIFT 80:$addr>>1 WAIT TCK 1) "&
      "(ISC_DATA_SHIFT   378:$epgm1   WAIT TCK 1) "&
      "(ISC_PROGRAM                   WAIT TCK 3, 50.0e-3) "&
      "(ISC_ADDRESS_SHIFT 80:$addr>>1 WAIT TCK 1) "&
      "(ISC_DATA_SHIFT   378:$epgm1   WAIT TCK 1) "&
      "(ISC_PROGRAM                   WAIT TCK 3, 50.0e-3) "&
      "(ISC_ADDRESS_SHIFT 80:$addr>>1 WAIT TCK 1) "&
      "(ISC_DATA_SHIFT   378:$epgm2   WAIT TCK 1) "&
      "(ISC_PROGRAM                   WAIT TCK 3, 50.0e-3) "&
      "(ISC_ADDRESS_SHIFT 80:$addr>>1 WAIT TCK 1) "&
      "(ISC_DATA_SHIFT   378:$epgm1   WAIT TCK 1) "&
      "(ISC_PROGRAM                   WAIT TCK 3, 50.0e-3) "&
      "(ISC_ADDRESS_SHIFT 80:$addr>>1 WAIT TCK 1) "&
      "(ISC_DATA_SHIFT   378:$epgm2   WAIT TCK 1) "&
      "(ISC_PROGRAM                   WAIT TCK 3, 50.0e-3) "&
      "(ISC_ADDRESS_SHIFT 80:$addr>>1 WAIT TCK 1) "&
      "(ISC_DATA_SHIFT   378:$epgm1   WAIT TCK 1) "&
      "(ISC_PROGRAM                   WAIT TCK 3, 50.0e-3) "&
      "(ISC_ADDRESS_SHIFT 80:$addr>>1 WAIT TCK 1) "&
      "(ISC_DATA_SHIFT   378:$epgm2   WAIT TCK 1) "&
      "(ISC_PROGRAM                   WAIT TCK 3, 50.0e-3) "&
      "(ISC_ADDRESS_SHIFT 80:$addr>>1 WAIT TCK 1) "&
      "(ISC_DATA_SHIFT   378:$epgm1   WAIT TCK 1) "&
      "(ISC_PROGRAM                   WAIT TCK 3, 50.0e-3) "&
      "(ISC_ADDRESS_SHIFT 80:$addr>>1 WAIT TCK 1) "&
      "(ISC_DATA_SHIFT 378:08410821042084108210420210420841082104208"&
      "410800042084108210420841082101082104208410821042084001 "&  
      " WAIT TCK 1)"&
      "(ISC_PROGRAM                   WAIT TCK 3, 50.0e-3) "&
      "(ISC_ADDRESS_SHIFT 80:0        WAIT TCK 1) "&
      "(ISC_ENABLE         5:9        WAIT TCK 3) "&
      "(ISC_DATA_SHIFT 378:200200400801002004008018008010020040080100"&
      "2004010010020040080100200400C004008010020040080100200  "&
      " WAIT TCK 1)"&
      "(ISC_PROGRAM                   WAIT TCK 3, 50.0e-3) "&
      "(ISC_ENABLE         5:8        WAIT TCK 3), "&

  "flow_preload "&
    "initialize "&
      "(SAMPLE            98:0  WAIT TCK 1), "&

  "flow_program_init "&
    "initialize "&
      "(ISC_ADDRESS_SHIFT 80:0  WAIT TCK 1) "&
      "(ISC_DATA_SHIFT   378:0  WAIT TCK 1) "&
      "(ISC_PROGRAM             WAIT TCK 3, 100.0e-3), "&

  "flow_program(array) "&
    "initialize "&
      "(ISC_ADDRESS_SHIFT 80:$addr=80000000000000000000 WAIT TCK 1)"&
    "repeat 80 "&
      "(ISC_DATA_SHIFT   378:?  WAIT TCK 1) "&
      "(ISC_PROGRAM             WAIT TCK 3, 50.0e-3) "&
      "(ISC_ADDRESS_SHIFT 80:$addr>>1 WAIT TCK 1) "&
    "terminate "&
      "(ISC_ADDRESS_SHIFT 80:0  WAIT TCK 1) "&
      "(ISC_ENABLE         5:9  WAIT TCK 3) "&
      "(ISC_DATA_SHIFT   378:?  WAIT TCK 1) "&
      "(ISC_PROGRAM             WAIT TCK 3, 50.0e-3) "&
      "(ISC_ENABLE         5:8  WAIT TCK 3), "&

  "flow_read_init "&
    "initialize "&
      "(ISC_ADDRESS_SHIFT 80:0  WAIT TCK 1) "&
      "(ISC_DATA_SHIFT   378:0  WAIT TCK 1), "&

  "flow_verify(array_tdo) "&
    "initialize "&
      "(ISC_ADDRESS_SHIFT 80:$addr=80000000000000000000 WAIT TCK 1)"&
    "repeat 1 "&
      "(ISC_DATA_SHIFT  378:$adsel=2000000000000000000000000000000000"&
      "0000000000000000000000000000000000000000000000000000000000000"&
      "  WAIT TCK 1) "&
      "(ISC_READ                      WAIT TCK 3, 2.0E-3 378:?:CRC) "&
      "(ISC_ADDRESS_SHIFT 80:$addr>>1 WAIT TCK 1) "&
      "(ISC_DATA_SHIFT   378:$adsel   WAIT TCK 1) "&
      "(ISC_READ                      WAIT TCK 3, 2.0E-3 378:?:CRC) "&
      "(ISC_ADDRESS_SHIFT 80:$addr>>1 WAIT TCK 1) "&
      "(ISC_DATA_SHIFT   378:$adsel   WAIT TCK 1) "&
      "(ISC_READ                      WAIT TCK 3, 2.0E-3 378:?:CRC) "&
      "(ISC_ADDRESS_SHIFT 80:$addr>>1 WAIT TCK 1) "&
      "(ISC_DATA_SHIFT   378:$adsel   WAIT TCK 1) "&
      "(ISC_READ                      WAIT TCK 3, 2.0E-3 378:?:CRC) "&
      "(ISC_ADDRESS_SHIFT 80:$addr>>1 WAIT TCK 1) "&
      "(ISC_DATA_SHIFT   378:$adsel   WAIT TCK 1) "&
      "(ISC_READ                      WAIT TCK 3, 2.0E-3 378:?:CRC) "&
      "(ISC_ADDRESS_SHIFT 80:$addr>>1 WAIT TCK 1) "&
      "(ISC_DATA_SHIFT   378:$adsel   WAIT TCK 1) "&
      "(ISC_READ                      WAIT TCK 3, 2.0E-3 378:?:CRC) "&
      "(ISC_ADDRESS_SHIFT 80:$addr>>1 WAIT TCK 1) "&
      "(ISC_DATA_SHIFT   378:$adsel   WAIT TCK 1) "&
      "(ISC_READ                      WAIT TCK 3, 2.0E-3 378:?:CRC) "&
      "(ISC_ADDRESS_SHIFT 80:$addr>>1 WAIT TCK 1) "&
      "(ISC_DATA_SHIFT   378:$adsel   WAIT TCK 1) "&
      "(ISC_READ                      WAIT TCK 3, 2.0E-3 378:?:CRC) "&
      "(ISC_ADDRESS_SHIFT 80:$addr>>1 WAIT TCK 1)" &
      "(ISC_DATA_SHIFT   378:$adsel   WAIT TCK 1) "&
      "(ISC_READ                      WAIT TCK 3, 2.0E-3 378:?:CRC) "&
      "(ISC_ADDRESS_SHIFT 80:$addr>>1 WAIT TCK 1) "&
      "(ISC_DATA_SHIFT   378:$adsel   WAIT TCK 1) "&
      "(ISC_READ                      WAIT TCK 3, 2.0E-3 378:?:CRC) "&
      "(ISC_ADDRESS_SHIFT 80:$addr>>1 WAIT TCK 1) "&
      "(ISC_DATA_SHIFT   378:$adsel   WAIT TCK 1) "&
      "(ISC_READ                      WAIT TCK 3, 2.0E-3 378:?:CRC) "&
      "(ISC_ADDRESS_SHIFT 80:$addr>>1 WAIT TCK 1) "&
      "(ISC_DATA_SHIFT   378:$adsel   WAIT TCK 1) "&
      "(ISC_READ                      WAIT TCK 3, 2.0E-3 378:?:CRC) "&
      "(ISC_ADDRESS_SHIFT 80:$addr>>1 WAIT TCK 1) "&
      "(ISC_DATA_SHIFT   378:$adsel   WAIT TCK 1) "&
      "(ISC_READ                      WAIT TCK 3, 2.0E-3 378:?:CRC) "&
      "(ISC_ADDRESS_SHIFT 80:$addr>>1 WAIT TCK 1) "&
      "(ISC_DATA_SHIFT   378:$adsel   WAIT TCK 1) "&
      "(ISC_READ                      WAIT TCK 3, 2.0E-3 378:?:CRC) "&
      "(ISC_ADDRESS_SHIFT 80:$addr>>1 WAIT TCK 1) "&
      "(ISC_DATA_SHIFT   378:$adsel   WAIT TCK 1) "&
      "(ISC_READ                      WAIT TCK 3, 2.0E-3 378:?:CRC) "&
      "(ISC_ADDRESS_SHIFT 80:$addr>>1 WAIT TCK 1) "&
      "(ISC_DATA_SHIFT   378:$adsel   WAIT TCK 1) "&
      "(ISC_READ                      WAIT TCK 3, 2.0E-3 378:?:CRC) "&
      "(ISC_ADDRESS_SHIFT 80:$addr>>1 WAIT TCK 1) "&
      "(ISC_DATA_SHIFT   378:$adsel   WAIT TCK 1) "&
      "(ISC_READ                      WAIT TCK 3, 2.0E-3 378:?:CRC) "&
      "(ISC_ADDRESS_SHIFT 80:$addr>>1 WAIT TCK 1) "&
      "(ISC_DATA_SHIFT   378:$adsel   WAIT TCK 1) "&
      "(ISC_READ                      WAIT TCK 3, 2.0E-3 378:?:CRC) "&
      "(ISC_ADDRESS_SHIFT 80:$addr>>1 WAIT TCK 1) "&
      "(ISC_DATA_SHIFT   378:$adsel   WAIT TCK 1) "&
      "(ISC_READ                      WAIT TCK 3, 2.0E-3 378:?:CRC) "&
      "(ISC_ADDRESS_SHIFT 80:$addr>>1 WAIT TCK 1) "&
      "(ISC_DATA_SHIFT   378:$adsel   WAIT TCK 1) "&
      "(ISC_READ                      WAIT TCK 3, 2.0E-3 378:?:CRC) "&
      "(ISC_ADDRESS_SHIFT 80:$addr>>1 WAIT TCK 1) "&
      "(ISC_DATA_SHIFT   378:$adsel   WAIT TCK 1) "&
      "(ISC_READ                      WAIT TCK 3, 2.0E-3 378:?:CRC) "&
      "(ISC_ADDRESS_SHIFT 80:$addr>>1 WAIT TCK 1) "&
      "(ISC_DATA_SHIFT   378:$adsel   WAIT TCK 1) "&
      "(ISC_READ                      WAIT TCK 3, 2.0E-3 378:?:CRC) "&
      "(ISC_ADDRESS_SHIFT 80:$addr>>1 WAIT TCK 1) "&
      "(ISC_DATA_SHIFT   378:$adsel   WAIT TCK 1) "&
      "(ISC_READ                      WAIT TCK 3, 2.0E-3 378:?:CRC) "&
      "(ISC_ADDRESS_SHIFT 80:$addr>>1 WAIT TCK 1) "&
      "(ISC_DATA_SHIFT   378:$adsel   WAIT TCK 1) "&
      "(ISC_READ                      WAIT TCK 3, 2.0E-3 378:?:CRC) "&
      "(ISC_ADDRESS_SHIFT 80:$addr>>1 WAIT TCK 1) "&
      "(ISC_DATA_SHIFT   378:$adsel   WAIT TCK 1) "&
      "(ISC_READ                      WAIT TCK 3, 2.0E-3 378:?:CRC) "&
      "(ISC_ADDRESS_SHIFT 80:$addr>>1 WAIT TCK 1) "&
      "(ISC_DATA_SHIFT   378:$adsel   WAIT TCK 1) "&
      "(ISC_READ                      WAIT TCK 3, 2.0E-3 378:?:CRC) "&
      "(ISC_ADDRESS_SHIFT 80:$addr>>1 WAIT TCK 1) "&
      "(ISC_DATA_SHIFT   378:$adsel   WAIT TCK 1) "&
      "(ISC_READ                      WAIT TCK 3, 2.0E-3 378:?:CRC) "&
      "(ISC_ADDRESS_SHIFT 80:$addr>>1 WAIT TCK 1) "&
      "(ISC_DATA_SHIFT   378:$adsel   WAIT TCK 1) "&
      "(ISC_READ                      WAIT TCK 3, 2.0E-3 378:?:CRC) "&
      "(ISC_ADDRESS_SHIFT 80:$addr>>1 WAIT TCK 1) "&
      "(ISC_DATA_SHIFT   378:$adsel   WAIT TCK 1) "&
      "(ISC_READ                      WAIT TCK 3, 2.0E-3 378:?:CRC) "&
      "(ISC_ADDRESS_SHIFT 80:$addr>>1 WAIT TCK 1) "&
      "(ISC_DATA_SHIFT   378:$adsel   WAIT TCK 1) "&
      "(ISC_READ                      WAIT TCK 3, 2.0E-3 378:?:CRC) "&
      "(ISC_ADDRESS_SHIFT 80:$addr>>1 WAIT TCK 1) "&
      "(ISC_DATA_SHIFT   378:$adsel   WAIT TCK 1) "&
      "(ISC_READ                      WAIT TCK 3, 2.0E-3 378:?:CRC) "&
      "(ISC_ADDRESS_SHIFT 80:$addr>>1 WAIT TCK 1) "&
      "(ISC_DATA_SHIFT   378:$adsel   WAIT TCK 1) "&
      "(ISC_READ                      WAIT TCK 3, 2.0E-3 378:?:CRC) "&
      "(ISC_ADDRESS_SHIFT 80:$addr>>1 WAIT TCK 1) "&
      "(ISC_DATA_SHIFT   378:$adsel   WAIT TCK 1) "&
      "(ISC_READ                      WAIT TCK 3, 2.0E-3 378:?:CRC) "&
      "(ISC_ADDRESS_SHIFT 80:$addr>>1 WAIT TCK 1) "&
      "(ISC_DATA_SHIFT   378:$adsel   WAIT TCK 1) "&
      "(ISC_READ                      WAIT TCK 3, 2.0E-3 378:?:CRC) "&
      "(ISC_ADDRESS_SHIFT 80:$addr>>1 WAIT TCK 1) "&
      "(ISC_DATA_SHIFT   378:$adsel   WAIT TCK 1) "&
      "(ISC_READ                      WAIT TCK 3, 2.0E-3 378:?:CRC) "&
      "(ISC_ADDRESS_SHIFT 80:$addr>>1 WAIT TCK 1) "&
      "(ISC_DATA_SHIFT   378:$adsel   WAIT TCK 1) "&
      "(ISC_READ                      WAIT TCK 3, 2.0E-3 378:?:CRC) "&
      "(ISC_ADDRESS_SHIFT 80:$addr>>1 WAIT TCK 1) "&
      "(ISC_DATA_SHIFT   378:$adsel   WAIT TCK 1) "&
      "(ISC_READ                      WAIT TCK 3, 2.0E-3 378:?:CRC) "&
      "(ISC_ADDRESS_SHIFT 80:$addr>>1 WAIT TCK 1) "&
      "(ISC_DATA_SHIFT   378:$adsel   WAIT TCK 1) "&
      "(ISC_READ                      WAIT TCK 3, 2.0E-3 378:?:CRC) "&
      "(ISC_ADDRESS_SHIFT 80:$addr>>1 WAIT TCK 1) "&
      "(ISC_DATA_SHIFT   378:$adsel   WAIT TCK 1) "&
      "(ISC_READ                      WAIT TCK 3, 2.0E-3 378:?:CRC) "&
      "(ISC_ADDRESS_SHIFT 80:$addr>>1 WAIT TCK 1) "&
      "(ISC_DATA_SHIFT   378:$adsel   WAIT TCK 1) "&
      "(ISC_READ                      WAIT TCK 3, 2.0E-3 378:?:CRC) "&
      "(ISC_ADDRESS_SHIFT 80:$addr>>1 WAIT TCK 1) "&
      "(ISC_DATA_SHIFT   378:$adsel   WAIT TCK 1) "&
      "(ISC_READ                      WAIT TCK 3, 2.0E-3 378:?:CRC) "&
      "(ISC_ADDRESS_SHIFT 80:$addr>>1 WAIT TCK 1) "&
      "(ISC_DATA_SHIFT   378:$adsel   WAIT TCK 1) "&
      "(ISC_READ                      WAIT TCK 3, 2.0E-3 378:?:CRC) "&
      "(ISC_ADDRESS_SHIFT 80:$addr>>1 WAIT TCK 1) "&
      "(ISC_DATA_SHIFT   378:$adsel   WAIT TCK 1) "&
      "(ISC_READ                      WAIT TCK 3, 2.0E-3 378:?:CRC) "&
      "(ISC_ADDRESS_SHIFT 80:$addr>>1 WAIT TCK 1) "&
      "(ISC_DATA_SHIFT   378:$adsel   WAIT TCK 1) "&
      "(ISC_READ                      WAIT TCK 3, 2.0E-3 378:?:CRC) "&
      "(ISC_ADDRESS_SHIFT 80:$addr>>1 WAIT TCK 1) "&
      "(ISC_DATA_SHIFT   378:$adsel   WAIT TCK 1) "&
      "(ISC_READ                      WAIT TCK 3, 2.0E-3 378:?:CRC) "&
      "(ISC_ADDRESS_SHIFT 80:$addr>>1 WAIT TCK 1) "&
      "(ISC_DATA_SHIFT   378:$adsel   WAIT TCK 1) "&
      "(ISC_READ                      WAIT TCK 3, 2.0E-3 378:?:CRC) "&
      "(ISC_ADDRESS_SHIFT 80:$addr>>1 WAIT TCK 1) "&
      "(ISC_DATA_SHIFT   378:$adsel   WAIT TCK 1) "&
      "(ISC_READ                      WAIT TCK 3, 2.0E-3 378:?:CRC) "&
      "(ISC_ADDRESS_SHIFT 80:$addr>>1 WAIT TCK 1) "&
      "(ISC_DATA_SHIFT   378:$adsel   WAIT TCK 1) "&
      "(ISC_READ                      WAIT TCK 3, 2.0E-3 378:?:CRC) "&
      "(ISC_ADDRESS_SHIFT 80:$addr>>1 WAIT TCK 1) "&
      "(ISC_DATA_SHIFT   378:$adsel   WAIT TCK 1) "&
      "(ISC_READ                      WAIT TCK 3, 2.0E-3 378:?:CRC) "&
      "(ISC_ADDRESS_SHIFT 80:$addr>>1 WAIT TCK 1) "&
      "(ISC_DATA_SHIFT   378:$adsel   WAIT TCK 1) "&
      "(ISC_READ                      WAIT TCK 3, 2.0E-3 378:?:CRC) "&
      "(ISC_ADDRESS_SHIFT 80:$addr>>1 WAIT TCK 1) "&
      "(ISC_DATA_SHIFT   378:$adsel   WAIT TCK 1) "&
      "(ISC_READ                      WAIT TCK 3, 2.0E-3 378:?:CRC) "&
      "(ISC_ADDRESS_SHIFT 80:$addr>>1 WAIT TCK 1) "&
      "(ISC_DATA_SHIFT   378:$adsel   WAIT TCK 1) "&
      "(ISC_READ                      WAIT TCK 3, 2.0E-3 378:?:CRC) "&
      "(ISC_ADDRESS_SHIFT 80:$addr>>1 WAIT TCK 1) "&
      "(ISC_DATA_SHIFT   378:$adsel   WAIT TCK 1) "&
      "(ISC_READ                      WAIT TCK 3, 2.0E-3 378:?:CRC) "&
      "(ISC_ADDRESS_SHIFT 80:$addr>>1 WAIT TCK 1) "&
      "(ISC_DATA_SHIFT   378:$adsel   WAIT TCK 1) "&
      "(ISC_READ                      WAIT TCK 3, 2.0E-3 378:?:CRC) "&
      "(ISC_ADDRESS_SHIFT 80:$addr>>1 WAIT TCK 1) "&
      "(ISC_DATA_SHIFT   378:$adsel   WAIT TCK 1) "&
      "(ISC_READ                      WAIT TCK 3, 2.0E-3 378:?:CRC) "&
      "(ISC_ADDRESS_SHIFT 80:$addr>>1 WAIT TCK 1) "&
      "(ISC_DATA_SHIFT   378:$adsel   WAIT TCK 1) "&
      "(ISC_READ                      WAIT TCK 3, 2.0E-3 378:?:CRC) "&
      "(ISC_ADDRESS_SHIFT 80:$addr>>1 WAIT TCK 1) "&
      "(ISC_DATA_SHIFT   378:$adsel   WAIT TCK 1) "&
      "(ISC_READ                      WAIT TCK 3, 2.0E-3 378:?:CRC) "&
      "(ISC_ADDRESS_SHIFT 80:$addr>>1 WAIT TCK 1) "&
      "(ISC_DATA_SHIFT   378:$adsel   WAIT TCK 1) "&
      "(ISC_READ                      WAIT TCK 3, 2.0E-3 378:?:CRC) "&
      "(ISC_ADDRESS_SHIFT 80:$addr>>1 WAIT TCK 1) "&
      "(ISC_DATA_SHIFT   378:$adsel   WAIT TCK 1) "&
      "(ISC_READ                      WAIT TCK 3, 2.0E-3 378:?:CRC) "&
      "(ISC_ADDRESS_SHIFT 80:$addr>>1 WAIT TCK 1) "&
      "(ISC_DATA_SHIFT   378:$adsel   WAIT TCK 1) "&
      "(ISC_READ                      WAIT TCK 3, 2.0E-3 378:?:CRC) "&
      "(ISC_ADDRESS_SHIFT 80:$addr>>1 WAIT TCK 1) "&
      "(ISC_DATA_SHIFT   378:$adsel   WAIT TCK 1) "&
      "(ISC_READ                      WAIT TCK 3, 2.0E-3 378:?:CRC) "&
      "(ISC_ADDRESS_SHIFT 80:$addr>>1 WAIT TCK 1) "&
      "(ISC_DATA_SHIFT   378:$adsel   WAIT TCK 1) "&
      "(ISC_READ                      WAIT TCK 3, 2.0E-3 378:?:CRC) "&
      "(ISC_ADDRESS_SHIFT 80:$addr>>1 WAIT TCK 1) "&
      "(ISC_DATA_SHIFT   378:$adsel   WAIT TCK 1) "&
      "(ISC_READ                      WAIT TCK 3, 2.0E-3 378:?:CRC) "&
      "(ISC_ADDRESS_SHIFT 80:$addr>>1 WAIT TCK 1) "&
      "(ISC_DATA_SHIFT   378:$adsel   WAIT TCK 1) "&
      "(ISC_READ                      WAIT TCK 3, 2.0E-3 378:?:CRC) "&
      "(ISC_ADDRESS_SHIFT 80:$addr>>1 WAIT TCK 1) "&
      "(ISC_DATA_SHIFT   378:$adsel   WAIT TCK 1) "&
      "(ISC_READ                      WAIT TCK 3, 2.0E-3 378:?:CRC) "&
      "(ISC_ADDRESS_SHIFT 80:$addr>>1 WAIT TCK 1) "&
      "(ISC_DATA_SHIFT   378:$adsel   WAIT TCK 1) "&
      "(ISC_READ                      WAIT TCK 3, 2.0E-3 378:?:CRC) "&
      "(ISC_ADDRESS_SHIFT 80:$addr>>1 WAIT TCK 1) "&
      "(ISC_DATA_SHIFT   378:$adsel   WAIT TCK 1) "&
      "(ISC_READ WAIT TCK 3, 2.0E-3 378:?*$em1=0000841082104208410821"&
      "04202104208410821042084108000420841082104208410821010821042084"&
      "10821042084:CRC)"&
      "(ISC_ADDRESS_SHIFT 80:$addr>>1 WAIT TCK 1) "&
      "(ISC_DATA_SHIFT   378:$adsel   WAIT TCK 1) "&
      "(ISC_READ                      WAIT TCK 3, "&
      "2.0E-3 378:?*$em1:CRC)"&
      "(ISC_ADDRESS_SHIFT 80:$addr>>1 WAIT TCK 1) "&
      "(ISC_DATA_SHIFT   378:$adsel   WAIT TCK 1) "&
      "(ISC_READ                      WAIT TCK 3, "&
      "2.0E-3 378:?*$em1:CRC)"&
      "(ISC_ADDRESS_SHIFT 80:$addr>>1 WAIT TCK 1) "&
      "(ISC_DATA_SHIFT   378:$adsel   WAIT TCK 1) "&
      "(ISC_READ WAIT TCK 3, 2.0E-3 378:?*$em2=2020841082104208410821"&
      "04202104208410821042084109010420841082104208410821010821042084"&
      "10821042084:CRC)"&
      "(ISC_ADDRESS_SHIFT 80:$addr>>1 WAIT TCK 1) "&
      "(ISC_DATA_SHIFT   378:$adsel   WAIT TCK 1) "&
      "(ISC_READ                      WAIT TCK 3, "&
      "2.0E-3 378:?*$em1:CRC)"&
      "(ISC_ADDRESS_SHIFT 80:$addr>>1 WAIT TCK 1) "&
      "(ISC_DATA_SHIFT   378:$adsel   WAIT TCK 1) "&
      "(ISC_READ                      WAIT TCK 3, "&
      "2.0E-3 378:?*$em1:CRC)"&
      "(ISC_ADDRESS_SHIFT 80:$addr>>1 WAIT TCK 1) "&
      "(ISC_DATA_SHIFT   378:$adsel   WAIT TCK 1) "&
      "(ISC_READ                      WAIT TCK 3, "&
      "2.0E-3 378:?*$em1:CRC)"&
      "(ISC_ADDRESS_SHIFT 80:$addr>>1 WAIT TCK 1) "&
      "(ISC_DATA_SHIFT   378:$adsel   WAIT TCK 1) "&
      "(ISC_READ                      WAIT TCK 3, "&
      "2.0E-3 378:?*$em2:CRC)"&
      "(ISC_ADDRESS_SHIFT 80:$addr>>1 WAIT TCK 1) "&
      "(ISC_DATA_SHIFT   378:$adsel   WAIT TCK 1) "&
      "(ISC_READ                      WAIT TCK 3, "&
      "2.0E-3 378:?*$em1:CRC)"&
      "(ISC_ADDRESS_SHIFT 80:$addr>>1 WAIT TCK 1) "&
      "(ISC_DATA_SHIFT   378:$adsel   WAIT TCK 1) "&
      "(ISC_READ                      WAIT TCK 3, "&
      "2.0E-3 378:?*$em2:CRC)"&
      "(ISC_ADDRESS_SHIFT 80:$addr>>1 WAIT TCK 1) "&
      "(ISC_DATA_SHIFT   378:$adsel   WAIT TCK 1) "&
      "(ISC_READ                      WAIT TCK 3, "&
      "2.0E-3 378:?*$em1:CRC)"&
      "(ISC_ADDRESS_SHIFT 80:$addr>>1 WAIT TCK 1) "&
      "(ISC_DATA_SHIFT   378:$adsel   WAIT TCK 1) "&
      "(ISC_READ                      WAIT TCK 3, "&
      "2.0E-3 378:?*$em2:CRC)"&
      "(ISC_ADDRESS_SHIFT 80:$addr>>1 WAIT TCK 1) "&
      "(ISC_DATA_SHIFT   378:$adsel   WAIT TCK 1) "&
      "(ISC_READ                      WAIT TCK 3, "&
      "2.0E-3 378:?*$em1:CRC)"&
      "(ISC_ADDRESS_SHIFT 80:$addr>>1 WAIT TCK 1) "&
      "(ISC_DATA_SHIFT   378:$adsel   WAIT TCK 1) "&
      "(ISC_READ WAIT TCK 3, 2.0E-3 378:?*200084108210420841082104202"&
      "10420841082104208410800042084108210420841082101082104208410821"&
      "042084:CRC)"&
      "terminate "&
      "(ISC_ADDRESS_SHIFT 80:0        WAIT TCK 1) "&
      "(ISC_ENABLE         5:9        WAIT TCK 3) "&
      "(ISC_DATA_SHIFT   378:$adsel   WAIT TCK 1) "&
      "(ISC_READ WAIT TCK 3, 2.0E-3 378:?*2010020040080100200400800C0"&
      "08010020040080100200200801002004008010020040060040080100200400"&
      "801001:CRC)"&
      "(ISC_ENABLE         5:8        WAIT TCK 3), "&

  "flow_verify(usercode) "&
    "initialize "&
      "(USERCODE  WAIT TCK 3, 2.0E-3  32:?), "&

  "flow_read(array_tdo) Unprocessed "&
    "initialize "&
      "(ISC_ADDRESS_SHIFT 80:$addr=80000000000000000000 WAIT TCK 1)"&
    "repeat 1 "&
      "(ISC_DATA_SHIFT  378:$adsel=2000000000000000000000000000000000"&
      "0000000000000000000000000000000000000000000000000000000000000"&
      "  WAIT TCK 1) "&
      "(ISC_READ                      WAIT TCK 3, 2.0E-3 378:!:CRC) "&
      "(ISC_ADDRESS_SHIFT 80:$addr>>1 WAIT TCK 1) "&
      "(ISC_DATA_SHIFT   378:$adsel   WAIT TCK 1) "&
      "(ISC_READ                      WAIT TCK 3, 2.0E-3 378:!:CRC) "&
      "(ISC_ADDRESS_SHIFT 80:$addr>>1 WAIT TCK 1) "&
      "(ISC_DATA_SHIFT   378:$adsel   WAIT TCK 1) "&
      "(ISC_READ                      WAIT TCK 3, 2.0E-3 378:!:CRC) "&
      "(ISC_ADDRESS_SHIFT 80:$addr>>1 WAIT TCK 1) "&
      "(ISC_DATA_SHIFT   378:$adsel   WAIT TCK 1) "&
      "(ISC_READ                      WAIT TCK 3, 2.0E-3 378:!:CRC) "&
      "(ISC_ADDRESS_SHIFT 80:$addr>>1 WAIT TCK 1) "&
      "(ISC_DATA_SHIFT   378:$adsel   WAIT TCK 1) "&
      "(ISC_READ                      WAIT TCK 3, 2.0E-3 378:!:CRC) "&
      "(ISC_ADDRESS_SHIFT 80:$addr>>1 WAIT TCK 1) "&
      "(ISC_DATA_SHIFT   378:$adsel   WAIT TCK 1) "&
      "(ISC_READ                      WAIT TCK 3, 2.0E-3 378:!:CRC) "&
      "(ISC_ADDRESS_SHIFT 80:$addr>>1 WAIT TCK 1) "&
      "(ISC_DATA_SHIFT   378:$adsel   WAIT TCK 1) "&
      "(ISC_READ                      WAIT TCK 3, 2.0E-3 378:!:CRC) "&
      "(ISC_ADDRESS_SHIFT 80:$addr>>1 WAIT TCK 1) "&
      "(ISC_DATA_SHIFT   378:$adsel   WAIT TCK 1) "&
      "(ISC_READ                      WAIT TCK 3, 2.0E-3 378:!:CRC) "&
      "(ISC_ADDRESS_SHIFT 80:$addr>>1 WAIT TCK 1)" &
      "(ISC_DATA_SHIFT   378:$adsel   WAIT TCK 1) "&
      "(ISC_READ                      WAIT TCK 3, 2.0E-3 378:!:CRC) "&
      "(ISC_ADDRESS_SHIFT 80:$addr>>1 WAIT TCK 1) "&
      "(ISC_DATA_SHIFT   378:$adsel   WAIT TCK 1) "&
      "(ISC_READ                      WAIT TCK 3, 2.0E-3 378:!:CRC) "&
      "(ISC_ADDRESS_SHIFT 80:$addr>>1 WAIT TCK 1) "&
      "(ISC_DATA_SHIFT   378:$adsel   WAIT TCK 1) "&
      "(ISC_READ                      WAIT TCK 3, 2.0E-3 378:!:CRC) "&
      "(ISC_ADDRESS_SHIFT 80:$addr>>1 WAIT TCK 1) "&
      "(ISC_DATA_SHIFT   378:$adsel   WAIT TCK 1) "&
      "(ISC_READ                      WAIT TCK 3, 2.0E-3 378:!:CRC) "&
      "(ISC_ADDRESS_SHIFT 80:$addr>>1 WAIT TCK 1) "&
      "(ISC_DATA_SHIFT   378:$adsel   WAIT TCK 1) "&
      "(ISC_READ                      WAIT TCK 3, 2.0E-3 378:!:CRC) "&
      "(ISC_ADDRESS_SHIFT 80:$addr>>1 WAIT TCK 1) "&
      "(ISC_DATA_SHIFT   378:$adsel   WAIT TCK 1) "&
      "(ISC_READ                      WAIT TCK 3, 2.0E-3 378:!:CRC) "&
      "(ISC_ADDRESS_SHIFT 80:$addr>>1 WAIT TCK 1) "&
      "(ISC_DATA_SHIFT   378:$adsel   WAIT TCK 1) "&
      "(ISC_READ                      WAIT TCK 3, 2.0E-3 378:!:CRC) "&
      "(ISC_ADDRESS_SHIFT 80:$addr>>1 WAIT TCK 1) "&
      "(ISC_DATA_SHIFT   378:$adsel   WAIT TCK 1) "&
      "(ISC_READ                      WAIT TCK 3, 2.0E-3 378:!:CRC) "&
      "(ISC_ADDRESS_SHIFT 80:$addr>>1 WAIT TCK 1) "&
      "(ISC_DATA_SHIFT   378:$adsel   WAIT TCK 1) "&
      "(ISC_READ                      WAIT TCK 3, 2.0E-3 378:!:CRC) "&
      "(ISC_ADDRESS_SHIFT 80:$addr>>1 WAIT TCK 1) "&
      "(ISC_DATA_SHIFT   378:$adsel   WAIT TCK 1) "&
      "(ISC_READ                      WAIT TCK 3, 2.0E-3 378:!:CRC) "&
      "(ISC_ADDRESS_SHIFT 80:$addr>>1 WAIT TCK 1) "&
      "(ISC_DATA_SHIFT   378:$adsel   WAIT TCK 1) "&
      "(ISC_READ                      WAIT TCK 3, 2.0E-3 378:!:CRC) "&
      "(ISC_ADDRESS_SHIFT 80:$addr>>1 WAIT TCK 1) "&
      "(ISC_DATA_SHIFT   378:$adsel   WAIT TCK 1) "&
      "(ISC_READ                      WAIT TCK 3, 2.0E-3 378:!:CRC) "&
      "(ISC_ADDRESS_SHIFT 80:$addr>>1 WAIT TCK 1) "&
      "(ISC_DATA_SHIFT   378:$adsel   WAIT TCK 1) "&
      "(ISC_READ                      WAIT TCK 3, 2.0E-3 378:!:CRC) "&
      "(ISC_ADDRESS_SHIFT 80:$addr>>1 WAIT TCK 1) "&
      "(ISC_DATA_SHIFT   378:$adsel   WAIT TCK 1) "&
      "(ISC_READ                      WAIT TCK 3, 2.0E-3 378:!:CRC) "&
      "(ISC_ADDRESS_SHIFT 80:$addr>>1 WAIT TCK 1) "&
      "(ISC_DATA_SHIFT   378:$adsel   WAIT TCK 1) "&
      "(ISC_READ                      WAIT TCK 3, 2.0E-3 378:!:CRC) "&
      "(ISC_ADDRESS_SHIFT 80:$addr>>1 WAIT TCK 1) "&
      "(ISC_DATA_SHIFT   378:$adsel   WAIT TCK 1) "&
      "(ISC_READ                      WAIT TCK 3, 2.0E-3 378:!:CRC) "&
      "(ISC_ADDRESS_SHIFT 80:$addr>>1 WAIT TCK 1) "&
      "(ISC_DATA_SHIFT   378:$adsel   WAIT TCK 1) "&
      "(ISC_READ                      WAIT TCK 3, 2.0E-3 378:!:CRC) "&
      "(ISC_ADDRESS_SHIFT 80:$addr>>1 WAIT TCK 1) "&
      "(ISC_DATA_SHIFT   378:$adsel   WAIT TCK 1) "&
      "(ISC_READ                      WAIT TCK 3, 2.0E-3 378:!:CRC) "&
      "(ISC_ADDRESS_SHIFT 80:$addr>>1 WAIT TCK 1) "&
      "(ISC_DATA_SHIFT   378:$adsel   WAIT TCK 1) "&
      "(ISC_READ                      WAIT TCK 3, 2.0E-3 378:!:CRC) "&
      "(ISC_ADDRESS_SHIFT 80:$addr>>1 WAIT TCK 1) "&
      "(ISC_DATA_SHIFT   378:$adsel   WAIT TCK 1) "&
      "(ISC_READ                      WAIT TCK 3, 2.0E-3 378:!:CRC) "&
      "(ISC_ADDRESS_SHIFT 80:$addr>>1 WAIT TCK 1) "&
      "(ISC_DATA_SHIFT   378:$adsel   WAIT TCK 1) "&
      "(ISC_READ                      WAIT TCK 3, 2.0E-3 378:!:CRC) "&
      "(ISC_ADDRESS_SHIFT 80:$addr>>1 WAIT TCK 1) "&
      "(ISC_DATA_SHIFT   378:$adsel   WAIT TCK 1) "&
      "(ISC_READ                      WAIT TCK 3, 2.0E-3 378:!:CRC) "&
      "(ISC_ADDRESS_SHIFT 80:$addr>>1 WAIT TCK 1) "&
      "(ISC_DATA_SHIFT   378:$adsel   WAIT TCK 1) "&
      "(ISC_READ                      WAIT TCK 3, 2.0E-3 378:!:CRC) "&
      "(ISC_ADDRESS_SHIFT 80:$addr>>1 WAIT TCK 1) "&
      "(ISC_DATA_SHIFT   378:$adsel   WAIT TCK 1) "&
      "(ISC_READ                      WAIT TCK 3, 2.0E-3 378:!:CRC) "&
      "(ISC_ADDRESS_SHIFT 80:$addr>>1 WAIT TCK 1) "&
      "(ISC_DATA_SHIFT   378:$adsel   WAIT TCK 1) "&
      "(ISC_READ                      WAIT TCK 3, 2.0E-3 378:!:CRC) "&
      "(ISC_ADDRESS_SHIFT 80:$addr>>1 WAIT TCK 1) "&
      "(ISC_DATA_SHIFT   378:$adsel   WAIT TCK 1) "&
      "(ISC_READ                      WAIT TCK 3, 2.0E-3 378:!:CRC) "&
      "(ISC_ADDRESS_SHIFT 80:$addr>>1 WAIT TCK 1) "&
      "(ISC_DATA_SHIFT   378:$adsel   WAIT TCK 1) "&
      "(ISC_READ                      WAIT TCK 3, 2.0E-3 378:!:CRC) "&
      "(ISC_ADDRESS_SHIFT 80:$addr>>1 WAIT TCK 1) "&
      "(ISC_DATA_SHIFT   378:$adsel   WAIT TCK 1) "&
      "(ISC_READ                      WAIT TCK 3, 2.0E-3 378:!:CRC) "&
      "(ISC_ADDRESS_SHIFT 80:$addr>>1 WAIT TCK 1) "&
      "(ISC_DATA_SHIFT   378:$adsel   WAIT TCK 1) "&
      "(ISC_READ                      WAIT TCK 3, 2.0E-3 378:!:CRC) "&
      "(ISC_ADDRESS_SHIFT 80:$addr>>1 WAIT TCK 1) "&
      "(ISC_DATA_SHIFT   378:$adsel   WAIT TCK 1) "&
      "(ISC_READ                      WAIT TCK 3, 2.0E-3 378:!:CRC) "&
      "(ISC_ADDRESS_SHIFT 80:$addr>>1 WAIT TCK 1) "&
      "(ISC_DATA_SHIFT   378:$adsel   WAIT TCK 1) "&
      "(ISC_READ                      WAIT TCK 3, 2.0E-3 378:!:CRC) "&
      "(ISC_ADDRESS_SHIFT 80:$addr>>1 WAIT TCK 1) "&
      "(ISC_DATA_SHIFT   378:$adsel   WAIT TCK 1) "&
      "(ISC_READ                      WAIT TCK 3, 2.0E-3 378:!:CRC) "&
      "(ISC_ADDRESS_SHIFT 80:$addr>>1 WAIT TCK 1) "&
      "(ISC_DATA_SHIFT   378:$adsel   WAIT TCK 1) "&
      "(ISC_READ                      WAIT TCK 3, 2.0E-3 378:!:CRC) "&
      "(ISC_ADDRESS_SHIFT 80:$addr>>1 WAIT TCK 1) "&
      "(ISC_DATA_SHIFT   378:$adsel   WAIT TCK 1) "&
      "(ISC_READ                      WAIT TCK 3, 2.0E-3 378:!:CRC) "&
      "(ISC_ADDRESS_SHIFT 80:$addr>>1 WAIT TCK 1) "&
      "(ISC_DATA_SHIFT   378:$adsel   WAIT TCK 1) "&
      "(ISC_READ                      WAIT TCK 3, 2.0E-3 378:!:CRC) "&
      "(ISC_ADDRESS_SHIFT 80:$addr>>1 WAIT TCK 1) "&
      "(ISC_DATA_SHIFT   378:$adsel   WAIT TCK 1) "&
      "(ISC_READ                      WAIT TCK 3, 2.0E-3 378:!:CRC) "&
      "(ISC_ADDRESS_SHIFT 80:$addr>>1 WAIT TCK 1) "&
      "(ISC_DATA_SHIFT   378:$adsel   WAIT TCK 1) "&
      "(ISC_READ                      WAIT TCK 3, 2.0E-3 378:!:CRC) "&
      "(ISC_ADDRESS_SHIFT 80:$addr>>1 WAIT TCK 1) "&
      "(ISC_DATA_SHIFT   378:$adsel   WAIT TCK 1) "&
      "(ISC_READ                      WAIT TCK 3, 2.0E-3 378:!:CRC) "&
      "(ISC_ADDRESS_SHIFT 80:$addr>>1 WAIT TCK 1) "&
      "(ISC_DATA_SHIFT   378:$adsel   WAIT TCK 1) "&
      "(ISC_READ                      WAIT TCK 3, 2.0E-3 378:!:CRC) "&
      "(ISC_ADDRESS_SHIFT 80:$addr>>1 WAIT TCK 1) "&
      "(ISC_DATA_SHIFT   378:$adsel   WAIT TCK 1) "&
      "(ISC_READ                      WAIT TCK 3, 2.0E-3 378:!:CRC) "&
      "(ISC_ADDRESS_SHIFT 80:$addr>>1 WAIT TCK 1) "&
      "(ISC_DATA_SHIFT   378:$adsel   WAIT TCK 1) "&
      "(ISC_READ                      WAIT TCK 3, 2.0E-3 378:!:CRC) "&
      "(ISC_ADDRESS_SHIFT 80:$addr>>1 WAIT TCK 1) "&
      "(ISC_DATA_SHIFT   378:$adsel   WAIT TCK 1) "&
      "(ISC_READ                      WAIT TCK 3, 2.0E-3 378:!:CRC) "&
      "(ISC_ADDRESS_SHIFT 80:$addr>>1 WAIT TCK 1) "&
      "(ISC_DATA_SHIFT   378:$adsel   WAIT TCK 1) "&
      "(ISC_READ                      WAIT TCK 3, 2.0E-3 378:!:CRC) "&
      "(ISC_ADDRESS_SHIFT 80:$addr>>1 WAIT TCK 1) "&
      "(ISC_DATA_SHIFT   378:$adsel   WAIT TCK 1) "&
      "(ISC_READ                      WAIT TCK 3, 2.0E-3 378:!:CRC) "&
      "(ISC_ADDRESS_SHIFT 80:$addr>>1 WAIT TCK 1) "&
      "(ISC_DATA_SHIFT   378:$adsel   WAIT TCK 1) "&
      "(ISC_READ                      WAIT TCK 3, 2.0E-3 378:!:CRC) "&
      "(ISC_ADDRESS_SHIFT 80:$addr>>1 WAIT TCK 1) "&
      "(ISC_DATA_SHIFT   378:$adsel   WAIT TCK 1) "&
      "(ISC_READ                      WAIT TCK 3, 2.0E-3 378:!:CRC) "&
      "(ISC_ADDRESS_SHIFT 80:$addr>>1 WAIT TCK 1) "&
      "(ISC_DATA_SHIFT   378:$adsel   WAIT TCK 1) "&
      "(ISC_READ                      WAIT TCK 3, 2.0E-3 378:!:CRC) "&
      "(ISC_ADDRESS_SHIFT 80:$addr>>1 WAIT TCK 1) "&
      "(ISC_DATA_SHIFT   378:$adsel   WAIT TCK 1) "&
      "(ISC_READ                      WAIT TCK 3, 2.0E-3 378:!:CRC) "&
      "(ISC_ADDRESS_SHIFT 80:$addr>>1 WAIT TCK 1) "&
      "(ISC_DATA_SHIFT   378:$adsel   WAIT TCK 1) "&
      "(ISC_READ                      WAIT TCK 3, 2.0E-3 378:!:CRC) "&
      "(ISC_ADDRESS_SHIFT 80:$addr>>1 WAIT TCK 1) "&
      "(ISC_DATA_SHIFT   378:$adsel   WAIT TCK 1) "&
      "(ISC_READ                      WAIT TCK 3, 2.0E-3 378:!:CRC) "&
      "(ISC_ADDRESS_SHIFT 80:$addr>>1 WAIT TCK 1) "&
      "(ISC_DATA_SHIFT   378:$adsel   WAIT TCK 1) "&
      "(ISC_READ                      WAIT TCK 3, 2.0E-3 378:!:CRC) "&
      "(ISC_ADDRESS_SHIFT 80:$addr>>1 WAIT TCK 1) "&
      "(ISC_DATA_SHIFT   378:$adsel   WAIT TCK 1) "&
      "(ISC_READ                      WAIT TCK 3, 2.0E-3 378:!:CRC) "&
      "(ISC_ADDRESS_SHIFT 80:$addr>>1 WAIT TCK 1) "&
      "(ISC_DATA_SHIFT   378:$adsel   WAIT TCK 1) "&
      "(ISC_READ                      WAIT TCK 3, 2.0E-3 378:!:CRC) "&
      "(ISC_ADDRESS_SHIFT 80:$addr>>1 WAIT TCK 1) "&
      "(ISC_DATA_SHIFT   378:$adsel   WAIT TCK 1) "&
      "(ISC_READ                      WAIT TCK 3, 2.0E-3 378:!:CRC) "&
      "(ISC_ADDRESS_SHIFT 80:$addr>>1 WAIT TCK 1) "&
      "(ISC_DATA_SHIFT   378:$adsel   WAIT TCK 1) "&
      "(ISC_READ                      WAIT TCK 3, 2.0E-3 378:!:CRC) "&
      "(ISC_ADDRESS_SHIFT 80:$addr>>1 WAIT TCK 1) "&
      "(ISC_DATA_SHIFT   378:$adsel   WAIT TCK 1) "&
      "(ISC_READ                      WAIT TCK 3, 2.0E-3 378:!:CRC) "&
      "(ISC_ADDRESS_SHIFT 80:$addr>>1 WAIT TCK 1) "&
      "(ISC_DATA_SHIFT   378:$adsel   WAIT TCK 1) "&
      "(ISC_READ                      WAIT TCK 3, 2.0E-3 378:!:CRC) "&
      "(ISC_ADDRESS_SHIFT 80:$addr>>1 WAIT TCK 1) "&
      "(ISC_DATA_SHIFT   378:$adsel   WAIT TCK 1) "&
      "(ISC_READ                      WAIT TCK 3, 2.0E-3 378:!:CRC) "&
      "(ISC_ADDRESS_SHIFT 80:$addr>>1 WAIT TCK 1) "&
      "(ISC_DATA_SHIFT   378:$adsel   WAIT TCK 1) "&
      "(ISC_READ WAIT TCK 3, 2.0E-3 378:*!$em1=0000841082104208410821"&
      "04202104208410821042084108000420841082104208410821010821042084"&
      "10821042084:CRC)"&
      "(ISC_ADDRESS_SHIFT 80:$addr>>1 WAIT TCK 1) "&
      "(ISC_DATA_SHIFT   378:$adsel   WAIT TCK 1) "&
      "(ISC_READ                      WAIT TCK 3, "&
      "2.0E-3 378:*!$em1:CRC) "&
      "(ISC_ADDRESS_SHIFT 80:$addr>>1 WAIT TCK 1) "&
      "(ISC_DATA_SHIFT   378:$adsel   WAIT TCK 1) "&
      "(ISC_READ                      WAIT TCK 3, "&
      "2.0E-3 378:*!$em1:CRC) "&
      "(ISC_ADDRESS_SHIFT 80:$addr>>1 WAIT TCK 1) "&
      "(ISC_DATA_SHIFT   378:$adsel   WAIT TCK 1) "&
      "(ISC_READ WAIT TCK 3, 2.0E-3 378:*!$em2=2020841082104208410821"&
      "04202104208410821042084109010420841082104208410821010821042084"&
      "10821042084:CRC)"&
      "(ISC_ADDRESS_SHIFT 80:$addr>>1 WAIT TCK 1) "&
      "(ISC_DATA_SHIFT   378:$adsel   WAIT TCK 1) "&
      "(ISC_READ                      WAIT TCK 3, "&
      "2.0E-3 378:*!$em1:CRC) "&
      "(ISC_ADDRESS_SHIFT 80:$addr>>1 WAIT TCK 1) "&
      "(ISC_DATA_SHIFT   378:$adsel   WAIT TCK 1) "&
      "(ISC_READ                      WAIT TCK 3, "&
      "2.0E-3 378:*!$em1:CRC) "&
      "(ISC_ADDRESS_SHIFT 80:$addr>>1 WAIT TCK 1) "&
      "(ISC_DATA_SHIFT   378:$adsel   WAIT TCK 1) "&
      "(ISC_READ                      WAIT TCK 3, "&
      "2.0E-3 378:*!$em1:CRC) "&
      "(ISC_ADDRESS_SHIFT 80:$addr>>1 WAIT TCK 1) "&
      "(ISC_DATA_SHIFT   378:$adsel   WAIT TCK 1) "&
      "(ISC_READ                      WAIT TCK 3, "&
      "2.0E-3 378:*!$em2:CRC)" &
      "(ISC_ADDRESS_SHIFT 80:$addr>>1 WAIT TCK 1) "&
      "(ISC_DATA_SHIFT   378:$adsel   WAIT TCK 1) "&
      "(ISC_READ                      WAIT TCK 3, "&
      "2.0E-3 378:*!$em1:CRC) "&
      "(ISC_ADDRESS_SHIFT 80:$addr>>1 WAIT TCK 1) "&
      "(ISC_DATA_SHIFT   378:$adsel   WAIT TCK 1) "&
      "(ISC_READ                      WAIT TCK 3, "&
      "2.0E-3 378:*!$em2:CRC) "&
      "(ISC_ADDRESS_SHIFT 80:$addr>>1 WAIT TCK 1) "&
      "(ISC_DATA_SHIFT   378:$adsel   WAIT TCK 1) "&
      "(ISC_READ                      WAIT TCK 3, "&
      "2.0E-3 378:*!$em1:CRC) "&
      "(ISC_ADDRESS_SHIFT 80:$addr>>1 WAIT TCK 1) "&
      "(ISC_DATA_SHIFT   378:$adsel   WAIT TCK 1) "&
      "(ISC_READ                      WAIT TCK 3, "&
      "2.0E-3 378:*!$em2:CRC) "&
      "(ISC_ADDRESS_SHIFT 80:$addr>>1 WAIT TCK 1) "&
      "(ISC_DATA_SHIFT   378:$adsel   WAIT TCK 1) "&
      "(ISC_READ                      WAIT TCK 3, "&
      "2.0E-3 378:*!$em1:CRC) "&
      "(ISC_ADDRESS_SHIFT 80:$addr>>1 WAIT TCK 1) "&
      "(ISC_DATA_SHIFT   378:$adsel   WAIT TCK 1) "&
      "(ISC_READ WAIT TCK 3, 2.0E-3 378:*!20008410821042084108210420"&
      "2104208410821042084108000420841082104208410821010821042084108"&
      "21042084:CRC)"&
    "terminate "&
      "(ISC_ADDRESS_SHIFT 80:0        WAIT TCK 1) "&
      "(ISC_ENABLE         5:9        WAIT TCK 3) "&
      "(ISC_DATA_SHIFT   378:$adsel   WAIT TCK 1) "&
      "(ISC_READ WAIT TCK 3, 2.0E-3 378:*!2010020040080100200400800C0"&
      "08010020040080100200200801002004008010020040060040080100200400"&
      "801001:CRC)"&
      "(ISC_ENABLE         5:8        WAIT TCK 3), "&

  "flow_read(usercode) Unprocessed "&
    "initialize "&
      "(USERCODE   WAIT TCK 3, 2.0E-3 32:!), "&

  "flow_program_done "&
    "initialize "&
      "(ISC_NOOP  WAIT TCK 1), "&

  "flow_program_security "&
    "initialize "&
      "(ISC_PROGRAM_SECURITY  WAIT TCK 3, 50.0e-3), "&

  "flow_disable "&
    "initialize "&
      "(ISC_ENABLE       5:C  WAIT TCK 3) "&
      "(ISC_DISABLE           WAIT TCK 3)";

attribute ISC_PROCEDURE of M4A3_64_32_XXJC : entity is
  "proc_verify(idcode)     = (flow_verify(idcode)), "&
  "proc_enable             = (flow_enable), "& 
  "proc_disable            = (flow_disable), "&
  "proc_program_init       = (flow_program_init), "&
  "proc_program(array)     = (flow_program(array)), "&
  "proc_read_init          = (flow_read_init), "&
  "proc_verify(array)      = (flow_verify(array_tdo)), "&
  "proc_verify(usercode)   = (flow_verify(usercode)), "&
  "proc_erase              = (flow_erase), "&
  "proc_erase_program      = (flow_erase_program), "&
  "proc_read(array)        = (flow_read(array_tdo)), "&
  "proc_read(usercode)     = (flow_read(usercode)), "&
  "proc_error_exit         = (flow_disable), "&
  "proc_preload            = (flow_preload), "&
  "proc_program_done       = (flow_program_done), "&
  "proc_program_security   = (flow_program_security)";

attribute ISC_ACTION of M4A3_64_32_XXJC : entity is
  "erase         = ( proc_verify(idcode) recommended, "&
                    "proc_preload recommended, "&
                    "proc_enable, "&
                    "proc_erase, "&
                    "proc_erase_program, "&
                    "proc_disable), "&
  "program       = ( proc_verify(idcode) recommended, "&
                    "proc_preload recommended, "&
                    "proc_enable, "&
                    "proc_erase, "&
                    "proc_program_init, "&
                    "proc_program(array), "&
                    "proc_read_init, "&
                    "proc_verify(array) proprietary, "&
                    "proc_program_security optional, "&
                    "proc_program_done, "&
                    "proc_disable, "&
                    "proc_verify(usercode)), "&
  "verify        = ( proc_verify(idcode) recommended, "&
                    "proc_preload recommended, "&
                    "proc_enable, "&
                    "proc_read_init, "&
                    "proc_verify(array) proprietary, "&
                    "proc_disable, "&
                    "proc_verify(usercode)), "&
  "read          = ( proc_verify(idcode) recommended, "&
                    "proc_preload recommended, "&
                    "proc_enable, "&
                    "proc_read_init, "&
                    "proc_read(array) proprietary, "&
                    "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 M4A3_64_32_XXJC;