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

# phvia(3)

mbk physical contact

## NAME

phvia - mbk physical contact

## DESCRIPTION

The **phvia** structure is used to describe a via or contact belonging to a symbolic layout model, see [**phfig**(3)](/phfig/3.md) for details.

The declarations needed to work on **phvia** are available in the header file *"/labo/include/mph402.h"*, where '*402*' is the actual mbk version.

The following C structure supports the description of the via :

```
typedef struct phvia {
	struct phvia	∗NEXT;
	char	TYPE;
	long	XVIA,YVIA;
	struct ptype	∗USER;
} phvia_list;
```

- *NEXT*

  Pointer to the next **phvia** in the list.

- *XVIA, YVIA*

  Coordinates of the center of the via. Vias are macro generated patterns,  so only their center is a matter of concern.

- *TYPE*

  Via type. The legal types for via are

  - **CONT\_POLY**

    poly alu1  contact

  - **CONT\_VIA**

    alu2 alu1  contact

  - **CONT\_DIF\_N**

    alu1 difn  contact

  - **CONT\_DIF\_P**

    alu1 difp  contact

  - **CONT\_BODY\_N**

    alu1 nwell contact

  - **CONT\_BODY\_P**

    alu1 pwell contact

  - **CONT\_VIA2**

    alu2 alu3  contact

  - **C\_X\_N**

    L shaped N transistor corner filling

  - **C\_X\_P**

    L shaped P transistor corner filling

- *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 via.

## SEE ALSO

**mbk**(1), [**addphvia**(3)](/addphvia/3.md), [**delphvia**(3)](/delphvia/3.md), [**phfig**(3)](/phfig/3.md), [**ptype**(3)](/ptype/3.md).
