Introduction to Design Exchange Format (DEF)
Design Exchange Format (DEF) . is used to represent the physical layout of an IC in an ASCII format. It represents the netlist and circuit layout. We used DEF along with LEF (Library Exchange Format) to represent complete physical layout of an integrated circuit while it is being designed.
Origin : DEF was developed by Cadence Design Systems.
Generated by : Usually generated by place and route (P&R) tools and are used as an input for post analysis tools, such as extraction tools or power analysis tools.
Now here I am not going to describe the different syntax used in the DEF, But I will concentrate on what exactly DEF is!
Actually DEF is a text file which you can read and easily figure out the different information about the layout. like
Similarly, we can define the Door location / Window Location, Electricity fitting, Pipe line and all. Lets try to correlate the same with the VLSI terminology and then you can easily figure out what all are present in the DEF.
Plot size >> Core Size / Die Size
Rooms and Kitchen >> Macro placement
Kitchen / Bedroom / Bathroom >> Different Blocks with some characteristic. Which we also define in DEF.
Window/Door Location >> Pin placement
Passage >> Routing Information
Floors >> Metal layer Stack
Open Space info >> Related to Blockage information.
Entrance to House >> Pin location which Interact with outside world.
There are few more info which you can define as Part of DEF.
You will get the layout information above Metal1 in the DEF. It will not contain any info about the Diffusion or Poly or any other layer which are below Metal1. And that the reason it's Used in Digital Design. Means when we are talking about LEF/DEF flow - means we are talking about Digital Flow.
Now there are few things which you will not define as part of House layout because that info you will get somewhere else. Sink / Taps / Electric fittings, Size and shape are predefined. So you don't have much control. You can choose which one you want to use but you will not prefer to manufacture those one. You can consider these are like Standard Cells, which are already defined and designed by someone else. You have to just place those things. Whatever minimum information you require during you Designing the layout, that info you can get through Standard Cell LEF. We will discuss about LEF in Next Article.
I think, I have tried to cover each and every thing which should be part of DEF. Now just Syntax is remaining. Few of them are:
[ 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
You can get more detail about the Syntax and their Description from the Below Document:
LEF AND DEF
Origin : DEF was developed by Cadence Design Systems.
Generated by : Usually generated by place and route (P&R) tools and are used as an input for post analysis tools, such as extraction tools or power analysis tools.
Now here I am not going to describe the different syntax used in the DEF, But I will concentrate on what exactly DEF is!
Actually DEF is a text file which you can read and easily figure out the different information about the layout. like
- What are different components in your design ?
- Where these components are placed in you DIE ?
- How these components are places ?
- What's the size of the DIE ?
- Macros of design
- Placement information
- Pin locations
- Metal blockages
- Orientation
- You have a plot of 100x100 meter
- You have to keep a margin of 2m at all the four side. Margin - Open area, no construction should be done in that area.
- From coordinates (2,2) to (10,10) - it's a 8x8 meter Kitchen area
- There are 2 doors of 7ft in height from 10,5 to 10,6 and 2,10 to 3,10.
- One T shape Hall (along with a small pathway) is present which has following coordinates. (10,2) (10,10) (2,10) (2,14) (10,14) (10,40) (40,40) (40,2)
- One master Room is present with coordinates (2,14) (10,60)
- One attached balcony with the Master Room with coordinates (2,60) (10,80).
- From (10,40) (50,80) another Room
- Attached bathroom (50,40) (60,80)
- (40,40)(60,20) is used for Stairs
- These Stairs will go till 3rd Floor, so no other construction on top of this place
- (40,20) (60,2) - third room
Similarly, we can define the Door location / Window Location, Electricity fitting, Pipe line and all. Lets try to correlate the same with the VLSI terminology and then you can easily figure out what all are present in the DEF.
Plot size >> Core Size / Die Size
Rooms and Kitchen >> Macro placement
Kitchen / Bedroom / Bathroom >> Different Blocks with some characteristic. Which we also define in DEF.
Window/Door Location >> Pin placement
Passage >> Routing Information
Floors >> Metal layer Stack
Open Space info >> Related to Blockage information.
Entrance to House >> Pin location which Interact with outside world.
There are few more info which you can define as Part of DEF.
- Specifies that the component has a location and cannot be moved by automatic tools, but can be moved using interactive commands.
- For specifying the Hierarchy name, which Divider Character you want to use "." or "/" can be defined in DEF.
- Metal Fill Details
- Units for different type of Dimension related info
- Defines any Non Default Rules (NDR) used in this design that are not specified in the LEF file.
- Pin related info. Like
- Which type of Pin it is ?
- Pin connection (in case it's connected to Ground or Power VSS/VDD)
- It's a power pin or Signal Pin or Clock Pin or SET/Reset pin etc
- Pin orientation
- Rows, Sites, Tracks
- Placement of Standard Cells are done by the tool (Automated Process).
- Think the difference when I will ask you to arrange 100 things in a Big Box Vs In a Almeria which have drawers. In Box - you can put all the stuff but that will not be so organized as it will be in Drawers.
- In the drawers, you have to follow certain rules (size of Drawers and spacing between Drawers).
- There may be more space available in Box but it's difficult to reach those Items very easily randomly
- Similarly, in Design we come up the concept of Rows, Sites, Tracks.
- During the placement it's easy for Tool to place different standard cells or macros with in these Rows / Sites.
- Tracks helps during Routing.
- You can correlate these with the Foundation and Pillars during Home construction which provide a frame for placing the Bricks between them.
You will get the layout information above Metal1 in the DEF. It will not contain any info about the Diffusion or Poly or any other layer which are below Metal1. And that the reason it's Used in Digital Design. Means when we are talking about LEF/DEF flow - means we are talking about Digital Flow.
Now there are few things which you will not define as part of House layout because that info you will get somewhere else. Sink / Taps / Electric fittings, Size and shape are predefined. So you don't have much control. You can choose which one you want to use but you will not prefer to manufacture those one. You can consider these are like Standard Cells, which are already defined and designed by someone else. You have to just place those things. Whatever minimum information you require during you Designing the layout, that info you can get through Standard Cell LEF. We will discuss about LEF in Next Article.
I think, I have tried to cover each and every thing which should be part of DEF. Now just Syntax is remaining. Few of them are:
[ 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
You can get more detail about the Syntax and their Description from the Below Document:
LEF AND DEF
ur comparison of def with house plan is really awesome sir....very simple n efficient explannation
ReplyDeleteNice job sir,you should also write some articles on various other file formats like .lib .lef etc
ReplyDeleteexcellent job
ReplyDelete