Library Preparation LEF, DEF, GDS
Library Preparation LEF, DEF, GDS
Library Preparation LEF, DEF, GDS
● Liberty Timing File or .lib file is an ASCII representation of the timing and
power parameters associated with any cell in a particular semiconductor
technology.
● The timing and power parameters are obtained by simulating the cells
under a variety of conditions and the data is represented in the .lib format.
● LIB file is used as input to all Cadence timing tools that can read and
calculate delay from it.
● The file begins with library information common to the entire library of
cells used in the design. The library information includes a header section,
models, and timing properties.
Example of a LIB file :
Figure 5.1 and 5.2 on page 4 & 5 shows a very simple .lib file example.
Library information common to the entire library of cells used in the design is
main part of the Library information scope.
And in Cell information scope, each cell type in the design which contained
information for every model, pin, and path.
Example of a LIB file :
Library Header
Library
Scope
{ Properties
Wireload Model
Figure 5.1
Example of a LIB file :
Cell Header
Cell
Scope
{ Cell Models
Figure 5.2
Timing Library types :
Based on process corner and timing, library can be categorized into 3 classes:
1. Fast Lib
2. Slow Lib
3. Typical Lib
Process corners represent the parameter variations within which a circuit that has been etched onto the
wafer must function correctly.
In Silicon technology, the performance of the CMOS transistors that we use to create digital logic take a
certain finite amount of time for propagation. The propagation depends on three factors :
1. Process
2. Voltage
3. Temperature
Figure 5.3 : A part of basic differences among slow,fast & typical libraries.
Summary of LIB :
LIBRARY SCOPE
CELL SCOPE
Internal
Output pin
Input Pin Output pin Power
Area timing
information information of all
information
pins
Direction,capac
Direction,
itance,function,
capacitance
timing,internal
db
Contains the timing and functional Information
.db files:
● .db files contains the same information that .lib does
● Only difference in between .lib and .db is, .lib file is
written in ASCII format and .db file is written in binary
format
● Typically synopsys uses .db files and cadence uses .lib
files
Library Exchange Format
(LEF)
LEF ( Library Exchange Format):
LEF is a specification file for representing the physical layout of an IC in an ASCII
format.It contains library information for a class of designs.
It mainly contains
● Layer information
● Via information
● Placement site type and origin
● Macro cell definitions
Basically for starting a design in a tool, tool requires those informations first.
Note: In lib and lef there are completely different library information.
LEF ( Library Exchange Format):
● We can also simplify Library Exchange Format (LEF) as a physical library,
which contains the pin information, metal layer information, size of
standard cells etc.
LEF doesn’t contain the internal information of a standard cell.
LEF is actually the abstract view of a standard cell.
● In abstract view there is no base layer information.
● To reduce the complexity LEF file can be divided into two parts:
Note: When reading in LEF files, always read in the technology LEF file first.
Managing LEF Files:
A technology LEF file contains all the technology information of a design
structures, such as placement and routing design rules, process information for
layers and limits of an ASIC design targeted to specific process technology.
● The version statement indicates which LEF syntax is used to generate the
LEF file. i.e. VERSION 5.6, VERSION 5.7
● If BUSBITCHARS is not specified in the LEF file, the default value is “[]”.
LEF File Syntax:
Divider Character: [DIVIDERCHAR "character" ;]
Units:
Property Definition:
● Cut(via cut) layers are defined by assigning names and design rules.
● Defines the Implant layer in the design. For each layer, name, space and
width are defined. Space and width are the factors that affect the legal cell
placement.
● Masterslice(non-routing) layers are defined as well in the layer part. Master
slice layers are basically polysilicon layers.
LEF File Syntax:
Via: This statement defines Via’s which are
used for signal routing. By default, via is
using three layers: cut layers, Routing,
Masterslice.
● Die size
● Row information
● Tracks information
● Connectivity
● Physical location of cells and macros
● Floorplanning information
● Blockages information
● Pin information
● Signal & power routing etc
DEF file syntax:
Same as LEF syntax
DEF file syntax:
Design: DESIGN designName ;
Note: LEF dbuPerMicron is not same as DEF dbuPerMicron. The LEF dbuPerMicron
must be greater than or equal to the DEF dbuPerMicron, otherwise you can get
round-off errors.
DEF file syntax:
Property Definition:
Die Area:
Row:
GCell Grid:
● The design is divided into small boxes, each small box is considered as
GCell.
● This statement defines the gcell grid for
a standard cell based design.
DEF file syntax:
Via:
Regions:
Pins:
● All the pin information, pin name with corresponding net name are defined.
Blockages:
Nets:
● Scan chains are a collection of flip-flop cells that contain both scan-in and
scan-out pins. These pins are defined in the Pins section.
● Those chains are defined here.
End
Captable :
● Cap table is a table for capacitance values and have a basic and extended cap
tables for all capacitances such as coupling, fringe and area capacitance.
In extended captable basic info of capacitance for each metal layer has given with
some limited spacing and width values in cap table.
If the extraction engine is not able to see a value for capacitance for a particular net
while extracting (means if the capacitance value is not within the range of given values of
spacing and width defined in basic cap table) it calculates from the extended cap table.
Example (Extended Captable) :
CDB file (Celtic Database file) :
For signal integrity analysis beside lib files the tool required the .cdb files also.
What is SDC?
There is a common format, for constraining the design, which is supported by
almost all the tools, and this format is called SDC - Standard Design Constraints
format.
Why we need SDC?
Standard Design Constraint is a format used to specify the design intent,
including the timing, power and area constraints for a design.
The rules that are written are referred to as constraints and are essential to
meet designs goal in terms of Area, Timing and Power to obtain the best
possible implementation of a circuit.
SDC (Standard Design Constraint ) :
We can specify these constraints based on the utilization, aspect ratio, and
dimensions of the die.