DECLAR(3)

πŸ“¦ version 5.1.1, in fedora 43, fedora 44

🌸 DECLAR β€” bestie edition 🌸

ok so like. this is DECLAR(3), from the GENPAT functions section of the manual (yes the header says DECLAR(3) on the left and GENPAT functions in the middle, iykyk). pull up a chair, grab a boba, we're learning this together πŸ’–


✨ NAME ✨

DECLAR, and also the whole GENPAT Package is riding along with it. slay.


πŸŽ€ ORIGIN πŸŽ€

bestie, 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. paris!! the aesthetic!! πŸ‡«πŸ‡·


🌈 SYNOPSIS 🌈

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

look at her. six little arguments. main character energy fr fr.


πŸ’… PARAMETERS πŸ’…

one bullet per parameter, no skips, no shortcuts, we're doing this properly:

  • ident β€” the name of your external connector, your internal observing points, or your register. and listen, for hierarchical descriptions, if you're naming an internal observing point or a register, you must give the full path-name using this exact syntax: instance1.instance11.name . yes with the dots. no you can't skip them. 🫢
  • nb_space β€” how many blank spaces go between each group of value associated to the connectors, signals or registers in the output file. your options are literally 0,1,2,3,4,5,6,7,8,9 or nothing at all. that's it. that's the list.
  • format β€” the format used to represent the value associated to the connectors, signals or registers. X for Hexadecimal, O for Octal and B for Binary. three options, three vibes. πŸ’œ
  • mode β€” the type of your connectors. IN for Input, OUT for Output, INOUT for Input/Output, SIGNAL for internal observing point, REGISTER for register. and important: IN, OUT, INOUT, SIGNAL, REGISTER are constants (defines) provided by genpat. so like, they already exist, don't go reinventing them πŸ’€
  • size β€” the size of your bused connectors. okay this one has layers:
    • empty ("") for the scalar connectors,
    • "nb1" for the numbered connectors,
    • "nb1 TO nb2" or "(nb1 TO nb2)" (where nb1 < nb2),
    • "nb1 DOWNTO nb2" or "(nb1 DOWNTO nb2)" (where nb2 < nb1) for the vectors.

where nb1 and nb2 are integer. 🧚

  • option β€” options for the connector. "S" for a spied connector, empty ("") for a normal connector. spy era πŸ•΅οΈβ€β™€οΈ

πŸ¦‹ DESCRIPTION πŸ¦‹

it describes a set of connectors, signals or registers that all share the same format, size and mode. group them up, one call, boom. efficiency queen. πŸ‘‘


⭐ EXAMPLE ⭐

ok this is the fun part, let's look at her in action:

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

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 ;

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

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 ;

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 😭

okay bestie listen up, this one matters: the DECLAR function from the 4.0 release has a new parameter (option). so if you're working off ancient knowledge, that's not it anymore. adapt, evolve, glow up ✨

πŸ”₯ SEE ALSO πŸ”₯

ARRAY(3), genpat(1), pat(5) β€” go read those too, they're the rest of the friend group 🫢


πŸ’€ BUG REPORT πŸ’€

this tool is under development at the ASIM department of the LIP6 laboratory.

We need your feedback to improve documentation and tools. like genuinely, they're asking, and honestly? same energy as me asking you to reply to my texts πŸ™ˆ


and that's the whole page bestie πŸ’œ written up by ASIM/LIP6 and dated October 1, 1997 β€” yes she's an icon from the 90s and she's still serving, periodt. πŸ’…πŸŒΈ