SIMPBDDNODEDCOFF(3)

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

πŸ’– SIMPBDDNODEDCOFF β€” bestie edition πŸ’–

okay so this is simpbddnodedcoff(3), and it lives in the BDD FUNCTIONS part of the manual. it's a 3-section page (that's the (3), iykyk) and it's literally about simplifying a BDD node with don't-cares on its off-set part. we're gonna get through this together, 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 ✨

#include "bdd101.h"
bddnode βˆ—simpbddnodedcoff( BddSystem, BddOff, BddDc )
  bddsystem βˆ—BddSystem;
  bddnode   βˆ—BddOff;
  bddnode   βˆ—BddDc;

πŸŽ€ PARAMETERS πŸŽ€

  • BddSystem β€” the bdd system, bestie. that's it, that's the vibe.
  • BddOff β€” the first bdd node.
  • BddDc β€” the second bdd node.

πŸ’… DESCRIPTION πŸ’…

okay so here's the tea. simpbddnodedcoff simplifies the bdd node BddOff with BddDc, inside the bdd system BddSystem. that's the whole job. πŸ’–

if you hand it a null pointer, the default bdd system gets used instead β€” so no stress if you don't have a system handy.

🚨 but listen: the bdd node BddDc must be included imperatively in the off-set part of the bdd node BddOff. that's not optional, that's not a suggestion, that's the rule. periodt. don't come crying to me if you skip it. 😭

πŸ‘‘ RETURN VALUE πŸ‘‘

simpbddnodedcoff returns the simplified bdd node. slay. that's it. 🫢


🌈 EXAMPLE 🌈

here's the whole thing in action, copy-paste ready:

#include "bdd101.h"
   bddsystem  βˆ—BddSystem;
   bddcircuit βˆ—BddCircuit;
   bddnode    βˆ—BddOff;
   bddnode    βˆ—BddDc;
   bddnode    βˆ—BddNode;
   chain_list βˆ—Expr;
   BddSystem  = createbddsystem( 100, 1000, 100, 50000 );
   BddCircuit = createbddcircuit( "hello_world", 10, 10, BddSystem );
   Expr = createablbinexpr( ABL_OR,
                            createablatom( "i0" ),
                            createablatom( "i1" ) );
   BddOff = addbddcircuitabl( BddCircuit, Expr );
   freeablexpr( Expr );
   Expr = createablbinexpr( ABL_NOR,
                            createablatom( "i0" ),
                            createablatom( "i1" ) );
   BddDc = addbddcircuitabl( BddCircuit, Expr );
   freeablexpr( Expr );
   BddNode = simpbddnodedcoff( (bddsystem βˆ—)0, BddOff, BddDc );
   Expr = convertbddcircuitabl( BddCircuit, BddNode );
   /* displays '1' */
   viewablexpr( Expr, ABL_VIEW_VHDL );
   freeablexpr( Expr );
   destroybddsystem( (bddsystem βˆ—)0 );
   destroybddcircuit( (bddcircuit βˆ—)0 );

see that /* displays '1' */ comment? iconic. it really does display '1'. πŸ’€βœ¨


πŸ¦‹ SEE ALSO πŸ¦‹


πŸ™ˆ 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, tell them what's broken, they're literally asking. 🫢


and that's the page!! mwah πŸ’‹ this whole thing is ASIM/LIP6, dated October 1, 1997, and it's the SIMPBDDNODEDCOFF(3) page β€” go simplify some nodes, bestie, you've got this. πŸ’œπŸŒΈπŸŽ€