File Formats
File Formats
FILES:
1. .LIB
2. .LEF
3. .DEF
4. .GDS II
5. .SPEF
6. PV RULE DECKS
1. . LIB
Contents:
Operating Conditions
It contains operating conditions like BC, WC, Typical, which are based on PVT (Process
Voltage Temperature) condition.
wire_load_table (WLM)
You can use the wire_load_table to estimate accurate connect delay. This WLM is more
flexible, because wire capacitance and resistance no longer have to be strictly
proportional to each other.
Control parameters
Delay values will be captured in terms of TLU (table look-up model) based on the input
transition versus output load.
Cell Name
Area
Power
Functionality
Delay
Maximum capacitance
Maximum transition
Power
Switching Power: power is calculated when input and output transition occurs.
Leakage Power: due to diffusion to substrate current and transistor current in non-
conducting mode.
Internal Power: This power is calculated when input is changing and output is not
changing.
Maximum capacitance
Maximum transition
library ("cs104mn_uc_aob_t_p25_12v") {
Cell_fall
Fall_transition
Technology LEF
Cell LEF
Macro LEF
Technology LEF: A technology LEF file contains all of the LEF technology information
for a design, such as placement and routing design rules, and process information for
layers. A technology LEF file can include any of the following LEF statements:
Cell LEF: A cell library LEF file contains the standard cell information for a design. A
library LEF file can include any of the following statements:
Macro LEF: A Macro library LEF file contains the Macro information which includes
the following statements:
Macro dimensions
Metal layer information like how many layers used in this macro
Direction of the pins
Blockage information.
Same-Net Spacing
SPACING
SAMENET layerName layerName minSpace [STACK] ; ...
END SPACING
Defines the same-net spacing rules. Same-net spacing rules determine minimum
spacing between geometries in the same net and are only required if same-net spacing
is smaller than different-net spacing, or if vias on different layers have special
stacking rules. These specifications are used for design rule checking by the routing and
verification tools. Spacing is the edge-to-edge separation, both orthogonal and diagonal.
Macro Pin Statement
PIN pinName
FOREIGN foreignPinName [STRUCTURE [pt [orient] ] ] ;
[DIRECTION {INPUT | OUTPUT [TRISTATE] | INOUT | FEEDTHRU} ;]
[USE { SIGNAL | ANALOG | POWER | GROUND | CLOCK } ;]
[SHAPE {ABUTMENT | RING | FEEDTHRU} ;]
[MUSTJOIN pinName ;]
{PORT
[CLASS {NONE | CORE} ;]
{layerGeometries} ...
END} ...
END pinName]
EG:
MACRO dpram_4096x32
CLASS BLOCK ;
FOREIGN dpram_4096x32 0 0 ;
ORIGIN 0.000 0.000 ;
SIZE 1797.220 BY 879.720 ;
SYMMETRY X Y R90 ;
PIN A1[2]
DIRECTION INPUT ;
ANTENNAPARTIALMETALSIDEAREA 10.536 LAYER M3 ;
ANTENNADIFFAREA 0.001 LAYER M3 ;
ANTENNAPARTIALCUTAREA 0.068 LAYER V3 ;
ANTENNAGATEAREA 0.671 LAYER M3 ;
PORT
LAYER M2 ;
RECT 904.740 0.000 905.020 0.740 ;
LAYER M3 ;
RECT 904.740 0.000 905.020 0.280 ;
END
END A1[2]
PIN A1[3]
DIRECTION INPUT ;
ANTENNAPARTIALMETALSIDEAREA 5.576 LAYER M3 ;
ANTENNADIFFAREA 0.001 LAYER M3 ;
ANTENNAPARTIALCUTAREA 0.068 LAYER V3 ;
ANTENNAGATEAREA 0.671 LAYER M3 ;
PORT
LAYER M2 ;
RECT 904.180 0.000 904.460 0.740 ;
LAYER M3 ;
RECT 904.180 0.000 904.460 0.280 ;
END
Tech LEF:
LAYER M1
TYPE ROUTING ;
WIDTH 0.230 ;
SPACING 0.230 ;
SPACING 0.6 RANGE 10.0 35.0 ;
SPACING 0.6 RANGE 35.001 100000.0 ;
PITCH 0.560 ;
DIRECTION HORIZONTAL ;
CAPACITANCE CPERSQDIST 3.84e-05 ;
RESISTANCE RPERSQ 12.0e-2 ;
EDGECAPACITANCE 9.02e-05 ;
HEIGHT 1.135 ;
THICKNESS 0.53 ;
AREA 0.202 ;
MINIMUMCUT 2 WIDTH 1.40 ;
AntennaSideAreaRatio 400 ;
AntennaDiffSideAreaRatio PWL ( ( 0 400 ) ( 0.203 400 ) ( 0.204 2281.6 ) ( 1 2600 ) ) ;
END M1
MACRO xr03d7
CLASS CORE ;
FOREIGN xr03d7 0 0 ;
ORIGIN 0.000 0.000 ;
SIZE 13.440 BY 5.600 ;
SYMMETRY X Y R90 ;
SITE CoreSite ;
PIN Z
DIRECTION OUTPUT ;
ANTENNADIFFAREA 4.960 LAYER M1 ;
PORT
LAYER M1 ;
RECT 10.880 2.660 13.320 2.900 ;
RECT 12.900 1.230 13.320 2.900 ;
RECT 9.340 1.230 13.320 1.470 ;
RECT 10.880 2.660 11.120 4.340 ;
RECT 9.490 3.520 11.120 3.760 ;
END
END Z
PIN A3
DIRECTION INPUT ;
ANTENNAGATEAREA 0.394 LAYER M1 ;
PORT
LAYER M1 ;
RECT 0.620 2.670 1.060 3.580 ;
END
3. SPEF:
SPEF stands for Standard Parasitic Exchange Format. It contains the parasitics extracted
from the layout. PD Engineers needs this information to do post layout STA.
Header Information
The header section is 14 lines containing information about
– the design name,
– the parasitic extraction tool,
– naming styles
– and units.
When reading SPEF, it is important to check the header for units as they vary across
tools. By default, SPEF from Astro will be in pF and kOhm while SPEF from Star-RCXT will
be in fF and Ohm.
Port Section
The port section is simply a list of the top level ports in a design. They are also annotated
as input, output or bidirect with an I, O or B. For example:
*PORTS
*1 I
*2 I
*3 O
*4 O
*5 O
*6 O
*7 O
*8 B
*9 B
Parasitics
Each extracted net will have a *D_NET section. This will usually consist of a *D_NET line,
a *CONN section, a *CAP section, *RES section and a *END line.
*D_NET regcontrol_top/GRC/n13345 1.94482
*CONN
*I regcontrol_top/GRC/U9743:E I *C 537.855 9150.11 *L 3.70000
*I regcontrol_top/GRC/U9409:A I *C 540.735 9146.02 *L 5.40000
*I regcontrol_top/GRC/U9407:Z O *C 549.370 9149.88 *D OR2M1P
*CAP
1 regcontrol_top/GRC/U9743:E 0.936057
2 regcontrol_top/GRC/U9409:A regcontrol_top/GRC/U10716:Z 0.622675
3 regcontrol_top/GRC/U9407:Z 0.386093
*RES
1 regcontrol_top/GRC/U9743:E regcontrol_top/GRC/U9407:Z 10.7916
2 regcontrol_top/GRC/U9743:E regcontrol_top/GRC/U9409:A 8.07710
3 regcontrol_top/GRC/U9409:A regcontrol_top/GRC/U9407:Z 11.9156
*END
The *D_NET line tells the net name and the net's total capacitance. This capacitance will
be the sum of all the capacitances in the *CAP section.
*CONN Section
The *CONN section lists the pins connected to the net. A connection to a cell instance
starts with a *I. A connection to a top level port starts with a *P.
The syntax of the *CONN entries is:
*I <pin name> <direction> *C <xy coordinate> <loading or driving information>
CAP Section
The *CAP section provides detailed capacitance information for the net. Entries in the
*CAP section come in two forms, one for a capacitor lumped to ground and one for a
coupled capacitor.
A capacitor lumped to ground has three fields,
an identifying integer,
a node name and
the capacitance value of this node
E.g
1 regcontrol_top/GRC/U9743:E 0.936057
A coupling capacitor has four fields,
an identifying integer,
two node names and
The values of the coupling capacitor between these two nodes
E.g
2 regcontrol_top/GRC/U9409:A regcontrol_top/GRC/U10716:Z
0.622675
If netA is coupled to netB, the coupling capacitor will be listed in each net's *CAP
section.
RES Section
The *RES section provides the resistance network for the net.
Entries in *RES section contain 4 fields,
an identifying integer,
two node names and
the resistance between these two nodes.
E.g
1 regcontrol_top/GRC/U9743:E regcontrol_top/GRC/U9407:Z 10.7916
The resistance network for a net can be very complex. SPEF can contain resistor loops or
seemingly ridiculously huge resistors even if the layout is a simple point to point route.
This is due how the extraction tool cuts nets into tiny pieces for extraction and then
mathematically stitches them back together when writing SPEF.
4. DEF:
PROPERTYDEFINITIONS
COMPONENTPIN designRuleWidth REAL ;
DESIGN FE_CORE_BOX_LL_X REAL -2749.680 ;
DESIGN FE_CORE_BOX_UR_X REAL 2750.000 ;
DESIGN FE_CORE_BOX_LL_Y REAL -2719.680 ;
DESIGN FE_CORE_BOX_UR_Y REAL 2720.000 ;
END PROPERTYDEFINITIONS
- via45Array_265
+ VIARULE via45Array
+ CUTSIZE 260 260
+ LAYERS M4 V5 M5
+ CUTSPACING 290 290
+ ENCLOSURE 220 245 220 245
+ ROWCOL 36 27
;
REGIONS 7 ;
- *********** ( 2210240 -2708480 ) ( 2466160 -2658080 ) ;
END REGIONS
COMPONENTS ****
- ******** + PLACED ( -1125120 -1118080 ) S
;
END COMPONENTS
END DESIGN;
DEF Routing
GDS II stream format, is a database file format which is the industry standard for data
exchange of integrated circuit or IC layout artwork. It is a binary file format representing
planar geometric shapes, text labels, and other information about the layout in
hierarchical form.
GDS II files are usually the final output product of the IC design cycle and are given to
IC foundries for IC fabrication.
a) LEF layer name: Specifies a LEF layer from the LAYER statement in the
LEF technology file.
b) COMP: Specifies component outlines.
c) DIEAREA: Specifies the chip boundary.
d) NAME: Specifies a text label for the layer name and associated object
type.
3. layer Number: Specifies the GDSII layer number. The number must be an
integer between 1 and 65535.
4. data Type: Specifies the GDSII data type. The data type must be an
Integer between 0 and 65535.
Example of a gds file:
METAL1 NET 1 0
METAL1 SPNET 999 0
METAL1 PIN 1000 0
METAL1 LEFPIN 2000 0
METAL1 FILL 3000 0
METAL1 VIA 4000 0
METAL1 VIAFILL 5000 0
METAL1 LEFOBS 10000 0
NAME METAL1/NET 20000 0
Object Count
----------------------------------------
Instances 625477
Ports/Pins 73
metal layer M3 44
metal layer M5 29
Nets 2921470
metal layer M1 15506
metal layer M2 1440283
metal layer M3 1036845
metal layer M4 307679
metal layer M5 85242
metal layer TOP_M 35915
6. PV RULE DECKS
Rule decks we have in PV are:
DRC Rule deck
LVS Rule deck
Control Settings
Input , output Variables
Layer Mapping
Control Setting
Control Setting or Optional setting customize the general purpose rule specific to design
needs.
Eg:
Example:
Rule deck has foundry/process specific layer mapping definitions to extract drawn layer
geometries from input GDSII
Example:
Rule check statements are active entities of DRC, whereas layer definitions are passive.
The output from a rule check statement can consist of derived polygon layers, derived
edge layers, or derived error layers, or combinations of the three
G.2.METAL5i { @ METAL5i shapes with acute angles between line segments are not allowed.
G.2.M5SLOTi { @ M5SLOTi shapes with acute angles between line segments are not allowed.
Calibre LVS extracts nets, devices along with connectivity information from GDS( as
defined in Rule deck) and generated spice netlist for comparison with source spice
(extracted from schematic/ verilog)
Input & Control variables
#IFDEF RC_DECK
#ELSE
#ENDIF
Connectivity Extraction
Attach
Connect
SConnect
Attach: The primary use of the Attach operation is for assigning names to extracted nets.
Eg:
SCONNECT: Establishes soft connections from an upper layer to lower layers through a
contact layer or without a contact layer.
SCONNECT A B BY CONT
SCONNECT D C
Port Texting
Text “PORT_XYZ” on 131 will treated as a PORT and will attached to net on metal1 at
location “X , Y”
property W,L,AS,AD,PD,PS,NRD,NRS
L=area(ngate_s_hvt) / W
PI_S_OD = perimeter_inside(S,nthin)
IF(PI_S_OD > 0) {
AS = area(S) * W /PI_S_OD
PS = perimeter(S) * W /PI_S_OD
PI_D_OD = perimeter_inside(D,nthin)
IF(PI_D_OD > 0) {
AD = area(D) * W /PI_D_OD
PD = perimeter(D) * W /PI_D_OD
NRS = AS / W / W
NRD = AD / W / W