wildgoat的个人空间 https://blog.eetop.cn/wildgoat [收藏] [复制] [分享] [RSS]

空间首页 动态 记录 日志 相册 主题 分享 留言板 个人资料

日志

[ZZ] LEF, DEF & LIB

热度 2已有 2901 次阅读| 2020-4-11 19:53 |个人分类:工艺|系统分类:芯片设计

by | Nov 2, 2017 | Random-Blogs | 4 comments

Blog Views: 43,312

Author: Ashish Kumar Sharma, Physical Design Engineer, Signoff Semiconductors

Library Exchange Format (LEF)

The LEF file is the abstract view of cells. It only gives the idea about PR boundary, pin position and metal layer information of a cell. To get the complete information about the cell, DEF (Design Exchange Format) file is required. In this 3 sections are defined, i.e. technology, site, macros. In the technology part layers, design rules, via definitions and metal capacitance are defined. In the site, site extension is defined and in the macros the information about cell description, dimension, layout of pins and blockages and capacitance are defined.

For every technology the layer and the via statements are different. So for the layer and via, the type of the layer (layer may be routing type, master slice or overlap), width/pitch and spacing, direction, resistance, capacitance, and antenna factor are defined.

Unit Definition

UNITS

DATABASE MICRONS 1000 ;

END UNITS

Values defined in file will be multiplied with UNITS. For example, if spacing is defined as 0.6, then the actual value will be 600bd (0.6 * 1000).

Manufacturing grid

MANUFACTURING GRID 0.1 ;

This is defined for the geometry alignment, once it is specified, then the cells are placed in location which is aligned to the manufacturing grid.

Implant Layer definition

This syntax 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 or Overlap Layer definition

LAYER layerName

TYPE{MASTERSLICE| OVERLAP} ;

This defines the masterslice (non routing) or overlap layers in the design. Master slice layers are basically polysilicon layers.Whenever the pins of MACROS are present on Polysilicon these layers are used.

VIA

for signal routers the VIA statement defines via’s. By default via is using three layers

1. cut layers.

2. Routing

3. Masterslice.

The routing and the master slice layers touch the cut layers.

Via Rule Generator

In order to generate the via arrays, via rule generator defines the formulas.VIARULE GENERATE statement can be used to define the special wiring which is explicitly not defined in VIARULE statement.

Same-Net Spacing

This rule determines the minimum spacing between geometries in the same net, it is only defined if the same-net spacing is less than the different net spacing.

SITE

Site specifies the region of the block like PAD and CORE, under this syntax, symmetry is also defined w.r.t. X, Y or R90 (Rotate by 90°).

Macro (Attributes of Macros are defined)

This syntax defines the detail about Macros like name, PAD detail, class size, location of endcap cells (like topright, bottom etc.) symmetry, site name, obstruction detail.

Macro Pin Statement

Defines the pins for the Macros. For each macro, Pin statements are required (all I/O pins, VDD , VSS).

Following list of pins are required

  • Power and ground pins

  • Input and Output Pins, inout and netlist pins.

  • Must Join pins

MustJoin pin

This specifies the name of the pins to be connected together.

Macro Obstruction statement

The OBS defines the group of obstruction on macros, normally this blocks the routing but in case of obstruction on pin it allows the routing.

 

DEF (Design Exchange Format)

The DEF file basically contains the placement information of macros , standard cells, I/O pins and other physical entities. The logical design data to place and route tool and takes the physical design data from place and route tool in form of DEF. The logical design data contains the internal connectivity, grouping information, and physical constraints and the physical design data contains routing geometry data, placement location and orientation. DEF is used as an input for various stages.Floorplan DEF is given at the import design stage to provide information about macro location, IO ports and block shape, SCANDEF is given at the import design stage for scan chain reordering which contains the connectivity information of scan flops and it is also an input of scan tracing stage, DEF generated by PnR is used in Star RC extraction.

In detail it contains:

  • Die Area
  • Tracks
  • Components (macros)
  • I/O Pins
  • Nets
  • Blockages
  • Halo
  • Scan Chain
  • Vias
  • Slots
  • Fills
  • Region
  • Row
  • Metal layers

Liberty Timing File (LIB)

.lib is basically a timing model contains cell delays, transition, setup and hold time requirements. CCS and NLDM techniques are used to generate .lib files. In CCS (composite current source) current source is used for driver modeling, CCS has 20 variables to account input slew and output load data where as, NLDM uses the voltage source for driver modeling and it has only 2 variables which are not sufficient for modeling the nonlinearity of any circuit. So CCS is more accurate than NLDM. Because of the difference in number of variables used in both the models, size of CCS file is 10X times larger than the NLDM file. Also the run time for CCS is more when compared to NLDM.

The design needs to be tested for certain PVT (process voltage and temperature) corners. But for every PVT corner, the timing of the cells are different. Hence there is a .lib file for every PVT corner.

In .lib file following unit attributes are present

  • Time unit
  • Voltage unit
  • Current unit
  • Leakage power unit
  • Capacitive load unit
  • Slew rate : Lower and upper limit values are defined in terms of percentage for both rise and fall time
  • Input threshold at rise and fall time
  • Output threshold for rise and fall time

Look Up table templates are defined for different parameters like delay, hold, passive energy, recovery, removal, setup, with different matrix.

For each cell (AND, NAND, Or etc..) following attributes are defined:

  • Area of cell
  • Leakage power
  • Capacitance
  • Rise and fall capacitance
  • Properties such as capacitance, direction of the pin etc. for each pin (input and output) will be defined. Further different values are characterised in matrix form, as shown in the below example.

fall_transition(delay_template_5x5) {

index_1 (“0.015, 0.04, 0.08, 0.2, 0.4”);

index_2 (“0.06, 0.18, 0.42, 0.6, 1.2”);

values ( \

“0.0606, 0.0624, 0.0744, 0.0768, 0.09”, \

“0.1146, 0.1152, 0.1164, 0.1212, 0.1314”, \

“0.201, 0.2004, 0.2052, 0.2058, 0.2148”, \

“0.48, 0.4806, 0.4812, 0.4824, 0.4866”, \

“0.9504, 0.9504, 0.9504, 0.951, 0.9534”);

Output fall transition is characterized based on output capacitance and input transition. Index_1 represents output capacitance and index_2 represents input transition . In the above example, 5 values are specified in each indexes, if a given value is not there in the list then we calculate fall transition by intrapolation or extrapolation. If the value is in between the given values of an index we go for intrapolation or else we go for extrapolation.

Like “fall transition” other parameter also calculated which are as follows:

  • Rise transition
  • Internal Power
  • Fall power
  • Rise power
  • Cell fall
  • Cell rise

Below an another example of D flip flop characterization table is given, which shows the hold falling, and setup falling is also defined in addition to the above attributes. Index_1 is corresponds to related pin transition and index_2 corresponds to constrained pin transition.

timing_type : hold_falling;

rise_constraint(hold_template_3x5) {

index_1 (“0.06, 0.3, 0.6”);

index_2 (“0.06, 0.18, 0.42, 0.6, 1.2”);

values ( \

“-0.09375, -0.0875, -0.075, -0.1125, -0.175”, \

“-0.2, -0.19375, -0.18125, -0.21875, -0.1875”, \

“-0.16875, -0.25625, -0.24375, -0.28125, -0.25”);

timing_type : setup_falling;

rise_constraint(setup_template_3x5) {

index_1 (“0.06, 0.3, 0.6”);

index_2 (“0.06, 0.18, 0.42, 0.6, 1.2”);

values ( \

“0.28125, 0.275, 0.2625, 0.3, 0.3625”, \

“0.29375, 0.2875, 0.36875, 0.3125, 0.375”, \

“0.35625, 0.35, 0.3375, 0.375, 0.4375”);

-----------------------------------------------

from: http://www.signoffsemi.com/lef-def-lib/

2

点赞

刚表态过的朋友 (2 人)

评论 (0 个评论)

facelist

您需要登录后才可以评论 登录 | 注册

  • 关注TA
  • 加好友
  • 联系TA
  • 0

    周排名
  • 0

    月排名
  • 0

    总排名
  • 0

    关注
  • 122

    粉丝
  • 42

    好友
  • 273

    获赞
  • 118

    评论
  • 22104

    访问数
关闭

站长推荐 上一条 /1 下一条

小黑屋| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-5-1 09:47 , Processed in 0.015862 second(s), 8 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
返回顶部