home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 1996 September / pcwk_09_96.iso / demo / elmark / cupl / manual / sb6c.txt < prev    next >
Text File  |  1992-01-17  |  44KB  |  1,055 lines

  1. .C1.    DOWNLOAD FORMATS               C
  2.  
  3.     This appendix describes downloadable file formats and the .DOC file.
  4.  
  5.  
  6. o   .c2.DOWNLOADABLE FILE FORMATS
  7.  
  8.     This section describes the JEDEC, ASCII-hex, and HL standards for 
  9.     data transfer to a device programmer.
  10.  
  11.  
  12. o   .c3.JEDEC Format
  13.  
  14.     The JEDEC JC-42.1 standard consists of a transmission that begins 
  15.     with an ASCII Start-of-Text (STX) character, followed by various 
  16.     fields of information:  an ASCII End-of-Text (ETX) character, and a 
  17.     transmission checksum.  The allowed legal characters consist of 
  18.     printable ASCII characters (hex 20 through 7E) and the four control 
  19.     characters listed in table C-1.  
  20.  
  21.         Table C-1.  Control Characters 
  22.         STX     Start-of-Text        hex 02
  23.         ETX     End-of-Text          hex 03
  24.         LF      Line Feed            hex 0A
  25.         CR      Carriage Return      hex 0D
  26.  
  27.     Figure C-1 shows a sample JEDEC  file  created  by using CUPL and 
  28.     CSIM.
  29.  
  30.      ------------------------------------------------------------
  31.         <STX>
  32.         Cupl         3.0
  33.         Serial # 0-00000-000
  34.         Device    p16r4 
  35.         Library   DLIB-h-24-11
  36.         Created   Tue Jul 07 15:22:33 1987
  37.         Name      WAITGEN
  38.         Partno    P9000183
  39.         Revision  02
  40.         Date      03/14/85
  41.         Designer  Osann
  42.         Company   P-CAD
  43.         Assembly     PC Memory
  44.         Location     U106
  45.         *QP20
  46.         *QF2048
  47.         *G0
  48.         *F0
  49.         *L000
  50.         00
  51.         101101011101111111001110001
  52.         10111
  53.         *C0307
  54.         *QV*P 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
  55.         *V0001 CXXXXX110N0HHLLZXXHN
  56.         *
  57.         <ETX>
  58.         6AA1
  59.      ------------------------------------------------------------
  60.      Figure C-1. Sample JEDEC File
  61.  
  62.     The rest of this section describes the fields in the sample file in 
  63.     Figure C-1.
  64.  
  65.     The design specification is the first field in the format. It 
  66.     includes all information between the STX and the first asterisk (*).  
  67.     This information is for documentation purposes only, and consists of 
  68.     the header information from the CUPL source file along with the 
  69.     version number of the compiler and device library.  Each of the 
  70.     fields after the design specification field begins with one of the 
  71.     single character identifiers shown in Table C-2.  
  72.  
  73.     Table C-2.  Field Identifiers
  74.  
  75.     A - *                               N - *
  76.     B - *                               O - *
  77.     C - Fuse  check  sum                P - Pin Order
  78.     D - Device  type                    Q - Value
  79.     E - *                               R - *
  80.     F - Default fuse state              S - *
  81.     G - Security fuse                   T - *
  82.     H - *                               U - *
  83.     I - *                               V - Test vector
  84.     J - *                               W - *
  85.     K - *                               X - *
  86.     L - Fuse link data                  Y - *
  87.     M - *                               Z - *
  88.     * - indicates reserved  for future use
  89.  
  90.     Characters that have not been defined are reserved for future use.
  91.  
  92.     Fields can be identified by multiple characters; for example, QF to 
  93.     indicate a value default fuse state.
  94.  
  95.     The device field (D) is no longer supported.  In CUPL 1.0 the device 
  96.     field contained a four-digit code that identified the device to be 
  97.     programmed.  However, lack of consistent support by the device 
  98.     programmer manufacturers led to this field being dropped from the 
  99.     JEDEC file format for CUPL 2.0 and higher.
  100.  
  101.     A value field, QP, describes the number of pins for the device; 
  102.     another value field, QF, describes the total number of programmable 
  103.     fuses in the device. Both values are decimal numbers.
  104.  
  105.     The security fuse field (G) instructs the programmer to disable (G0) 
  106.     or enable (G1) the programming of the security fuse on the devices 
  107.     that contain this option. A single space follows the number for 
  108.     compatibility with certain manufacturers' equipment.
  109.  
  110.     The default fuse state field (F) defines the state of the fuses that 
  111.     are not explicitly defined in the L field.  Since CUPL 3.0 does not 
  112.     transmit all fuse states (to speed data transmission on large 
  113.     designs), this field must be recognized by the device programmer.
  114.  
  115.     The fuse link field (L) contains the actual data.  Each device fuse 
  116.     link is assigned a decimal number, starting with 0000. Each numbered 
  117.     fuse has two possible states:  binary 0 specifies a low resistance 
  118.     link (FUSE INTACT) and binary 1 specifies a high resistance link 
  119.     (FUSE BLOWN).
  120.  
  121.    ========================================================
  122.    Note
  123.      Some manufacturers specify "test fuses" for purposes of running AC
  124.      parameter tests on the device before programming. These fuses are 
  125.      not part of the fuse link data.
  126.    ========================================================
  127.  
  128.     The L identifier begins the field and is followed by the number of 
  129.     the first fuse being defined in the field.  When more than one 
  130.     binary value is specified, the additional values are assigned to 
  131.     fuses numbered consecutively from the first fuse number.
  132.  
  133.     The next field is a fuse checksum (C) field.  The checksum is a 
  134.     16-bit hexadecimal value which is computed by adding 8-bit words 
  135.     formed from the specified state of each fuse link in the device. 
  136.     Link number 0 is the least-significant bit (lsb) and link number 7 
  137.     is the most significant bit (msb) of word 0.  Unspecified bits in 
  138.     the final 8-bit word are set to zero before computing the checksum.  
  139.     In the Figure C-1 the first thirty-two fuses generate four 8-bit 
  140.     words as follows:
  141.  
  142.              msb            lsb
  143.         word 00 1 0 1 0 1 1 0 1 --> AD
  144.         word 01 1 1 1 1 1 0 1 1 --> FB 
  145.         word 02 0 1 1 1 0 0 1 1 --> 73
  146.         word 03 1 1 1 0 1 1 0 0 --> EC
  147.                                   -----
  148.                                   0307
  149.  
  150.     The optional test vector field (V) is created by running CSIM with 
  151.     the -j option flag.  It contains functional test information for 
  152.     each device pin. The QV value field defines the number of test 
  153.     vectors which the file contains.  Test vectors are numbered starting 
  154.     with 0001 and applied in numerical order to the device being tested. 
  155.     Table C-3 lists the valid conditions for any pin.
  156.  
  157.     Table C-3.  Test Conditions
  158.         0        -        Drive input LO (0 volts)
  159.         1        -        Drive input HI (+5 volts)
  160.         C        -        Drive input LO, HI, LO
  161.         K        -        Drive input HI, LO, HI
  162.         L        -        Test output LO (0 volts)
  163.         H        -        Test output HI (+5 volts)
  164.         Z        -        Test output for high impedance
  165.         X        -        Input undefined, Output untested
  166.         N        -        Power pins and Outputs not tested
  167.         P        -        Preload registers
  168.  
  169.         Value given applied to [Picture] of register
  170.  
  171.     The test conditions, as they appear in the vector, are applied to 
  172.     the device pins according to the sequence given in the pin order (P) 
  173.     field.  In this example (figure C-1), the first condition is applied 
  174.     to pin 1 and the last to pin 20 of a 20 pin device. The C and K 
  175.     driving signals are presented after all other inputs are stable. The 
  176.     L, H, and Z conditions are tested after all inputs have been 
  177.     stabilized, including C and K.
  178.  
  179.     The P driving signal on the clock pin is valid only for those 
  180.     devices capable of preloading registers with a supervoltage.  
  181.     Devices which use dedicated TTL-level preload pins must use the C or 
  182.     K driving signals on these pins to preload the registers.
  183.  
  184.     The end of transmission is signified with a non-printing ASCII ETX 
  185.     character followed immediately by a transmission checksum 
  186.     (sum-check) of four ASCII hex characters.  The checksum is the 
  187.     16-bit sum of the ASCII values of all the transmitted characters 
  188.     between, and including, the starting STX and ending ETX characters. 
  189.     In the sample file (figure C-1), the transmission checksum 
  190.     calculates to 46C9, when taking into account a non-printing carriage 
  191.     return and line feed at the end of every line.
  192.  
  193. o   .c3.ASCII-Hex Format
  194.     The ASCII-hex format is generated for PROMs only.  Data in this 
  195.     format is organized in sequential bytes separated by the execute 
  196.     character (space).  Characters immediately preceding the execute 
  197.     character are interpreted as data bytes.  The format may express the 
  198.     data bytes as either a single hex digit (x4 PROMs) or two hex digits 
  199.     (x8 PROM's).
  200.  
  201.     An ASCII STX [Ctrl]-[B] character starts the transmission.  A 
  202.     four-digit hexadecimal address, preceded by a $ , A , and comma 
  203.     ($A,) starts each line of 16 data bytes. An ASCII ETX [Ctrl]-[C] 
  204.     ends the data portion of the transmission.  It is followed by forty 
  205.     spaces.  Figure C-2 shows a sample hex file.
  206.  
  207.         ^B
  208.         $A0000,00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
  209.         $A0010,10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F
  210.         $A0020,20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F
  211.         $A0030,30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F
  212.         ^C
  213.         $S07E0,
  214.  
  215.      Figure C-2. Sample Hex File
  216.  
  217. o  .c3.HL Formats
  218.     The HL Download Format is generated for Signetics IFL devices only.  
  219.     Each device has its own unique format. All formats begin with STX 
  220.     [Ctrl]-[B] and end with ETX [Ctrl]-[C].  The following sections 
  221.     describe the format for each type of IFL device.  82S100/101 FPLA.
  222.  
  223.     The active-level identifier *A is followed by the states of the 
  224.     active levels for F7 to F0, where H denotes active-HI and L denotes 
  225.     active-LO.  The product terms are described by the *P identifier 
  226.     followed by a space and the P-term number.  The input variable 
  227.     identifier *I is followed by the input variables I15 to I0 and then 
  228.     the output function identifier *F followed by F7 to F0.
  229.  
  230.     Figure C-3 shows a sample file in this format.
  231.  
  232.      --------------------------------------------------------
  233.         ^B
  234.         *A LHLHLHLH
  235.         *P 00 *I    HHHHLLLLHHHHLLLL  *F A.A.A.A.
  236.         . 
  237.         .
  238.         *P 47 *I LLLLLLLLLLLLLLLL *F ....AAAA
  239.         ^C
  240.      --------------------------------------------------------
  241.      Figure C-3. Sample     82S100/101 FPLA File
  242.  
  243.     82S103 FPGA
  244.  
  245.     The product terms start with the *G identifier followed by a space 
  246.     and the term number. This is followed by the active-level identifier 
  247.     *A and the active-level data. The input variable identifier *I is 
  248.     followed by the input variables I15 to I0.
  249.  
  250.     Figure C-4 shows a sample
  251.     file in this format.
  252.  
  253.      --------------------------------------------------------
  254.         ^B
  255.         *G 00 *A L *I  HHHHLLLLHHHHLLLL 
  256.         .
  257.         .
  258.         *G 47 *A H *I LLLLLLLLLLLLLLLL
  259.         ^C
  260.      --------------------------------------------------------
  261.  
  262.      Figure C-4. Sample 82S103 FPGA File
  263.  
  264.     82S105 FPLS
  265.  
  266.     The preset / output enable option is entered using the *A identifier 
  267.     followed by H (preset) or L (output enable).  The transition terms 
  268.     are described by the term identifier *T followed by the term number.  
  269.     The complement array identifier *C is followed by the value of this 
  270.     term. The input variables for the term are given with the input 
  271.     variable identifier *I followed by I15 to I0. The present state of 
  272.     the flip-flops is given with *P followed by P5 to P0. The next state 
  273.     values follow with *N and N5 to N0.  The output function is 
  274.     described as *F followed by F7 to F0.
  275.  
  276.     Figure C-5 shows a sample file in this format.
  277.  
  278.      --------------------------------------------------------
  279.         ^B
  280.         *AL
  281.         *T 00 *C.*ILLLLHHHHLLLLHHH *P HHHLLL
  282.                    *NHHHLLL *F HHHHHHHH 
  283.         .
  284.         .
  285.         *T 47 *C A *I LL------- *P LLLLLL
  286.                    *N HHHHHH *F HHHLLL-
  287.         ^C
  288.      --------------------------------------------------------
  289.  
  290.      Figure C-5. Sample 82S105 FPLS File
  291.  
  292.     82S151 FPGA
  293.  
  294.     The direction of the I/O pins follows the *DIR identifier, and the 
  295.     output polarity follows the *POL identifier. The product terms are 
  296.     described by the *P identifier followed by a space and the P-term 
  297.     number.
  298.  
  299.     Control term numbers start with a *D and then the term number.  The 
  300.     input variable identifier *I is followed by the input variables I5 
  301.     to I0 and then the I/O feedback identifier *B followed by B11 to B0.
  302.  
  303.     Figure C-6 shows a sample
  304.     file in this format.
  305.  
  306.      --------------------------------------------------------
  307.         ^B
  308.         *DIR HHLLHHLLHLHL *POL HHHHLLLLHHLL
  309.         *P 00 *I HHLLLL     *B HL--HL--LLHH
  310.         .
  311.         .
  312.         *P 11 *I LLLLLL *B HHHHLLLLHHLL
  313.         *D 02 *I ----HH *B ----LLLLLL- 
  314.         .
  315.         .
  316.         *D 00 *I LLLL-- *B HHHHHHLLLL-
  317.         ^C
  318.      --------------------------------------------------------
  319.  
  320.      Figure C-6. Sample 82S151 FPGA File
  321.  
  322.     82S153 FPLA
  323.  
  324.     The output polarity identifier *POL is followed by the states of the 
  325.     active levels for outputs B9 to B0, where H denotes active-HI and L 
  326.     denotes active-LO.  The product terms are described by the *P 
  327.     identifier followed by a space and the P-term number.  Control term 
  328.     numbers start with a D and then the term number.  The input variable 
  329.     identifier *I is followed by the input variables I7 to I0.  The 
  330.     feedback variables B9 to B0 follow the *BI identifier and the output 
  331.     functions B9 to B0 follow the *BO identifier.
  332.  
  333.     Figure C-7 shows a sample file in this format.
  334.  
  335.      --------------------------------------------------------
  336.         ^B
  337.         *POL HHLLHHLLHH
  338.         *P 00 *I    --HH--LL *BI --HL------ *BO    A..A..A..A
  339.         .
  340.         .
  341.         *P 31 *I ------HH *BI HLHLHLHLHL *BO    ....AA....
  342.         *P D9 *I --HHHHHH *BI ----HHHHLL 
  343.         .
  344.         .
  345.         *P D0 *I LLLLLLLL *BI ---------
  346.         ^C
  347.      --------------------------------------------------------
  348.  
  349.      Figure C-7. Sample 82S153 FPLA File
  350.  
  351.     82S155 FPLS
  352.  
  353.     The output enable modes for groups A and B follow the *E identifier.  
  354.     The flip-flop mode for each register follows an *F/F identifier. The 
  355.     polarity for the output pins follows an *POL identifier.  The 
  356.     transition terms are described by the term identifier *T followed by 
  357.     the term number.  The complement array identifier *C is followed by 
  358.     the value of this term. The input variables for the term are given 
  359.     with the input variable identifier *I followed by I3 to I0.  The I/O 
  360.     feedback data follows the *B identifier.  The present state of the 
  361.     flip-flops is given with *QP followed by Q3 to Q0.  The next state 
  362.     values follow with *ON and O3 to O0. The preset terms for groups PB 
  363.     and PA follow the preset identifier *P.  The reset terms for groups 
  364.     RB and RA follow the reset identifier *R.  The output function is 
  365.     described as *BO followed by B7 to B0. The terms for flip-flop 
  366.     control, reset, preset, load, and output enable follow.
  367.  
  368.     Figure C-8 shows a sample file in this format.
  369.  
  370.      --------------------------------------------------------
  371.         ^B
  372.         *E AA *F/F A.A. *POL HLHLLHLH
  373.         *T 00 *C . *I HHLL *BI HL--HLHL *QP LH-
  374.                    *QN LLHH *P .. *R .. *BO .A.A.A.A 
  375.         .
  376.         .
  377.         *T 31 *C A *I LLHH *BI ----HLHL *QP HHLL
  378.                   *QNHHHH *P .A *R .A *BO ..A.AA.A
  379.         *T FC *C . *I LLLL *BI LLLLHHHH *QP LLHH
  380.         *T LB *C . *I HLLL *BI --LL--LL *QP HHHH
  381.         *T LA *C . *I LL-- *BI LLLLHHHH *QP --LL
  382.         *T D3 *C . *I LLLL *BI LLLLLLL- *QP LLHH 
  383.         .
  384.         .
  385.         *T D0 *C . *I LLLL *BI LLHHHHLL *QP HLLH
  386.         ^C
  387.  
  388.      --------------------------------------------------------
  389.      Figure C-8. Sample 82S155 FPLS File
  390.  
  391.     82S157 FPLS
  392.  
  393.     The output enable modes for groups A and B follow the *E identifier.  
  394.     The flip-flop mode for each register follows a *F/F identifier. The 
  395.     polarity for the output pins follows a *POL identifier.  The 
  396.     transition terms are described by the term identifier *T followed by 
  397.     the term number.  The complement array identifier *C is followed by 
  398.     the value of this term. The input variables for the term are given 
  399.     with the the input variable identifier *I followed by I3 to I0. The 
  400.     I/O feedback data follows the *BI identifier.  The present state of 
  401.     the flip-flops is given with *QP followed by Q5 to Q0.  The next 
  402.     state values follow with *QN and Q5 to Q0. The preset terms for 
  403.     group PA follows the preset identifier *P. The reset terms for group 
  404.     PA follows the reset identifier *R. The output function is described 
  405.     as *BO followed by B5 to B0.  The terms for Flip-Flop control, 
  406.     reset, preset, load and output enable follow.
  407.  
  408.     Figure C-9 shows a sample file in this format.
  409.  
  410.      --------------------------------------------------------
  411.         ^B
  412.         *E AA *F/F A.A. *POL    HLHLLHLH
  413.         *T 00 *C . *I HHLL *BI HL--HL *QP LH--HL
  414.                    *QN LLHHHL *P . *R . *BO .A.A.A 
  415.         .
  416.         .
  417.         *T 31 *C A *I LLHH *BI --HLHL *QP HHLLHH
  418.                     *QNHHHHLL *P A *R A *BO  ..AA.A
  419.         *T FC *C . *I LLLL *BI LLLLHH *QP LLHHHH
  420.         *T PB *C . *I ---- *BI ----HH *QP ----LL
  421.         *T RB *C . *I HHHL *BI HHLLLL *QP HLLLHH
  422.         *T LB *C . *I HLLL *BI --L-LL *QP HHHHLL
  423.         *T LA *C . *I LL-- *BI LLLHHH *QP --LLHH
  424.         *T D3 *C . *I LLLL *BI LLLLL- *QP LLHH-  
  425.         .
  426.         .
  427.         *T D0 *C . *I LLLL *BI LLHHLL *QP HLLHLL
  428.         ^C
  429.      --------------------------------------------------------
  430.  
  431.      Figure C-9. Sample 82S157 FPLS File
  432.  
  433.     82S159 FPLS
  434.  
  435.     The output enable modes for groups A and B follow the *E identifier.  
  436.     The flip-flop mode for each register follows a *F/F identifier. The 
  437.     polarity for the output pins follows a *POL identifier.  The 
  438.     transition terms are described by the term identifier. *T followed 
  439.     by the term number. The complement array identifier *C is followed 
  440.     by the value of this term. The input variables for the term are 
  441.     given with the the input variable identifier *I followed by I3 to 
  442.     I0. The I/O feedback data follows the *BI identifier.  The present 
  443.     state of the flip-flops is given with *QP followed by Q7 to Q0.  The 
  444.     next state values follow with *QN and Q7 to Q0. The output function 
  445.     is described as *BO followed by B7 to B0. The terms for Flip-Flop 
  446.     control, reset, preset, load and output enable follow.
  447.  
  448.     Figure C-10 shows a sample file in this format.
  449.  
  450.      --------------------------------------------------------
  451.         ^B
  452.         *E AA *F/F A.A.A.A. *POL LHLH
  453.         *T 00 *C . *I HHLL *BI HL-- *QP HHLLHH-
  454.                 *QN LLHHLLHH *BO .A.A
  455.         .
  456.         .
  457.         *T 31 *C A *I LLHH *BI ---- *QP --HHHHLL
  458.                 *QN LLLLHHHH *BO ...A
  459.         *T FC *C . *I LLLL *BI LLLL *QP LLLLHHHH
  460.         *T PB *C . *I LLLL *BI LLLL *QP LLLLHHHH
  461.         *T RB *C . *I LLLL *BI LLLL *QP LLLLHHHH
  462.         *T LB *C . *I LLLL *BI LLLL *QP LLLLHHHH
  463.         *T PA *C . *I LLLL *BI LLLL *QP LLLLHHHH
  464.         *T RA *C . *I LLLL *BI LLLL *QP LLLLHHHH
  465.         *T LA *C . *I LLLL *BI LLLL *QP LLLLHHHH
  466.         *T D3 *C . *I LLLL *BI LLLL *QP LLLLHHHH
  467.         .
  468.         .
  469.         *T D0 *C . *I LLLL *BI LLLL *QP LLLLHHHH
  470.         ^C
  471.      --------------------------------------------------------
  472.  
  473.      Figure C-10. Sample 82S159 FPLS File
  474.  
  475.     82S161 FPLA
  476.  
  477.     The active level identifier *A is followed by the states of the 
  478.     active levels for F7 to F0, where H denotes active-HI and L denotes 
  479.     active-LO.  The product terms are described by the *P identifier 
  480.     followed by a space and the P-term number.  The input variable 
  481.     identifier *I is then followed by the input variables I11 to I0 and 
  482.     the output function identifier *F followed by F7 to F0.  Figure C-11 
  483.     shows a sample file in this format.
  484.  
  485.      --------------------------------------------------------
  486.         ^B
  487.         A LHLHLHLH
  488.         *P 00 *I LLLLHHHHLLLL *F A.A.A.A.
  489.         .
  490.         .
  491.         *P 47 *I LLLLLLLLLLLL *F ....AAAA
  492.         ^C
  493.      --------------------------------------------------------
  494.  
  495.      Figure C-11. Sample 82S161 FPLA File
  496.  
  497.     82S162 FPGA
  498.  
  499.     The output polarity identifier *POL is followed by the states of the 
  500.     active levels for outputs F4 to F0.  The product terms start with 
  501.     the *G identifier followed by a space and the term number.  The 
  502.     input variable identifier *I is followed by the input variables I15 
  503.     to I0.
  504.  
  505.       Figure C-12 shows a sample file in this format.
  506.  
  507.      --------------------------------------------------------
  508.         ^B
  509.         *POL HHLL
  510.         *G 00 *I HHHHLLLLHHHHLLLL
  511.         .
  512.         .
  513.         *G 04 *I LLLLLLLLLLLLLLLL
  514.         ^C
  515.      --------------------------------------------------------
  516.  
  517.      Figure C-12. Sample 82S162 File
  518.  
  519.     82S163 FPGA
  520.  
  521.     The output polarity identifier *POL is followed by the states of the 
  522.     active levels for outputs F8 to F0.  The product terms start with 
  523.     the *G identifier followed by a space and the term number.  The 
  524.     input variable identifier *I is followed by the input variables I11 
  525.     to I0.  Figure C-13 shows a sample file in this format.
  526.  
  527.      --------------------------------------------------------
  528.         ^B
  529.         *G 00 *I HLLLHHHHLLLL
  530.         .
  531.         .
  532.         *G 08 *I LLLLLLLLLLLL
  533.         ^C
  534.      --------------------------------------------------------
  535.  
  536.      Figure C-13. Sample 82S163 FPGA File
  537.  
  538.     82S167 FPLS
  539.  
  540.     The preset / output enable option is entered using the *A identifier 
  541.     followed by H (preset) or L (output enable).  The transition terms 
  542.     are described by the term identifier *T followed by the term number.  
  543.     The complement array identifier *C is followed by the value of this 
  544.     term. The input variables for the term are given with the input 
  545.     variable identifier *I followed by I13 to I0. The present state of 
  546.     the flip-flops is given with *P followed by P7 to P0. The next state 
  547.     values follow with *N and N7 to N0. The output function is then 
  548.     described as *F followed by F3 to F0.  Figure C-14 shows a sample 
  549.     file in this format.
  550.  
  551.      --------------------------------------------------------
  552.         ^B
  553.         *AL
  554.         *T 00 *C .*ILLHHHHLLLLHHHH*PHHHLLLHH
  555.                   *NHHHLLLLL *F HHHH
  556.         .
  557.         .
  558.         *T 47 * A *I LL------------ *P --LLLLLL
  559.         *N HHLLHHHH *F HL-
  560.         ^C
  561.      --------------------------------------------------------
  562.  
  563.      Figure C-14. Sample 82S167 FPLS File
  564.  
  565.     82S168 FPLS
  566.  
  567.     The preset/output enable option is entered using the *A identifier 
  568.     followed by H (preset) or L (output enable).  The transition terms 
  569.     are described by the term identifier *T followed by the term number.  
  570.     The complement array identifier *C is followed by the value of this 
  571.     term. The input variables for the term are given with the input 
  572.     identifier *I followed by I11 to I0.  The present state of the 
  573.     flip-flops is given with *P followed by P9 to P0.  The next state 
  574.     values follow with *N and N9 to N0. The output function is described 
  575.     as *F followed by F3 to F0.  Figure C-15 shows a sample file in this 
  576.     format.
  577.  
  578.      --------------------------------------------------------
  579.         ^B
  580.         *AL
  581.         *T 00 *C.*ILLHHHLLLHHHH*PHHHLLLHHLH
  582.                  *NHHLHHLLLLL *F HHHH
  583.         .
  584.         .
  585.         *T 47 *C A *I LL------------ *P --LLLLLL-
  586.         *N HHLLHHHH-L *F HL-
  587.         ^C
  588.      --------------------------------------------------------
  589.  
  590.      Figure C-15. Sample 82S168 FPLS File
  591.  
  592.     82S173 FPLA
  593.  
  594.     The output polarity identifier *POL is followed by the states of the 
  595.     active levels for outputs B9 to B0, where H denotes active-HI and L 
  596.     denotes active-LO.  The product terms are described by the *P 
  597.     identifier followed by a space and the P-term number.  Control term 
  598.     numbers start with D and then the term number. The input variable 
  599.     identifier *I is followed by the input variables I11 to I0.  The 
  600.     feedback variables B9 to B0 follow the *B0 identifier.  Figure C-16 
  601.     shows a sample file in this format.
  602.  
  603.      --------------------------------------------------------
  604.         ^B
  605.         *POL HHLLHHLLHH
  606.         *P 00 *I --HH--LLHH *BI --HL------ *BO A..A..A..A
  607.         .
  608.         .
  609.         *P 31 *I LL------HH *BI HLHLHLHLHL *BO ....AA....
  610.         *P D9 *I LL--HHHHHH *BI ----HHHHLL
  611.         .
  612.         .
  613.         *P D0 *I --LLLLLLLL *BI ---------
  614.         ^C
  615.      --------------------------------------------------------
  616.  
  617.      Figure C-16. Sample 82S173 FPLA File
  618.  
  619.     82S179 FPLS
  620.  
  621.     The output enable modes for groups A and B follow the *E identifier.  
  622.     The flip-flop mode for each register follows a *F/F identifier. The 
  623.     polarity for the output pins follows a *POL identifier.  The 
  624.     transition terms are described by the term identifier *T followed by 
  625.     the term number.  The complement array identifier *C is followed by 
  626.     the value of this term. The input variables for the term are given 
  627.     with the input variable identifier *I followed by I7 to I0.  The I/O 
  628.     feedback data follows the *BI identifier.  The present state of the 
  629.     flip-flops is given with *QP followed by Q7 to Q0.  The next state 
  630.     values follow with *QN and Q7 to Q0. The output function is 
  631.     described as *BO followed by B7 to B0. The terms for flip-flop 
  632.     control, reset, preset, load, and output enable follow.  Figure C-17 
  633.     shows a sample file in this format.
  634.  
  635.      --------------------------------------------------------
  636.         ^B
  637.         *E AA *F/F A.A.A.A. *POL LHLH
  638.         *T 00 *C . *I HHLLHHLH *BI HL-- *QP HHLLHH-
  639.                                 *QN LLHHLLHH *BO .A.A
  640.         .
  641.         .
  642.         *T 31 *C   *1 LLH--LHH *BI LLLL *QP --HHHHLL
  643.                                 *QN LLLLHHHH *BO ...A
  644.         *T FC *C . *1 LLLHHHHL *BI LLLL *QP LLLLHHHH
  645.         *T PB *C . *I LLLHLHLL *BI LLLL *QP LLLLHHHH
  646.         *T RB *C . *I LLLLLLHL *BI LLLL *QP LLLLHHHH
  647.         *T LB *C . *I LLLHHHHL *BI LLLL *QP LLLLHHHH
  648.         *T PA *C . *I LLLLHLHL *BI LLLL *QP LLLLHHHH
  649.         *T RA *C . *I LLLL---- *BI LLLL *QP
  650.         *T LA *C . *I LLLL---H *BI LLLL *QP LLLLHHHH
  651.         *T D3 *C . *I LLLLLLLL *BI LLLL *QP LLLLHHHH
  652.         .
  653.         .
  654.         *T DO *C . *I HHHHHHHH *BI LLLL *QP LLLLHHHH
  655.         ^C
  656.      --------------------------------------------------------
  657.  
  658.      Figure C-17. Sample 82S179 FPLS File
  659.  
  660. o   .c2.DOCUMENTATION FILE FORMAT
  661.  
  662.     This section describes the format for the documentation file 
  663.     (filename .DOC), including fuse plot information.  A documentation 
  664.     file can be generated by specifying the -x option flag when running 
  665.     CUPL. Specifying the -f option generates a fuse plot in the 
  666.     documentation file.  Figure C-18 shows a sample documentation file.
  667.  
  668.      ------------------------------------------------------------
  669.                               WAITGEN.DOC
  670. *******************************************************************************
  671.                                     Sample
  672. *******************************************************************************
  673.  
  674. CUPL            4.2a Serial# MD-34123456
  675. Device          p16r4  Library DLIB-h-28-11
  676. Created         Wed Dec 18 08:10:07 1991
  677. Name            Sample
  678. Partno          P9000183
  679. Revision        02
  680. Date            03/14/85
  681. Designer        Osann
  682. Company         ATI
  683. Assembly        PC Memory
  684. Location        U106
  685.  
  686. ===============================================================================
  687.                             Expanded Product Terms
  688. ===============================================================================
  689.  
  690. memadr =>
  691.     a15 , a14 , a13 , a12 , a11
  692.  
  693. memreq =>
  694.     memw
  695.   # memr
  696.  
  697. ram_cs0 =>
  698.     !a11 & !a12 & a13 & !a14 & !a15 & memw
  699.   # !a11 & !a12 & a13 & !a14 & !a15 & memr
  700.  
  701. ram_cs1 =>
  702.     a11 & !a12 & a13 & !a14 & !a15 & memw
  703.   # a11 & !a12 & a13 & !a14 & !a15 & memr
  704.  
  705. ready =>
  706.     !wait2
  707.  
  708. ready.oe  =>
  709.     !a13 & !a14 & !a15 & memr
  710.  
  711. rom_cs =>
  712.     !a13 & !a14 & !a15 & memr
  713.  
  714.      ------------------------------------------------------------
  715.      Figure C-18. Sample Documentation File Sheet 1 of 5
  716.  
  717.      ------------------------------------------------------------
  718. select_rom =>
  719.     !a13 & !a14 & !a15 & memr
  720.  
  721. wait1.d  =>
  722.     !memr
  723.   # a15
  724.   # a14
  725.   # a13
  726.   # reset
  727.  
  728. wait2.d  =>
  729.     !memr
  730.   # a15
  731.   # a14
  732.   # a13
  733.   # !wait1
  734.  
  735. ram_cs0.oe  =>
  736.     1 
  737.  
  738. ram_cs1.oe  =>
  739.     1 
  740.  
  741. rom_cs.oe  =>
  742.     1 
  743.  
  744.      ------------------------------------------------------------
  745.  
  746.      Figure C-18. Sheet 2 of 5
  747.  
  748.      ------------------------------------------------------------
  749. ===============================================================================
  750.                                  Symbol Table
  751. ===============================================================================
  752.  
  753. Pin Variable                                    Pterms   Max     Min    
  754. Pol   Name              Ext     Pin     Type     Used   Pterms  Level   
  755. --- --------            ---     ---     ----    ------  ------  -----   
  756.  
  757.     a11                         6        V        -       -       -     
  758.     a12                         5        V        -       -       -     
  759.     a13                         4        V        -       -       -     
  760.     a14                         3        V        -       -       -     
  761.     a15                         2        V        -       -       -     
  762.     cpu_clk                     1        V        -       -       -     
  763.     memadr                      0        F        -       -       -     
  764.  !  memr                        8        V        -       -       -     
  765.     memreq                      0        I        2       -       -     
  766.  !  memw                        7        V        -       -       -     
  767.  !  oe                          11       V        -       -       -     
  768.  !  ram_cs0                     12       V        2       7       1     
  769.  !  ram_cs1                     13       V        2       7       1     
  770.     ready                       18       V        1       7       1     
  771.     ready               oe      18       X        1       1       1     
  772.     reset                       9        V        -       -       -     
  773.  !  rom_cs                      19       V        1       7       1     
  774.     select_rom                  0        I        1       -       -     
  775.     wait1                       15       V        -       -       -     
  776.     wait1               d       15       X        5       8       1     
  777.     wait2                       14       V        -       -       -     
  778.     wait2               d       14       X        5       8       1     
  779.     ram_cs0             oe      12       D        1       1       0     
  780.     ram_cs1             oe      13       D        1       1       0     
  781.     rom_cs              oe      19       D        1       1       0     
  782.  
  783.  
  784. LEGEND    D : default variable         F : field      G : group
  785.           I : intermediate variable    N : node       M : extended node
  786.           U : undefined                V : variable   X : extended variable
  787.           T : function
  788.  
  789.      ------------------------------------------------------------
  790.  
  791.      Figure C-18. Sheet 3 of 5
  792.  
  793.      ------------------------------------------------------------
  794. ===============================================================================
  795.                                    Fuse Plot
  796. ===============================================================================
  797.  
  798. Pin #19 
  799.  00000 -------------------------------- 
  800.  00032 -x---x---x---------------x------ 
  801.  00064 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 
  802.  00096 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 
  803.  00128 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 
  804.  00160 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 
  805.  00192 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 
  806.  00224 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 
  807. Pin #18 
  808.  00256 -x---x---x---------------x------ 
  809.  00288 -----------------------x-------- 
  810.  00320 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 
  811.  00352 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 
  812.  00384 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 
  813.  00416 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 
  814.  00448 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 
  815.  00480 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 
  816. Pin #17 
  817.  00512 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 
  818.  00544 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 
  819.  00576 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 
  820.  00608 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 
  821.  00640 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 
  822.  00672 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 
  823.  00704 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 
  824.  00736 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 
  825. Pin #16 
  826.  00768 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 
  827.  00800 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 
  828.  00832 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 
  829.  00864 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 
  830.  00896 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 
  831.  00928 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 
  832.  00960 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 
  833.  00992 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 
  834. Pin #15 
  835.  01024 ------------------------x------- 
  836.  01056 x------------------------------- 
  837.  01088 ----x--------------------------- 
  838.  01120 --------x----------------------- 
  839.  01152 ----------------------------x--- 
  840.  01184 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 
  841.  01216 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 
  842.  01248 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 
  843.      ------------------------------------------------------------
  844.      Figure C-18. Sheet 4 of 5
  845.  
  846.      ------------------------------------------------------------
  847. Pin #14 
  848.  01280 ------------------------x------- 
  849.  01312 x------------------------------- 
  850.  01344 ----x--------------------------- 
  851.  01376 --------x----------------------- 
  852.  01408 -------------------x------------ 
  853.  01440 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 
  854.  01472 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 
  855.  01504 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 
  856. Pin #13 
  857.  01536 -------------------------------- 
  858.  01568 -x---x--x----x--x----x---------- 
  859.  01600 -x---x--x----x--x--------x------ 
  860.  01632 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 
  861.  01664 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 
  862.  01696 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 
  863.  01728 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 
  864.  01760 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 
  865. Pin #12 
  866.  01792 -------------------------------- 
  867.  01824 -x---x--x----x---x---x---------- 
  868.  01856 -x---x--x----x---x-------x------ 
  869.  01888 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 
  870.  01920 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 
  871.  01952 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 
  872.  01984 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 
  873.  02016 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 
  874.  
  875.  
  876. LEGEND    X : fuse not blown 
  877.           - : fuse blown 
  878.  
  879. ===============================================================================
  880.                                  Chip Diagram
  881. ===============================================================================
  882.  
  883.                                ______________
  884.                               |    Sample    |
  885.                   cpu_clk x---|1           20|---x Vcc                      
  886.                       a15 x---|2           19|---x !rom_cs                  
  887.                       a14 x---|3           18|---x ready                    
  888.                       a13 x---|4           17|---x                          
  889.                       a12 x---|5           16|---x                          
  890.                       a11 x---|6           15|---x wait1                    
  891.                     !memw x---|7           14|---x wait2                    
  892.                     !memr x---|8           13|---x !ram_cs1                 
  893.                     reset x---|9           12|---x !ram_cs0                 
  894.                       GND x---|10          11|---x !oe                      
  895.                               |______________|
  896.  
  897.      ------------------------------------------------------------
  898.      Figure C-18. Sheet 5 of  5
  899.  
  900.     The first part of the file contains archival and revision 
  901.     information that is identical to the header information in the 
  902.     corresponding CUPL source file. The first part also contains version 
  903.     information about the device library and the CUPL program, and the 
  904.     date and time the file was created.
  905.  
  906.     The next section of the file, Expanded Product Terms, contains the 
  907.     product terms generated by CUPL from the equations contained in the 
  908.     logic description file.  WAITGEN.PLD, contained in the CUPL package, 
  909.     is the source logic description file for the sample documentation 
  910.     file in Figure C-18. Its contents can be viewed in order to compare 
  911.     the original logic equations with the product terms generated by 
  912.     CUPL.
  913.  
  914.     CUPL generates product terms for the devices specified on the 
  915.     command line when running CUPL or with the DEVICE keyword in the 
  916.     logic description file. For example, some devices, such as PAL16L8s, 
  917.     contain fixed inverting buffers.  .i.DeMorgan's Theorem;In certain 
  918.     cases, to fit the logic to the device, CUPL performs DeMorgan's 
  919.     Theorem. For example, the logic description file is written for a 
  920.     PAL16L8 device; in the pin list, all outputs have been declared as 
  921.     active-HI.  The following equation is written to specify an OR 
  922.     function.
  923.  
  924.         c = a # b ;
  925.  
  926.     However, the PAL16L8 contains a fixed inverting buffer. Because the 
  927.     inverting buffer cannot be changed, CUPL fits the logic to the 
  928.     device by performing a DeMorgan on the OR equation, which generates 
  929.     the following product term:
  930.  
  931.         c => !a & !b
  932.  
  933.     See Pin Declaration Statements in Chapter 2 for further information 
  934.     on how CUPL generates product terms for devices with fixed inverting 
  935.     buffers, when the output pins are asserted in the pin declaration 
  936.     statement.
  937.  
  938.     The next section of the file, Symbol Table, provides information 
  939.     about each variable in the logic description file, including the pin 
  940.     number, extension, type of variable, number of product terms 
  941.     available, number of product terms used, and the minimization level 
  942.     used by CUPL.
  943.  
  944.     .i.product terms;If the maximum available product terms for a device 
  945.     is exceeded, CUPL displays an error message during compilation, 
  946.     naming the pin. However, the message doesn't indicate how much the 
  947.     limit was exceeded.  The product term availability and use 
  948.     information in the Symbol Table (see Figure C-18) indicates if the 
  949.     number of available product terms was grossly exceeded, or was just 
  950.     slightly over the limit.  The next section, Fuse Plot, is generated 
  951.     by specifying the -f option flag when running CUPL.  This section 
  952.     provides more detailed fuse information than that contained in the 
  953.     JEDEC file.  The four-digit beginning JEDEC number for each product 
  954.     term is the number to use to reference STUCK H and STUCK L (see 
  955.     Fault Simulation in Chapter 4) The last section, Chip Diagram, 
  956.     provides a diagram of the device showing the location of each 
  957.     variable name.
  958.  
  959. o  .c2.PDIF FILE FORMAT
  960.     This section describes the use of the PDIF (P-CAD Database 
  961.     Interchange Format) file (<F59>filename.PDF) generated by CUPL. For 
  962.     a detailed description of the PDIF-format file, see the PDIF User's 
  963.     Manual. A PDIF-format file can be generated by specifying the -p 
  964.     option flag when running CUPL.  The PDIF format is used as an 
  965.     interface to the P-CAD schematic capture program PC-CAPS. This is 
  966.     accomplished by translating the CUPL-generated PDIF-format file into 
  967.     a PC-CAPS symbol using the PDIF-IN program.  The resulting symbol 
  968.     represents the logical representation of the PLD design. This 
  969.     includes pin packaging information, printed circuit board reference 
  970.     designator, PLD type, and design name.  Figure C-19 shows an example 
  971.     of a PC-CAPS symbol generated by PDIF-IN.
  972.  
  973.           [Picture]
  974.      Figure C-19. PC-CAPS Symbol Generated by PDIF-IN
  975.  
  976.     Refer to the PDIF User's Manual and the PC-CAPS User's Manual for 
  977.     instructions on running the PDIF-IN and PC-CAPS programs, 
  978.     respectively.
  979.  
  980. o   .c2.BERKELEY PLA FILE FORMAT
  981.  
  982.     This section describes the format for the Berkeley PLA file 
  983.     (filename.PLA).  The Berkeley PLA format is used as an interface 
  984.     format for PLA logic synthesis tools, such as the Berkeley PLA 
  985.     tools. A Berkeley PLA-format file can be generated by specifying the 
  986.     -b option flag when running CUPL.  Figure C-20 shows a sample 
  987.     Berkeley PLA-format file.
  988.  
  989.      ------------------------------------------------------------
  990.         # Berkeley PLA format generated using
  991.         #
  992.         # CUPL            4.2a Serial# XX-00000000
  993.         # Device          p16rp4  Library DLIB-h-28-15
  994.         # Created         Wed Dec 18 08:35:26 1991
  995.         # Name            Count10
  996.         # Partno          CA0018
  997.         # Revision        02
  998.         # Date            12/19/89
  999.         # Designer        Kahl
  1000.         # Company         Logical Devices, Inc.
  1001.         # Assembly        None
  1002.         # Location        None
  1003.         #
  1004.         # Inputs  1 Q0 Q1 Q2 
  1005.         #         Q3 carry clk clr 
  1006.         #         dir !oe 
  1007.         # Outputs Q0.d Q1.d Q2.d Q3.d 
  1008.         #         carry carry.oe 
  1009.         .i 10
  1010.         .o 6
  1011.         .p 19
  1012.         -0001--0-- 1~~~~~
  1013.         -0--0--0-- 1~~~~~
  1014.         -0001--01- ~1~~~~
  1015.         -10-0--00- ~1~~~~
  1016.         -01-0--00- ~1~~~~
  1017.         -11-0--01- ~1~~~~
  1018.         -0010--01- ~1~~~~
  1019.         -0001--01- ~~1~~~
  1020.         -1100--00- ~~1~~~
  1021.         --010--00- ~~1~~~
  1022.         -1-10--01- ~~1~~~
  1023.         -0110--0-- ~~1~~~
  1024.         -1001--01- ~~~1~~
  1025.         -0000--01- ~~~1~~
  1026.         -1110--00- ~~~1~~
  1027.         -0001--00- ~~~1~~
  1028.         -0000--01- ~~~~1~
  1029.         -1001--00- ~~~~1~
  1030.         1--------- ~~~~~1
  1031.         .end
  1032.      ------------------------------------------------------------
  1033.      Figure C-20. Sample Berkeley PLA-Format File
  1034.  
  1035.     The first part of the file contains archival and revision 
  1036.     information.  The # character indicates these are comments. This 
  1037.     information is identical to the header information in the 
  1038.     corresponding CUPL source file.  There is also version information 
  1039.     about the device library and CUPL program, the date and time the 
  1040.     file was created, and a list of the input and outputs to the PLA.  
  1041.     The next section consists of a PLA description generated by CUPL 
  1042.     from the equations contained in the logic description file, 
  1043.     COUNT10.PLD (contained in the CUPL package).  Its contents can be 
  1044.     viewed to compare the original logic equations with the PLA 
  1045.     description generated by CUPL.  The PLA description consists of 
  1046.     fields to define the number of inputs '.i', outputs '.o', product 
  1047.     terms '.p', and a description of the AND and OR planes of the PLA 
  1048.     with one line per product term. Connections in the AND plane are 
  1049.     represented with a '1' for connection to the non-inverted input line 
  1050.     and a '0' for connection to the inverted input line. No connection 
  1051.     to an input line is indicated with a '-'.  Connections in the OR 
  1052.     plane are indicated by a '1'.  No connections are indicated with a 
  1053.     '0'.  The end of the PLA description is indicated with an '.end'.
  1054.  
  1055.