---
name: "ARRAY"
section: "3"
platform: "linux"
package: "alliance"
version: "5.1.1-3"
release: "Debian 10 (Buster)"
platforms: ["linux"]
url: "https://new.carta.tech/ARRAY"
---

# 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)](/DECLAR/3.md), [genpat(1)](/genpat/1.md), [pat(5)](/pat/5.md)

## 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.
