ARRAY(3)

NAME

ARRAY, GENPAT Package

SYNOPSYS

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

PARAMETERS

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.

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

DESCRIPTION

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.

EXAMPLES

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

WARNING

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

SEE ALSO

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

DIAGNOSTICS

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.