zoukankan      html  css  js  c++  java
  • LEF 格式

    LEF 文件是布局布线根据使用的cell 几何信息库的文件格式,下面是一个LEF文件的部分,右边是对他的解释。布局布线工具将根据LEF文件的信息决定怎样布局,怎么走线,怎样生成通孔。

    VERSION 5.5;版本说明

    NAMESCASESITIVE ON;LEF 区分格式大小写。

    BUSBITCHARS "< >";  设置定义bus标志符,端口名称为X<1>,X<2>,...X<n> 将看作bus

    UNITS

    DATABASE MICRONS 100;  设置定义1微米分成100个unit,即为单位长度的值。

    END UNITS

    LAYER metal1  设置定义层为金属1层,同时下面是对定义的金属1层的具体细节设置。

      TYPE ROUTING;   定义metal1用于routing

      WIDTH 0.10;  定义金属1层在作为布线金属时,默认线宽为0.1 um

      SPACING 0.30;    定义金属1层的走线间距为0.3um

      PITCH 1.2;  定义金属1层到通孔的距离为1.2

      DIRECTION HORIZONTAL;  金属1层走线方向为水平走线。

      CAPACITANCE CPERSQDIST 0.000140; 该设置定义每一个方块(1x1um)的电容大小。

      RESISTANCE RPERSQ 0.04;  设置每一个金属的方块电阻。

    END metal1

    LAYER via

    TYPE CUT;  定义via为布局布线下的CUT类型,即Metal1 和 Metal2 的通孔

    END via

    LAYER metal2 该设置定义金属2,与上面的金属1设置类似。

    TYPE ROUTING ;

    WIDTH 0.30 ;

    SPACING 0.30 ;

    PITCH 1.20 ;

    DIRECTION VERTICAL ; 该设置与金属1层有区别,走线方向为垂直。

    CAPACITANCE CPERSQDIST 0.000120 ;

    RESISTANCE RPERSQ 0.020000 ;

    END metal2

    VIA M1_POLY1 DEFAULE  该设置定义怎样产生通孔,这里生成默认情况下metal 与poly1 之间的通孔。这里产生的通孔在上下两层都是default width时产生的,当上下两层不是默认宽度时,有另外的规则定义。

    LAYER poly1;

    RECT -0.30 -0.30 0.3 0.3 ;  设置定义Poly1(多晶) 的形状。

    LAYER cont;

    RECT -0.15 -0.15 0.15 0.15;  设置定义cont(接触孔)的形状。

    LAYER metal1;

    RECT  -0.3 -0.3 -0.3 0.3;  设置定义metal1的形状

    END M1_POLY1

    VIA M2_M1 DEFAULT 该设置定义默认情况下metal1 与 metal2 之间的通孔。与上面通孔设置类似。

    LAYER metal1 ;

    RECT -0.30 -0.30 0.30 0.30 ;

    LAYER via ;

    RECT -0.15 -0.15 0.15 0.15 ;

    LAYER metal2 ;

    RECT -0.30 -0.30 0.30 0.30 ;

    END M2_M1

    VIA M3_M2 DEFAULT 该设置定义metal2 与 metal3 之间的通孔。

    LAYER metal2 ;

    RECT -0.30 -0.30 0.30 0.30 ;

    LAYER via2 ;

    RECT -0.15 -0.15 0.15 0.15 ;

    LAYER metal3 ;

    RECT -0.30 -0.30 0.30 0.30 ;

    END M3_M2

    VIARULE VIAGEN21 GENERATE 与前面通孔设置不同,该设置定义在非默认情况时通孔的生成规则

    LAYER metal1 ;

    DIRECTION HORIZONTAL ;

    OVERHANG 0.3 ;

    metaloverhang 0.0 ;

    LAYER metal2 ;

    DIRECTION VERTICAL ;

    OVERHANG 0.3 ;

    metaloverhang 0.0 ;

    LAYER via ;

    RECT -0.15 -0.15 0.15 0.15 ;

    SPACING 0.6 BY 0.6 ;

    END VIAGEN21

    SITE standard 该设置定义各种site,此处定义标准单元的site。

    SYMMETRY y ;

    CLASS core ;

    SIZE 1.20 BY 10.80 ;

    END standard

    SITE IO 该设置定义IO 单元的site。

    SYMMETRY y ;

    CLASS pad ;

    SIZE 21.05 BY 70.80 ;

    END IO

    SITE corner 该设置定义芯片四个拐角上的pad 的site。

    CLASS pad ;

    SIZE 70.80 BY 70.80 ;

    SYMMETRY y r90 ;

    END corner

    SITE SBlockSite 该设置定义硬核单元block 的site,用于block,如RAM/ROM, HardIP。

    CLASS core ;

    SIZE 1.00 BY 1.00 ;

    END SBlockSite

    以上LEF 定义了各种布局布线规则,工具根据这些规则进行布局布线。以上LEF即为布局布线工具使用类似工艺文件性质的LEF数据。

    下面定义各种不同cell 的几何信息,提供给布局布线工具使用。

    MACRO AOI21_B 该设置定义单元AOI21_B的LEF信息。

    ORIGIN 0.00 0.00 ; 该设置定义原点坐标。

    SIZE 6.00 BY 10.80 ; 该设置定义单元大小,单位为um

    SYMMETRY x y ; 该设置定义工具可以在x y 方向旋转摆放该单元。

    SITE standard ; 该设置定义standard site, 该设置说明该单元类型为标准单元,其他类型还有IO,则是SITE为IO。

    CLASS CORE ;该设置定义该单元是在芯片内核中使用而不是可以放置在IO的位置。

    PIN vdd! 该设置定义电源的名称 pin vdd!。

    USE POWER ; 该设置定义vdd!是用于power。

    DIRECTION INPUT ; 该设置定义vdd!是输入PIN脚。

    SHAPE FEEDTHRU ;

    PORT

    LAYER metal1 ; 该设置定义该单元的vdd! 的 形状。。

    RECT 0.00 9.15 6.00 10.65 ; 该设置定义vdd!的金属1层RECT 矩形形状参数。

    END

    END vdd!

    PIN gnd! 该设置定义地线名称 pin gnd!。

    USE GROUND ; 该设置定义gnd!用于地。

    DIRECTION INPUT ; 该设置定义gnd!是输入PIN脚。

    SHAPE ABUTMENT ;

    PORT

    LAYER metal1 ;

    RECT 0.00 0.15 6.00 1.65 ; 该设置定义gnd!的金属1层RECT 矩形形状参数。

    END

    END gnd!

    PIN Y 该设置定义PIN脚Y。

    DIRECTION OUTPUT ; 该设置定义Y 是输出端。

    PORT

    LAYER metal1 ;

    RECT 4.12 2.32 4.28 2.48 ; 该设置定义Y 在金属1层的形状。

    RECT 5.32 8.32 5.48 8.48 ;

    RECT 5.32 7.12 5.48 7.28 ;

    RECT 5.29 5.89 5.51 6.11 ;

    RECT 5.29 4.69 5.51 4.91 ;

    RECT 5.29 3.49 5.51 3.71 ;

    LAYER cont ;

    RECT 4.05 3.15 4.35 3.45 ;

    RECT 4.05 2.25 4.35 2.55 ;

    RECT 5.25 8.10 5.55 8.40 ;

    RECT 5.25 7.20 5.55 7.50 ;

    END

    END Y

    OBS 该设置定义OBStruct阻塞的参数, 即下面定义的区域不可以布线(这里是metal1)。

    LAYER metal1 ;

    RECT 5.09 1.95 5.85 2.71 ;

    RECT 5.09 3.29 5.85 3.91 ;

    RECT 5.09 4.49 5.85 5.11 ;

    RECT 5.09 5.69 5.85 6.31 ;

    RECT 5.09 6.89 5.85 7.51 ;

    LAYER via ; 该设置定义布局布线工具不可打孔的地方。

    RECT 5.28 7.08 5.52 7.32 ;

    RECT 5.28 8.28 5.52 8.52 ;

    RECT 4.08 2.28 4.32 2.52 ;

    END

    END AOI21_B

    END LIBRARY

    1, SITE

    SITE standard 该设置定义site。

    SYMMETRY y ;

    CLASS core ;

    SIZE 1.20 BY 10.80 ;

    END standard

    site 是布局布线工具识别单元中最小的几何单位,一个设计中可能有几种site,site standard 指标准单元的site,site IO 指IO pad 的site。一般说来,cell 的高度是一定的,等于site 的高度,cell 的宽度是site 的整数倍。

    2, Via rule

    通孔生成规则,布线时,不同层的线连接时需要打通孔,不同的情况需要不同的通孔生成,生成什么样的通孔由LEF 内的通孔生成规则决定。

    3, pitch

    pitch 是LEF 中一个重要的概念,它定义了将来布线的间距,它对布线的效果有很大的

    影响。pitch 就是同一层中金属的间距,布局布线是一个有网格布线器,它布线的最小网格就是1 个pitch,如下图所示。

    信号线是沿着网格走的,pitch 大于等于line to via spacing, 即保证1 个格点上走线,相邻格点打孔,孔与线的间距不违反间距规则。在多层布线中,一般定义各层pitch 相同或保持一个简单关系,如1:2,这样保证好的布线效果。pitch 的大小一定要仔细考虑。

    4, abstract

    一个cell 的完整版图包含了所有层的信息,但是在布局布线工具使用中,并不需要那么多的信息,布局布线工具只要知道pin 的位置、什么地方不能布线、等较少的信息就可以了,这样可以减少数据量,提高处理速度。

    如下图所示是一个cell 的版图(layout)和它的LEF的图形描述。布局布线将用cell 的abstract信息来布线。

     有一些专门的工具用于将cell 的完整版图转成abstract,如cadence 的abstract generator。

  • 相关阅读:
    在TNSNAMES.ORA文件中配置本机装的oracle
    Eclipse编辑jsp、js文件时,经常出现卡死现象解决汇总
    ExtJs GridPanel 给表格行或者单元格自定义样式
    Ext.core.DomQuery Dom选择器
    JavaScript 常用方法
    ExtJs Ext.data.Model 学习笔记
    JavaScript 深入理解作用域链
    Spring 网路搜集的情报
    SpringMVC 之类型转换Converter详解转载
    SpringMVC @RequestMapping 用法详解之地址映射
  • 原文地址:https://www.cnblogs.com/lelin/p/11751323.html
Copyright © 2011-2022 走看看