DPGEN_OR3(3)

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

πŸ’… DPGEN_OR3 β€” the OR3 Macro-Generator

okay bestie, so this one lives in the Alliance - genlib User's Manual (section 3, the library functions girlies πŸŽ€) and it's literally called DPGEN_OR3 β€” yes, the OR3 Macro-Generator, no cap.


✨ SYNOPSIS ✨

#include  <genlib.h>

void GENLIB_MACRO (DPGEN_OR3, char *modelname, long flags, long N, long
drive);

that's the whole vibe up there ^^ πŸ’–


🌸 DESCRIPTION 🌸

Not me generating a N bits three inputs OR with an output power of drive named modelname?? πŸ’… Like, that's the entire job. That's what she does.

Valid drive are : 2 or 4. That's it. Those are the options, bestie, don't try to be cute and pass a 3. πŸ™ˆ

πŸ¦‹ TERMINAL NAMES πŸ¦‹

the whole friend group, in order:

  1. i2 : input.
  2. i1 : input.
  3. i0 : input.
  4. q : output.
  5. vdd : power.
  6. vss : ground.

three inputs, one output, and the power couple at the end. iconic. ⭐

πŸ‘‘ BEHAVIOR πŸ‘‘

q <= i0 or i1 or i2

literally it. OR, but make it three-wide. slay. πŸ”₯


πŸ’– EXAMPLE πŸ’–

here's how you actually call her:

GENLIB_MACRO(DPGEN_OR3, "model_or3_32"
                       , F_BEHAV|F_PLACE
                       , 32
                       , 2
                       );

GENLIB_LOINS( "model_or3_32"
            , "instance1_or3_32"
            , "i2[31:0]"
            , "i1[31:0]"
            , "i0[31:0]"
            ,  "q[31:0]"
            , "vdd", "vss", NULL
            );

32 bits, drive of 2, behavior + place flags, and then GENLIB_LOINS comes in and wires the whole thing up. the way that she just works 🫢✨


🌈 SEE ALSO 🌈

go read those too, iykyk πŸ’œ


⚠️ quick vibe check: this page is from the Alliance - genlib User's Manual, and she was written by ASIM/LIP6 back on 30 July 2004 β€” an absolute icon of a date. periodt. πŸ’…πŸŒΈ