1LOFIGCHAIN(3) MBK LOGICAL FUNCTIONS LOFIGCHAIN(3)
2
3
4
6 lofigchain - creates a netlist in terms of connectors on signals
7
9 #include "mlo.h"
10 void lofigchain(ptfig)
11 lofig_list ∗ptfig;
12
14 ptfig Pointer to a lofig_list
15
17 The lofigchain function creates the dual representation of natural mbk
18 netlists. In mbk, netlists are described in terms of signal attached to
19 connectors. With lofigchain, one can have the dual sight : connectors
20 attached to signals. This can be very useful, depending on the appli‐
21 cation, but it's also memory consuming on big netlists, since two views
22 of the same thing are present in memory at the same time.
23
24 The information resulting of a call to lofigchain is present in the
25 USER field of all signals of the figure, accessible through
26 ptfig->LOSIG. The USER field has a ptype typed LOFIGCHAIN, that points
27 on a chain_list whose DATA points on each locon being connected to the
28 given signal.
29
31 "∗∗∗ mbk error ∗∗∗ lofigchain impossible : figure ptfig->NAME is inter‐
32 face only"
33 In order to be valid, the netlist resulting of a call to
34 lofigchain must be done on a figure entirely loaded in ram. See
35 getlofig for details.
36
38 #include "mut.h"
39 #include "mlo.h"
40 void print_netlist(p)
41 lofig_list ∗p;
42 {
43 losig_list ∗s;
44 chain_list ∗c;
45 lofigchain(p);
46 for (s = p->LOSIG; s; s = s->NEXT){
47 (void)fprintf(stdout, "signal : index = %ld name = %s\n",
48 s->INDEX, getsigname(s));
49 c = (chain_list ∗)(getptype(s->USER, (long)LOFIGCHAIN)->DATA);
50 while (c) {
51 fprintf(stdout, "conname : %s\n",
52 (locon_list ∗)(c->DATA)->NAME);
53 c = c->NEXT;
54 }
55 }
56 }
57
59 mbk(1), lofig(3), locon(3), losig(3), getlofig(3), loadlofig(3).
60
61
62
63
64
65
66ASIM/LIP6 October 1, 1997 LOFIGCHAIN(3)