EDA 学习笔记之 def 文档笔记1:基础介绍

@

def 文件介绍

DEF: Design Exchange Format , 描述了数字电路在布局布线后的连接关系和位置关系,是将数字实现前后端连接起来的桥梁。

目前常用的 def version 是 5.8,限制为:

  • 标识符的长度不能超过 2048 个字符,如 net 跟 cell 的名字,通常如果设计中的某些 cell 名字太长,在综合结束后都会做 change_name 的动作,将其名字长度限定在 2048 个字符之内;
  • DEF 中的声明都是以";" 结束,而且必须在";"前加一个空格;
  • DEF 中每个 section 都只能指定一次,而且以"END SECTION" 结尾,DEF 文件通常都比较大,在拿到 DEF 后可以用『 grep END 』来 check 在当前的 DEF file 中定义了哪些 Section;
  • DEF 中,除了 NETS section 中 + ORIGINAL 之外,所有的 objects 必须先定义后使用,其中一部分 objects 从 netlist 中读入,一部分 objects 从 techlef/lef 中读入,一部分 objects 在 DEF 中定义。

基本定义

image

上述图片中定义如下内容:

  • DEF 的版本号,此处为5.8;
  • 定义分割符;
  • 总线比特符;
  • 设计名;
  • Units distance microns, 此处为 2000(表示 1um=2000units)。

在 Properties 部分定义 DEF 用到的所有 Property, 同时 Core2Die 的距离也在 Properties 部分定义,到目前为止除了7nm H300 其他工艺对 Core2Die 的距离无特殊要求,7nm H300 有特别具体的要求,否则会出现 Track 偏移的问题。

image

DIEAREA : 定义Die Area的面积(单位是db unit)
DIEAREA 定义了当前设计的形状及大小,如果是矩形为两个坐标,如果是多边形会有一串坐标。对应的坐标值除以Units distance microns 中 units 的值即为实际的距离。

所有的 std cell 都需要摆放在 ROW 上,所以在 DEF 中需要将所有用到的 SITE 都定义全,SITE 从 Tech lef 中读入。
ROW row_6 siteA 1000 1000 N DO 1 BY 10 STEP 0 900
row_6: Row 的名字
siteA: 构成 Row 的 site 名字
1000 1000 : 第一个 Row 的起始位置
DO 1 BY 10: X,Y 方向重复创建的 Row 的个数
STEP 0 900: X,Y ROW 的间隔

TRACKS Y 9000 DO 187 STEP 9000 LAYER M5
Y: TRACK 的方向
9000:TRACK 的起始位置
DO:TRACK 的数目
STEP: 相邻间隔
LAYER: 使用的层数

GCELLGRID:GCELL 是 routing 的时候计算 congestion 用的,把整个版图分为一个个格子; 然后给每个格子分配 routing resource,和需要穿过该 gcell 的 net 来对比,分配 routing resource 和计算 congestion。
GCELLGRID X -10 DO 2 STEP  2290
X: GCELLGRID 方向
-10:起始位置
DO:复制个数
STEP:相邻间隔

VIAS 定义

- myUnshiftedVia
  + VIARULE myViaRule
  + CUTSIZE 20 20                            # xCutSize yCutSize
  + LAYERS metal1 cut12 metal2
  + CUTSPACING 30 30                    # xCutSpacing yCutSpacing
  + ENCLOSURE 20 50 50 20            # xBotEnc yBotEnc xTopEnc yTopEnc
  + ROWCOL 2 3 ;
  + ORIGIN 10 -10
  + OFFSET 0 0 20 -20

image

NDR 定义

NONDEFAULTRULES 5 ;
- doubleSpaceRule #Needs extra space, inherits default via rules
  + LAYER metal1 WIDTH 200 SPACING 1000
  + LAYER metal2 WIDTH 200 SPACING 1000
  + LAYER metal3 WIDTH 200 SPACING 1000 ;
END NONDEFAULTRULES

COMPONENT

COMPONENT 的定义(实例化的单元,位置信息,Placement状态等)

image

- inst_name module_name + placement status +placement_status (location)
如果是 physical cell 则或带上 SOURCE DIST
image

PINS

image

BLOCKAGES

image

SPECIAL NETS

special nets 是电源网络定义。

综合用的 DEF 不需要 signal nets, 但一定要把 Special nets 写出来,尤其对 16nm 之后的工艺结点,Special nets 会占去许多绕线资源,对 timing 跟 Congestion 都有很大影响。

image

NETS

nets 是普通信号链接关系定义

image

FILLS

image

posted @ 2025-03-26 17:22  周一上线  阅读(372)  评论(0)    收藏  举报