ARRAY(3)

πŸ“¦ version 5.1.1-unstable-2025-02, in nixos 26.05, nixpkgs unstable

πŸ’… ARRAY(3) β€” GENPAT functions πŸ’…

okay bestie, welcome to the ARRAY(3) page from the GENPAT functions manual. we're gonna build virtual vectors and make it look easy. ✨

🌸 NAME 🌸

ARRAY, GENPAT Package β€” that's the name, no cap.

🧚 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. πŸ—Ό

πŸ’« SYNOPSIS πŸ’«

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

πŸŽ€ PARAMETERS πŸŽ€

  • ident β€” the name of a connector, a signal, or a register. if it's part of a bused signal, the name gets a number after it. all the idents have to be the same type. the name and the number must be separated by a blank, or the number must be parenthesized. πŸ’–
  • nb_space β€” how many blank spaces go between each group of values: 0,1,2,3,4,5,6, 7,8,9 or nothing.
  • format β€” the format used to represent the value associated with the connectors: X for Hexadecimal, O for Octal, and B for Binary.
  • type β€” 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, and INOUT are constants (defines) provided by genpat.
  • option β€” the options of the connectors: "S" for a spied connector, empty ("") for a normal connector.
  • ident_group β€” 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 can be Inputs, Outputs, Inputs/Outputs, Registers, or Internal Signals. a vector you're aggregating has 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 🌈

example one, the cout situation

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

example two, the regt situation

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) β€” go read those too, bestie.

🩺 DIAGNOSTICS 🩺

okay so you're dealing with a variable number of parameters fonction. if you forget one or more parameter, you'll get one of these 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.

πŸ’Œ BUG REPORT πŸ’Œ

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


xoxo, your local Unix bestie 🫢 β€” this ARRAY(3) page is from ASIM/LIP6, dated October 1, 1997. periodt. πŸ’…

πŸ“¦ where this page comes from