Design Exchange Format (DEF) is an open specification for representing physical layout of an Integrated Circuit in an ASCII format. DEF file contains logical design data and Physical design data.
Logical design data includes
- Internal connectivity (as represented by netlist).
- Grouping information and
- Physical Constraints.
Physical design data includes
- Placement locations and orientations.
- Routing geometry data.
- Logical design data for back annotation.
It is not mandatory for a DEF file to have both logical and physical design data. In many cases the DEF netlist information is maintained in a separate file (usually in verilog) or in a separate DEF file. DEF file can be used only to pass placement information also.
The DEF file can contain following statements,
[ VERSION statement ]
[ DIVIDERCHAR statement ]
[ BUSBITCHARS statement ]
DESIGN statement
[ TECHNOLOGY statement ]
[ UNITS statement ]
[ HISTORY statement ] ...
[ PROPERTYDEFINITIONS section ]
[ DIEAREA statement ]
[ ROWS statement ] ...
[ TRACKS statement ] ...
[ GCELLGRID statement ] ...
[ VIAS statement ]
[ STYLES statement ]
[ NONDEFAULTRULES statement ]
[ REGIONS statement ]
[ COMPONENTS section ]
[ PINS section ]
[ PINPROPERTIES section ]
[ BLOCKAGES section ]
[ SLOTS section ]
[ FILLS section ]
[ SPECIALNETS section ]
[ NETS section ]
[ SCANCHAINS section ]
[ GROUPS section ]
[ BEGINEXT section ] ...
END DESIGN statement
Now let us know about what these statements implies,
BLOCKAGES:
Used to define placement and routing blockages. You can only associate blockages with placed instances. When the instance is moved, blockages also moves with it.
Syntax :BLOCKAGES:
Used to define placement and routing blockages. You can only associate blockages with placed instances. When the instance is moved, blockages also moves with it.
[BLOCKAGES numBlockages ;
[- LAYER layerName
[+ COMPONENT compName | + SLOTS | + FILLS | + PUSHDOWN]
[+ SPACING minSpacing | + DESIGNRULEWIDTH effectiveWidth]
{RECT pt pt | POLYGON pt pt pt ...} ...
;] ...
[- PLACEMENT
[+ COMPONENT compName | + PUSHDOWN]
{RECT pt pt} ...
;] ...
END BLOCKAGES]
COMPONENT - Specifies the component with which the blockage needs to be associated.
Usually placed instances can be used. It can be routing blockage or placement
blockage.
No comments :
Post a Comment