ARRAY(3)
π ARRAY(3) β the GENPAT functions era π
okay bestie, sit down, hydrate, and let me tell you about ARRAY from the GENPAT functions manual (section 3, the library girlies π«Ά). This is the one that lets you build a whole virtual vector out of a bunch of bit-by-bit signals, and honestly? iconic.
π ORIGIN
This software belongs to the ALLIANCE CAD SYSTEM, developed by the ASIM team at the LIP6 laboratory of UniversitΓ© Pierre et Marie CURIE, in Paris, France. β¨
- Web:
http://asim.lip6.fr/recherche/alliance/ - E-mail:
alliance-users@asim.lip6.fr
β¨ SYNOPSIS
ARRAY ("ident", "ident", ..., ":nb_space", "format", type, option, "ident_group", 0);
that's the whole vibe. one call, so many arguments, no cap. π
π PARAMETERS
identβ the name of a connector, a signal or a register, followed by a number if it's part of a bused signal. π Every single ident has to be the same type β no mixing, bestie, that's the rule. And the name and the number must be separated by a blank space, or the number has to be parenthesized.nb_spaceβ how many blank spaces go between each group of values. Your options are0,1,2,3,4,5,6,7,8,9, or literally nothing. That's the menu, girl. πformatβ the format used to represent the value attached to the connectors.Xfor Hexadecimal,Ofor Octal,Bfor Binary. pick your fighter βtypeβ the type of the aggregate.REGISTERfor Register,SIGNALfor Signal,OUTfor Output,INfor Input,INOUTfor Input/Output.REGISTER,SIGNAL,OUT,INandINOUTare constants (defines) provided by genpat. π§optionβ options for the connectors."S"for a spied connector, or empty ("") for a normal connector. spy era πident_groupβ the name of the array. heads up: the first ident is associated with the MSB of the array. the way that matters π
πΈ DESCRIPTION
So basically: this creates a virtual vector out of signals that all share the same type and format. the signals can be Inputs, Outputs, Inputs/Outputs, Registers, or Internal Signals β pick your lane.
A vector that's gonna be aggregated has to be declared bit per bit (it'll show up as a vector in the output file, cute right?). Outputs, Signals and Registers can be redeclared in a virtual vector. Inputs and Inputs/Outputs CANNOT be redeclared. nope. not allowed. π
π 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 from 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 from the others with 2 blank spaces.
result:
register Y ( regt, reg (9 downto 9) ) B;;;
π WARNING
TheARRAYfunction from the 4.0 release has a new parameter (option). if you're on old docs, that's why it looks different, bestie. don't come for me.
π¦ SEE ALSO
go read those next, they're lowkey part of the lore π
π DIAGNOSTICS
okay so this is a variable number of parameters function β meaning it does NOT play about missing args. if you forget one or more parameters, one of these three things is gonna happen to you:
- Nothing bad happens, but your result file is erroneous. (silent L π)
- You get asked for more parameters.
- You crash the program and produce a Segmentation Fault.
In all cases: check your C file for the missing parameter. fr fr, go look. π₯
π«Ά BUG REPORT
This tool is under development at the ASIM department of the LIP6 laboratory.
We need your feedback to improve documentation and tools. so likeβ¦ tell them things?? they're asking!! please!! π
and that's the whole page, bestie β this was ARRAY(3) from the GENPAT functions, brought to you by ASIM/LIP6, dated October 1, 1997. yeah, 1997. vintage. she's been serving since before we were born and she still eats π
β¨π
π¦ where this page comes from
- fedora 43: alliance-devel 5.1.1-35.20160506gitd8c05cd.fc42 Β· GPL-2.0-only
- fedora 43: alliance-devel 5.1.1-35.20160506gitd8c05cd.fc42 Β· GPL-2.0-only
- fedora 44: alliance-devel 5.1.1-35.20160506gitd8c05cd.fc42 Β· GPL-2.0-only
- fedora 44: alliance-devel 5.1.1-35.20160506gitd8c05cd.fc42 Β· GPL-2.0-only
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms