Provided by: alliance_5.0-20110203-4_amd64
ARRAY, GENPAT Package
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. ident_group 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).
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.