---
name: "lofig"
section: "3"
platform: "linux"
package: "alliance"
version: "5.1.1-3"
release: "Debian 10 (Buster)"
platforms: ["linux"]
url: "https://new.carta.tech/lofig"
---

# lofig(3)

mbk logical figure

## NAME

lofig - mbk logical figure

## DESCRIPTION

The **lofig** is used to describe a hierarchical level of the logical view of a figure. The logical view is also called the netlist, for list of nets, because it represents the interconnections between elements of a cell.

The declarations needed to work on **lofig** are available in the header file *"/labo/include/mlo.h"*.

The following C structure supports the description of the netlist representation :

```
typedef struct lofig {
	struct lofig	∗NEXT;
	struct chain	∗MODELCHAIN;
	struct locon	∗LOCON;
	struct losig	∗LOSIG;
	struct ptype	∗BKSIG;
	struct loins	∗LOINS;
	struct lotrs	∗LOTRS;
	struct lotrs	∗LOCAP;
	struct lotrs	∗LORES;
	struct lotrs	∗LOSELF;
	char	∗NAME;
	char	MODE;
	struct ptype	∗USER;
} lofig_list;
```

- *NEXT*

  Pointer to the next **lofig** loaded in ram.

- *NAME*

  Name of the figure. It identifies a figure (or *model*), so it should be unique in order to warranty consistency of cells libraries. In order to ensure this consistency, the *NAME* field must be filled with the disk file name while parsing, and must be used as file name for driving.

- *LOINS*

  Pointer to the head of the list of instances being used for the model  description. See [**loins**(3)](/loins/3.md) for details.

- *LOCON*

  Pointer to the head of the list of connectors (terminals) of the model. See [**locon**(3)](/locon/3.md) for details.

- *LOSIG*

  Pointer to the head of the list of signal of the model. See [**losig**(3)](/losig/3.md) for details.

- *BKSIG*

  Pointer to a hash table that contains arrays of *LOSIG*. It is only an other way to represent the same elements that in the list, but allows a faster access. The Mbk Logical Functions warranty the consitency between the two representations.

- *LOTRS*

  Pointer to the list of transistors belonging to the figure. It is to be noticed that transistors are not instances of a particular type.

- *LOCAP*

  Pointer to the list of capacitors belonging to the figure.

- *LORES*

  Pointer to the list of resistors belonging to the figure.

- *LOSELF*

  Pointer to the list of inductors belonging to the figure.

- *MODE*

  Caracter indicating the status of the figure in memory. This field can take two values :

  - **´A´**

    all the cell is loaded in ram.

  - **´P´**

    only information concerning the model interface is present, that means connectors, and signals linked to external connectors. All other lists are empty.

- *MODELCHAIN*

  Pointer to a chain list, see [**chain**(3)](/chain/3.md) for details, of names. These are the names of the models that are at least instanciated once in the figure.

- *USER*

  Pointer to a ptype list, see [**ptype**(3)](/ptype/3.md) for details, that is a general purpose pointer used to share informations on the model.

## SEE ALSO

**mbk**(1), [**addlofig**(3)](/addlofig/3.md), [**getlofig**(3)](/getlofig/3.md), [**dellofig**(3)](/dellofig/3.md), [**loadlofig**(3)](/loadlofig/3.md), [**savelofig**(3)](/savelofig/3.md), [**loins**(3)](/loins/3.md), [**lotrs**(3)](/lotrs/3.md), [**locap**(3)](/locap/3.md), [**lores**(3)](/lores/3.md), [**loself**(3)](/loself/3.md), [**locon**(3)](/locon/3.md), [**losig**(3)](/losig/3.md), [**ptype**(3)](/ptype/3.md), [**chain**(3)](/chain/3.md), [**phfig**(3)](/phfig/3.md).
