---
name: "GENLIB_COPY_UP_ALL_REF"
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_ALL_REF"
---

# GENLIB\_COPY\_UP\_ALL\_REF(3)

copy a several physical reference from an instance in the current figure

## NAME

GENLIB\_COPY\_UP\_ALL\_REF - copy a several physical reference from an instance in the current figure

## SYNOPSYS

```
#include <genlib.h>
void GENLIB_COPY_UP_ALL_REF(reftype, insname, concatenate)
char ∗reftype, ∗insname;
char concatenate;
```

## PARAMETERS

- *reftype*

  Type of the references to be duplicated

- *insname*

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

- *concatenate*

  Indicates whether or not to concatenate the instance name to the references names when copying

## DESCRIPTION

**COPY\_UP\_ALL\_REF** duplicates all the references of type *reftype* of the instance called *insname* into the current layout cell. The main purpose of this function is to copy a set references in the upper hierarchical level, so it can be used as *virtual* connector, for the data-path router. See **dpr**(1) for details.\
 The *reftype* argument can take two values:

- **"ref\_con"**

  for virtual connectors

- **"ref\_ref"**

  for any other references

See the *leaf cells design for generators* document for details on reference types and usage.\
 The *concatenate* argument can take two values:

- A**YES**

  indicates that the name of the copied references is concatenated to the instance name.

- **NO**

  implies a direct duplication of the reference name

## ERRORS

**"GENLIB\_COPY\_UP\_ALL\_REF 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 reference 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\_ALL\_REF impossible : references of type** *reftype* **do not exist"**

No reference of type *reftype* 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 reference ∗/
	GENLIB_COPY_UP_ALL_REF("ref_con", "r1", NO);
	/∗ Save that on disk ∗/
	GENLIB_SAVE_PHFIG();
}
```

## SEE ALSO

**dpr**(1), [**genlib**(1)](/genlib/1.md), [**GENLIB\_DEF\_PHFIG**(3)](/GENLIB_DEF_PHFIG/3.md), [**GENLIB\_SAVE\_PHFIG**(3)](/GENLIB_SAVE_PHFIG/3.md), [**GENLIB\_PHREF**(3)](/GENLIB_PHREF/3.md), [**GENLIB\_COPY\_UP\_ALL\_REF**(3)](/GENLIB_COPY_UP_ALL_REF/3.md), [**GENLIB\_PLACE\_CON\_REF**(3)](/GENLIB_PLACE_CON_REF/3.md), [**GENLIB\_PLACE\_SEG\_REF**(3)](/GENLIB_PLACE_SEG_REF/3.md), [**GENLIB\_PLACE\_VIA\_REF**(3)](/GENLIB_PLACE_VIA_REF/3.md).
