Provided by: alliance_5.1.1-1.1build1_amd64 bug

NAME

       lofigchain - creates a netlist in terms of connectors on signals

SYNOPSYS

       #include "mlo.h"
       void lofigchain(ptfig)
       lofig_list ∗ptfig;

PARAMETER

       ptfig               Pointer to a lofig_list

DESCRIPTION

       The  lofigchain  function  creates  the dual representation of natural mbk netlists. In mbk, netlists are
       described in terms of signal attached to connectors.  With lofigchain, one can  have  the  dual  sight  :
       connectors  attached  to  signals.   This can be very useful, depending on the application, but it's also
       memory consuming on big netlists, since two views of the same thing are present in  memory  at  the  same
       time.

       The  information  resulting  of  a  call to lofigchain is present in the USER field of all signals of the
       figure, accessible through ptfig->LOSIG. The USER field has a ptype typed LOFIGCHAIN, that  points  on  a
       chain_list whose DATA points on each locon beeing connected to the given signal.

ERROR

       "∗∗∗ mbk error ∗∗∗ lofigchain impossible : figure ptfig->NAME is interface only"
              In  order  to  be  valid,  the  netlist resulting of a call to lofigchain must be done on a figure
              entirely loaded in ram. See getlofig for details.

EXAMPLE

       #include "mut.h"
       #include "mlo.h"
       void print_netlist(p)
       lofig_list ∗p;
       {
       losig_list ∗s;
       chain_list ∗c;
          lofigchain(p);
          for (s = p->LOSIG; s; s = s->NEXT){
             (void)fprintf(stdout, "signal : index = %ld name = %s\n",
                   s->INDEX, getsigname(s));
             c = (chain_list ∗)(getptype(s->USER, (long)LOFIGCHAIN)->DATA);
             while (c) {
                fprintf(stdout, "conname : %s\n",
                   (locon_list ∗)(c->DATA)->NAME);
                c = c->NEXT;
             }
          }
       }

SEE ALSO

       mbk(1), lofig(3), locon(3), losig(3), getlofig(3), loadlofig(3).