#

## def

Read or write DEF format files.

### Usage:

> def option

> > where option is one of the following:
> > read filename [-labels]
> >   Read a DEF file filename[.def]
> > write [cell] [-units value]
> >   Write DEF for current or indicated cell named cell
> > help
> >   Print help information (command summary)

### Summary:

> The def command reads and writes DEF format files. These files are generally assumed to be digital standard-cell based layouts. The DEF format has no real concept of hierarchy. To generate a valid DEF file that may be recognized by other software, it is necessary to have a layout with standard cells using the port method to declare input and output ports. In particular, the port class and port use are designed to work with the DEF read and write routines.

> The technology file should have a lef section describing how LEF and DEF files should be written. However, if an appropriate LEF file exists and is read prior to writing a DEF format file, the technology will be initialized from the file if it is not declared in the technology file.

> Normally the DEF file is written in units of nanometers according to the active GDS output scale (UNITS DISTANCE MICRONS 1000). If option "-units value" is used, then the units indicated by value are used instead of 1000. This option can be used, for example, to preserve units when re-writing a DEF file that was read with "def read". There is no guarantee that values can be accurately represented at the specified scale. The -units option was introduced in magic version 8.2.113.

> The "-labels" option to the "def read" command causes each net in the NETS and SPECIALNETS sections of the DEF file to be annotated with a label having the net name as the label text.

### Implementation Notes:

> def is implemented as a built-in magic command. Only the critical part of the DEF definition has been implemented. Some uncommon forms of syntax such as wire extensions are not implemented. This is largely due to the incomplete nature of the LEF/DEF spec. It is unlikely that such forms will be encountered in third-party input.

### See Also:

> lef
> port

Return to command index

Last updated: March 7, 2020 at 1:06pm