ARRAY(3)                       GENPAT functions                       ARRAY(3)

       ARRAY, GENPAT Package

       This software belongs to the  ALLIANCE CAD SYSTEM developed by the ASIM
       team at LIP6 laboratory of Université Pierre et Marie CURIE, in Paris,

       Web :
       E-mail :

       ARRAY ("ident", "ident", ..., ":nb_space", "format", type, option, "ident_group", 0);

       ident     Name, followed with a number if part of a bused signal, of a
                 connector, a signal or a register. All idents must be of the
                 same type. The name and the number must be separated by a
                 blank or the number must be parenthesized.

       nb_space  Specify the number of blank space between each group of
                 value. 0,1,2,3,4,5,6, 7,8,9 or nothing.

       format    Specify the format that will be used to represent the value
                 associated to the connectors. X for Hexadecimal, O for Octal
                 and B for Binary.

       type      Specify the type of the aggregate. REGISTER for Register,
                 SIGNAL for Signal, OUT for Output, IN for Input, INOUT for
                 Input/Output. REGISTER, SIGNAL, OUT, IN, INOUT are constants
                 (defines) provided by genpat.

       option    Specify options of the connectors. "S" for a spied connector,
                 empty ("") for a normal connector.

                 Specify the array's name, the first ident is associated with
                 the MSB of the array.

       Create a virtual vector with signals of the same type and format. The
       signals may be either Inputs, Outputs, Inputs/Outputs, Registers or
       Internal Signals.  A vector to be aggregate is to be declared bit per
       bit (it will appear as a vector in the output file). Outputs, Signals
       and Registers can be redeclared in a virtual vector. Inputs and
       Inputs/Outputs CANNOT be redeclared.

       ARRAY ("cout", "s 9", "s 8", "s 7", ":2", "B", OUT, "S", "Y", 0);

       format : Binary.
       type   : Output connector.
       option : spied connector.

       each group is separated of the others with 2 blank spaces.
       result :   out Y ( cout, s (9 downto 7) ) B spy ;;;

       ARRAY ("regt", "reg 9", ":2", "B", REGISTER, "", "Y", 0);

       format : Binary.
       type   : Register.
       option : none.

       each group is separated of the others with 2 blank spaces.
       result :   register   Y ( regt, reg (9 downto 9) ) B;;;

       The ARRAY function from the 4.0 release have a new parameter (option).

       DECLAR(3), genpat(1), pat(5)

       You are dealing with a variable number of parameters fonction. If you
       forget one or more parameter, you will have one of the following
       results :

              Nothing bad happen, but your result file is erroneous.
              You are asked for more parameter.
              You crash the program and produce a Segmentation Fault.

       In all cases, check your C file for missing parameter.

       This tool is under development at the ASIM department of the LIP6
       We need your feedback to improve documentation and tools.

ASIM/LIP6                       October 1, 1997                       ARRAY(3)