DECLAR(3)

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

πŸ’– NAME πŸ’–

Okay so this is the DECLAR(3) page from the GENPAT functions manual, and the name on the tin is DECLAR plus the <purple>GENPAT Package</purple>. No cap, that’s the whole name vibe. πŸŽ€

🌈 ORIGIN 🌈

Origin story, because yes: this software belongs to the ALLIANCE CAD SYSTEM, developed by the ASIM team at LIP6 laboratory of UniversitΓ© Pierre et Marie CURIE, in Paris, France. The details are literally:

Web : http://asim.lip6.fr/recherche/alliance/

E-mail : alliance-users@asim.lip6.fr

iconic institutional energy. 🌈

✨ SYNOPSIS ✨

The call is giving very specific, so here it is exactly, periodt:

DECLAR("ident",":nb_space","format",mode,size,option);

πŸŽ€ PARAMETERS πŸŽ€

Vibe check on every parameter, bestie:

  • ident β€” external connector, internal observing points, or register’s name. For hierarchical descriptions, the path-name of the internal observing points or registers must be specified by the syntax instance1.instance11.name.
  • nb_space β€” the number of blank space between each group of value associated to the connectors, signals or registers in the output file. Valid: 0,1,2,3,4,5,6,7,8,9 or nothing.
  • format β€” the format that will be used to represent the value associated to the connectors, signals or registers. X for Hexadecimal, O for Octal and B for Binary.
  • mode β€” the type of the connectors: IN for Input, OUT for Output, INOUT for Input/Output, SIGNAL for internal observing point, REGISTER for register. IN, OUT, INOUT, SIGNAL, REGISTER are constants (defines) provided by genpat.
  • size β€” the size of the bused connectors: empty ("") for the scalar connectors, "nb1" for the numbered connectors, "nb1 TO nb2" or "(nb1 TO nb2)" (nb1 < nb2), "nb1 DOWNTO nb2" or "(nb1 DOWNTO nb2)" (nb2 < nb1) for the vectors. Where nb1 and nb2 are integer.
  • option β€” options of the connector: "S" for a spied connector, empty ("") for a normal connector.

πŸ¦‹ DESCRIPTION πŸ¦‹

Describes a set of connectors, signals or registers of the same format, size and mode. It’s lowkey giving one declaration for a whole squad. πŸ¦‹

πŸ”₯ EXAMPLE πŸ”₯

The examples are main character energy here, so let’s go one by one.

Example one β€” the vector spy:

DECLAR("a", ":2", "X", OUT, "3 DOWNTO 0", "S");

describes: a 3, a 2, a 1, a 0

format: Hexadecimal.

mode: Output.

option: Spied connector.

the group is separated of the others with 2 blank spaces.

result:

out a(3 downto 0) X spy ;;;

Example two β€” the input/output lil range:

DECLAR ("toto", ":", "O", INOUT, "7 TO 11", "");

describes: toto 7, toto 8, toto 9, toto 10, toto 11.

format: Octal.

mode: Input/Output.

option: none.

the group is separated of the following with 0 blank space.

result:

inout toto(7 to 11) O ;

Example three β€” the scalar input:

DECLAR ("ck", ":2", "B", IN, "", "");

describes: ck.

format: Binary.

mode: Input.

option: none.

the port is separated of the following with 2 blank spaces.

result:

in ck ;;;

Example four β€” the spied signal:

DECLAR ("accu.f", ":", "B", SIGNAL, "", "S");

describes: accu.f.

format: Binary.

mode: Signal.

option: Spied connector.

the signal is separated of the following with 0 blank space.

result:

signal accu.f spy ;

Example five β€” the register moment:

DECLAR ("accu.reg", ":1", "B", REGISTER, "(3)", "");

describes: accu.reg.

format: Binary.

mode: Register.

option: none.

the signal is separated of the following with 1 blank space.

result:

register accu.reg(3) ;;;;

πŸ’€ WARNING πŸ’€

Heads up, bestie: the DECLAR function from the 4.0 release has a new parameter (option). Not me forgetting to mention it β€” it’s literally new in 4.0. πŸ’€

πŸ‘‘ SEE ALSO πŸ‘‘

ARRAY(3), genpat(1), pat(5) β€” go read those too, iykyk. πŸ‘‘

🫢 BUG REPORT 🫢

This tool is under development at the ASIM department of the LIP6 laboratory. We need your feedback to improve documentation and tools. Fr fr, your feedback matters. 🫢


mwah πŸ’‹ β€” source/version ASIM/LIP6, date October 1, 1997, and yes, this is the DECLAR(3) page. πŸŽ€

πŸ“¦ where this page comes from