---
name: "GENLIB_COPY_UP_SEG"
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_SEG"
---

# GENLIB\_COPY\_UP\_SEG(3)

copy a physical segment from an instance in the current figure

## NAME

GENLIB\_COPY\_UP\_SEG - copy a physical segment from an instance in the current figure

## SYNOPSYS

```
#include <genlib.h>
void GENLIB_COPY_UP_SEG(oldname, insname, newname)
char ∗oldname, ∗insname, ∗newname;
```

## PARAMETERS

- *oldname*

  Name of the segment in the instance

- *insname*

  Name of the instance in the which the segment is to be searched for

- *newname*

  Name to be given to the segment in the current figure

## DESCRIPTION

**COPY\_UP\_SEG** adds a segment in the current layout cell. All the segment's attributes are copied from the first found segment called *oldname* in the instance *insname*. The new segment is given the name *newname*. The main purpose of this function is to rename a segment, so it can be used later, when extracting a layout.

## ERRORS

**"GENLIB\_COPY\_UP\_SEG 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 segment inside it. you must call **DEF\_PHFIG** before any other layout action.

**"illegal getphins : instance** *insname* **does not exist"**

The instance called *insname* does not currently belong to the figure.

**"GENLIB\_COPY\_UP\_SEG impossible : segment** *segname* **does not exist"**

The segment *segname* does not exist in the model of the instance *insname*.

## EXAMPLE

```
#include <genlib.h>
main()
{
	/∗ Create a figure to work on  ∗/
	GENLIB_DEF_PHFIG("cell");
	GENLIB_PLACE("z2l_y", "r1", NOSYM, 23L, 54L);
	/∗ Put a segment ∗/
	GENLIB_COPY_UP_SEG("mux0_s", "r1", "out_s");
	/∗ 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\_PHSEG**(3)](/GENLIB_PHSEG/3.md), **GENLIB\_THRU\_H**(3), **GENLIB\_THRU\_CON\_H**(3), **GENLIB\_THRU\_V**(3), **GENLIB\_THRU\_CON\_V**(3), [**GENLIB\_WIRE1**(3)](/GENLIB_WIRE1/3.md), [**GENLIB\_WIRE2**(3)](/GENLIB_WIRE2/3.md), [**GENLIB\_WIRE3**(3)](/GENLIB_WIRE3/3.md).
