lofigchain.3alc man page

lofigchain — creates a netlist in terms of connectors on signals

Synopsis

#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 being 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).

Referenced By

losig.3alc(3), unflattenlofig.3alc(3).

October 1, 1997 ASIM/LIP6 MBK LOGICAL FUNCTIONS