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

# GENLIB\_COPY\_UP\_CON\_FACE(3)

copy a physical connector from an instance in the current figure

## NAME

GENLIB\_COPY\_UP\_CON\_FACE - copy a physical connector from an instance in the current figure

## SYNOPSYS

```
#include <genlib.h>
void GENLIB_COPY_UP_CON_FACE(face, conname, insname, newname)
long index;
char ∗insname;
char ∗conname;
char ∗newname;
```

## PARAMETERS

- *face*

  Connector face in the instance

- *conname*

  Name of the connector in the instance model

- *insname*

  Name of the instance the connector belongs to

- *newname*

  Name to be given to the connector in the current figure

## DESCRIPTION

**COPY\_UP\_CON\_FACE** copies a instance connector into the current layout figure, and gives to the new connector the name *newname*. The *face* and *conname* arguments are not suffiscient for non ambiguiously identify a single connector. So, if more than one connector matches these arguments, the behaviour described below is applied on all of them.\
 Two behaviour are expected, depending on the instance connector location regarding the *abutment box* of the current figure.

- Connector on the *abutment box*

  The figure connector is place right over the instance connector. The single connector is duplicated.

- Connector inside the *abutment box*

  The instance connector face is computed in the figure, and then, the connector is duplicated *on* the given face, at the right coordinates for this face. Then a wire is drawn between the instance connector and the figure connector in the connector layer.

## ERRORS

**"GENLIB\_COPY\_UP\_CON\_FACE impossible : missing GENLIB\_DEF\_PHFIG"**

No figure has been yet specified by a call to **DEF\_PHFIG**. So it isn't possible to place a connector inside it. you must call **DEF\_PHFIG** before any other layout action.

**"\*\*\* genlib error \*\*\* GENLIB\_COPY\_UP\_CON\_FACE impossible : connector** *conname* **face** *face* **of instance** *insname***,** *current* **figure doesn't exist"**

No connector matches both the *conname* and the *face* arguments.

## EXAMPLE

```
#include <genlib.h>
main()
{
	/∗ Create a figure to work on  ∗/
	GENLIB_DEF_PHFIG("cell");
	.
	.
	GENLIB_PLACE_LEFT("gaer0_f", "insN", SYMXY);
	.
	.
	GENLIB_DEF_AB(0L, 0L, 0L, 0L);
	/∗ Put a connector ∗/
	GENLIB_COPY_UP_CON_FACE("i0", 1, "insN", "inz0");
	/∗ Save that on disk ∗/
	GENLIB_SAVE_PHFIG();
}
```

## SEE ALSO

[**genlib**(1)](/genlib/1.md), [**GENLIB\_DEF\_PHFIG**(3)](/GENLIB_DEF_PHFIG/3.md), [**GENLIB\_SAVE\_PHFIG**(3)](/GENLIB_SAVE_PHFIG/3.md), [**GENLIB\_COPY\_UP\_ALL\_CON**(3)](/GENLIB_COPY_UP_ALL_CON/3.md), [**GENLIB\_COPY\_UP\_CON**(3)](/GENLIB_COPY_UP_CON/3.md), [**GENLIB\_PHCON**(3)](/GENLIB_PHCON/3.md), **GENLIB\_THRU\_CON\_H**(3), **GENLIB\_THRU\_CON\_V**(3).
