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

# GENLIB\_LOTRS(3)

adds a logical transistor to the current netlist figure

## NAME

GENLIB\_LOTRS - adds a logical transistor to the current netlist figure

## SYNOPSYS

```
#include <genlib.h>
void GENLIB_LOTRS(type,width,length,grid,source,drain)
char type;
long width, length;
char ∗grid, ∗source, ∗drain;
```

## PARAMETERS

- *type*

  Type of the transistor to be created in the current figure

- *width, length*

  Size of the transistor

- *grid, source, drain*

  Name of the signals on which the given transistor connector are to be linked

## DESCRIPTION

**LOTRS** add a logical transistor to the current working figure. This transistor has each of its pin logicaly linked to the adequat signal given as parameter. The *type* attribut may take the following values:

- **TRANSN**

  for a N type mos transistor.

- **TRANSP**

  for a P type mos transistor.

## ERROR

**"GENLIB\_LOTRS impossible : missing GENLIB\_DEF\_LOFIG"**

No figure has been yet specified by a call to **DEF\_LOFIG**. So it isn't possible to add anything. you must call **DEF\_LOFIG** before any other netlist call.

## EXAMPLE

```
#include <genlib.h>
main()
{
	/∗ Create a figure to work on, an inverter  ∗/
	GENLIB_DEF_LOFIG("n1");
	/∗ define interface  ∗/
	GENLIB_LOCON("i", IN, "input");
	GENLIB_LOCON("f", OUT, "output");
	GENLIB_LOCON("vdd", IN, "vdd");
	GENLIB_LOCON("vss", IN, "vss");
	/∗ Place transistors ∗/
	GENLIB_LOTRS(TRANSP, 5, 4, "input", "vdd", "output");
	GENLIB_LOTRS(TRANSN, 2, 4, "input", "vss", "output");
	/∗ Save all that on disk ∗/
	GENLIB_SAVE_LOFIG();
}
```

## SEE ALSO

[**genlib**(1)](/genlib/1.md), [**GENLIB\_BUS**(3)](/GENLIB_BUS/3.md), [**GENLIB\_ELM**(3)](/GENLIB_ELM/3.md), [**GENLIB\_LOINS**(3)](/GENLIB_LOINS/3.md), [**GENLIB\_LOCON**(3)](/GENLIB_LOCON/3.md).
