当前位置:网站首页>Cadence physical library lef file syntax learning [continuous update]
Cadence physical library lef file syntax learning [continuous update]
2022-06-30 07:36:00 【Snow fish】
I am a Snow fish , a FPGA lovers , The research direction is FPGA Architecture exploration .
Official account , Pull you in “IC Design communication group
”.
List of articles
One 、LEF brief introduction
LEF yes Library Exchange Format Abbreviation , Describes the library information of the design , The library data includes layer、via、placement site type 、macro cell Definition .
1.1 General rules
- Identifier such as net name 、cell name Are limited to 2048 Within characters
- Distance is defined in microns .
- The distance accuracy is determined by
UNITS
Statement control - LEF The statement is semicolon (
;
) ending . There must be a space between the last character of the statement and the semicolon .
1.2 management LEF file
Can be in a LEF The file defines all the library information required for the design ; But doing so will create a large file that is complex and difficult to manage . So you can split the library information into two files , One is “technology
”LEF file , The other is “cell library
”LEF file .
- technology LEF file: process LEF The document contains all process information of the design , For example, layout and routing design rules and layer processing information . One technology LEF The file can include any of the following LEF sentence :
[VERSION statement]
[BUSBITCHARS statement]
[DIVIDERCHAR statement]
[UNITS statement]
[MANUFACTURINGGRID statement]
[USEMINSPACING statement]
[CLEARANCEMEASURE statement ;]
[PROPERTYDEFINITIONS statement]
[FIXEDMASK ;]
[LAYER (Nonrouting) statement
| LAYER (Routing) statement] ...
[MAXVIASTACK statement]
[VIA statement] ...
[VIARULE statement] ...
[VIARULE GENERATE statement] ...
[NONDEFAULTRULE statement] ...
[SITE statement] ...
[BEGINEXT statement] ...
[END LIBRARY]
- cell library LEF file : Cell library LEF The file contains the macro and standard unit information required for the design .
library LEF The file can contain any of the following LEF sentence :
[VERSION statement]
[BUSBITCHARS statement]
[DIVIDERCHAR statement]
[VIA statement] ...
[SITE statement]
[MACRO statement
[PIN statement] ...
[OBS statement ...] ] ...
[BEGINEXT statement] ...
[END LIBRARY]
notes : Read LEF When you file , Must read first technology LEF file, Because in cell library LEF file Will be used in
technology LEF file Some library information defined .
Two 、Layer (Cut)
Define each by assigning names and design rules cut
layer . Every cut Layers must be defined separately . Define layers from the bottom up order . for example :
poly masterslice
cut01 cut
metal1 routing
cut12 cut
metal2 routing
cut23 cut
metal3 routing
This should be easy to understand for friends who have made territory , Namely poly + via + metal1 + via1 + metal2 + via2 +… Multi stack ,cut Layers are actually used to define vias Of .
grammar :
LAYER layerName
TYPE CUT ;
[MASK maskNum ;]
[SPACING cutSpacing
[CENTERTOCENTER]
[SAMENET]
[ LAYER secondLayerName [STACK]
| ADJACENTCUTS {
2 | 3 | 4} WITHIN cutWithin [EXCEPTSAMEPGNET]
| PARALLELOVERLAP
| AREA cutArea
]
;] ...
[SPACINGTABLE ORTHOGONAL
{
WITHIN cutWithin SPACING orthoSpacing} ... ;]
[ARRAYSPACING [LONGARRAY] [WIDTH viaWidth] CUTSPACING cutSpacing
{
ARRAYCUTS arrayCuts SPACING arraySpacing} ... ;]
[WIDTH minWidth ;]
[ENCLOSURE [ABOVE | BELOW] overhang1 overhang2
[ WIDTH minWidth [EXCEPTEXTRACUT cutWithin]
| LENGTH minLength]
;] ...
[PREFERENCLOSURE [ABOVE | BELOW] overhang1 overhang2 [WIDTH minWidth] ;] ...
[RESISTANCE resistancePerCut ;]
[PROPERTY propName propVal ;] ...
[ACCURRENTDENSITY {
PEAK | AVERAGE | RMS}
{
value
| FREQUENCY freq_1 freq_2 ... ;
[CUTAREA cutArea_1 cutArea_2 ... ;]
TABLEENTRIES
v_freq_1_cutArea_1 v_freq_1_cutArea_2 ...
v_freq_2_cutArea_1 v_freq_2_cutArea_2 ...
...
} ;]
[DCCURRENTDENSITY AVERAGE
{
value
| CUTAREA cutArea_1 cutArea_2 ... ;
TABLEENTRIES value_1 value_2 ...
} ;]
[ANTENNAMODEL {
OXIDE1 | OXIDE2 | OXIDE3 | OXIDE4} ;] ...
[ANTENNAAREARATIO value ;] ...
[ANTENNADIFFAREARATIO {
value | PWL ( ( d1 r1 ) ( d2 r2 ) ...)} ;] ...
[ANTENNACUMAREARATIO value ;] ...
[ANTENNACUMDIFFAREARATIO {
value | PWL ( ( d1 r1 ) ( d2 r2 ) ...)} ;] ...
[ANTENNAAREAFACTOR value [DIFFUSEONLY] ;] ...
[ANTENNACUMROUTINGPLUSCUT ;]
[ANTENNAGATEPLUSDIFF plusDiffFactor ;]
[ANTENNAAREAMINUSDIFF minusDiffFactor ;]
[ANTENNAAREADIFFREDUCEPWL
( ( diffArea1 diffAreaFactor1 ) ( diffArea2 diffAreaFactor2 ) ...) ; ]
END layerName
example :
LAYER mcon
TYPE CUT ;
WIDTH 0.17 ; # Mcon 1
SPACING 0.19 ; # Mcon 2
ENCLOSURE BELOW 0 0 ; # Mcon 4
ENCLOSURE ABOVE 0.03 0.06 ; # Met1 4 / Met1 5
ANTENNADIFFAREARATIO PWL ( ( 0 3 ) ( 0.0125 3 ) ( 0.0225 3.405 ) ( 22.5 408 ) ) ;
DCCURRENTDENSITY AVERAGE 0.36 ; # mA per via Iavg_max at Tj = 90oC
END mcon
There are many grammars involved here , I will not explain them one by one , When we use it later , Update again , First, explain the above examples .
sentence | describe |
---|---|
WIDTH | Through hole width ( Square ) |
SPACING | Minimum spacing between through holes |
ENCLOSURE | BELOW : Specifies the minimum distance between the through hole boundary and the adjacent metal layer boundary below ABOVE: Specifies the minimum distance between the through hole boundary and the upper adjacent metal layer boundary |
Look at the picture to explain , The width of the through hole refers to the middle square in the figure above ( It's a bit like a rectangle ) Width ,overhang1
It refers to the distance between the left and right sides of the through hole and the metal boundary ,overhang2
It refers to the distance between the upper and lower sides of the through hole and the metal boundary .
and SPACING
Is the spacing between the through holes .
3、 ... and 、Layer(Masterslice or Overlap)
Define... In the design MasterSlice
( Non wiring ) or overlap
layers. Masterslice layers Usually polysilicon layer , Only when the macro cell is on the polysilicon layer pins Will be defined .
grammar :
LAYER layerName
TYPE {
MASTERSLICE | OVERLAP} ;
[MASK maskNum ;]
[PROPERTY propName propVal ;] ...
[PROPERTY LEF58_TYPE
"TYPE [NWELL | PWELL | ABOVEDIEEDGE | BELOWDIEEDGE | DIFFUSION | TRIMPOLY | TRIMMETAL | REGION] ];" ;
[PROPERTY LEF58_TRIMMEDMETAL
"TRIMMEDMETAL metalLayer [MASK maskNum] ]; " ;
END layerName
sentence | describe |
---|---|
LAYER layerName | Specify the name of the layer . This name will be used later when referencing this layer . |
TYPE | Specify the purpose of the layer , There are two kinds of - MASTERSLICE : Layer fixed in base array . If pins Appear in the MASTERSLICE Layer , Must define vias To allow the router to connect those pin And the first wiring layer .Masterslice Layers are not allowed to be used for wiring . stay MASTERSLICE A must be defined between the layer and the adjacent wiring layer cut layer - OVERLAP: Layer for line block overlap check . |
example :
LAYER nwell
TYPE MASTERSLICE ;
PROPERTY LEF58_TYPE "TYPE NWELL ;" ;
END nwell
LAYER pwell
TYPE MASTERSLICE ;
PROPERTY LEF58_TYPE "TYPE PWELL ;" ;
END pwell
边栏推荐
- Basic knowledge points
- right four steps of SEIF SLAM
- Introduction to ecostruxure (1) IEC61499 new scheme
- Final review -php learning notes 6- string processing
- 2022 Research Report on China's intelligent fiscal and tax Market: accurate positioning, integration and diversity
- NMOS model selection
- Commands and permissions for directories and files
- TC397 QSPI(CPU)
- 2022 retail industry strategy: three strategies for consumer goods gold digging (in depth)
- Sublime text 3 configuring the C language running environment
猜你喜欢
Dynamic memory management
Deloitte: investment management industry outlook in 2022
C language implementation sequence stack
期末复习-PHP学习笔记11-PHP-PDO数据库抽象层.
Matter protocol
Examen final - notes d'apprentissage PHP 3 - Déclaration de contrôle du processus PHP
Network security and data in 2021: collection of new compliance review articles (215 pages)
Final review -php learning notes 11-php-pdo database abstraction layer
视频播放器(一):流程
STM32 register
随机推荐
Account command and account authority
Stm32g0 porting FreeRTOS
期末复习-PHP学习笔记3-PHP流程控制语句
MCU essay
Local unloading traffic of 5g application
Basic operation command
模拟接口没声明异常抛出异常
期末复习-PHP学习笔记8-mysql数据库
Detailed methods for copying local computer files to virtual machine system
期末複習-PHP學習筆記3-PHP流程控制語句
实验一、综合实验【Process on】
Basic theory of four elements and its application
Parameter calculation of deep learning convolution neural network
Label the picture below the uniapp picture
Examen final - notes d'apprentissage PHP 3 - Déclaration de contrôle du processus PHP
Disk space, logical volume
The most convenient serial port screen chip scheme designed at the charging pile in China
Basic knowledge points
Record the problem that the system file cannot be modified as an administrator during the development process
Next initializesecuritycontext failed: unknown error (0x80092012) - the revocation function cannot check whether the certificate is revoked.