Design Exchange Format (DEF) is an open specification for representing physical layout of an integrated circuit in an ASCII format. It represents a netlist, component placements and routing information. But it does not contain any information on the used components. For these information it is normally used in conjunction with LEF. Connecting a huge amount of components is the main focus of the design of the DEF file format. Therefore it is less suitable for non standard integrated circuits like Monolithic Microwave Integrated Circuits (MMIC) where placement, surrounding components and connecting shape and length are most important design tasks.
The DEF file format is strong connected with the LEF file format. So both files are needed for a correct display of a physical design.
To display a DEF file please open the corresponding LEF file first and then import/attach or update the DEF file. A direct opening of a DEF file with information on the referred cells may result in a incorrect placement of cells as the bounding box of the placed cell is required for a correct placement. If no LEF file is opened before the DEF file then refered cell information is read from existing cell or from OpenAccess libraries set as defExtraLibs (see scripting class setup for details) The netlist is loaded anyway. The DEF file format can be used together with the LEF file format to integrate an external routing tool into the LayoutEditor. The DEF file format only knows layernames. By opening a DEF file the LayoutEditor analyzed the used layers. If a used layername already exist in the current setup, this layer is used. Otherwise the first unused layer is renamed.
The netlist and the design of the current display cell is exported. Referred cells need a device name to be set to be exported. Only shapes on technology layers will be exported. Shapes on all other layers will be ignored. The DEF export/import can be use to integrate an external routing tool into the LayoutEditor.
Not all information required for a complete DEF file with all its options can be stored in a GDS the used representation within the LayoutEditor. These additional and optional information of a DEF file can be set by an macro script. Please see the API documentation of the class setup for details.