def文件的作用及相关操作

defin :加载一个指定的DEF文件

在引进一个设计之后,defin可以在任意步骤被使用。其典型的使用方法有:

1.加载一个由innovus或者其他工具导出的包含floorplanDEF文件

2.运行一个带有Scan chain信息的DEF文件,可以在palce阶段进行Scan chain的重新排序        

3.加载一个由innovus或者其他工具导出的包含cellpalcementroute信息的DEF文件

innovus会读取DEF文件的信息

1.Tracks, gcells, rows, die area

The software deletes all of the existing objects in the database and reads in the new information

2. Blockages, fills, special nets

软件将会与当前存在的物理信息进行比较,(例如shape and layer),如果它发现在当前DB文件中有与DEF文件相同的信息,则它会忽略此信息。如果信息并不存在,那么它会添加信息到DB文件中。

For special nets, the software merges wire segments in the DEF file with any existing ones in the database that overlap and have the same attributes, such as layer, width, shape, and direction. The software does not delete any existing data.

3.Nondefault rules(NDR), vias

The software adds the objects to the database if they do not already exist there.(不存在的会增加)

If a nondefault rules definition with the same name already exists, the software ignores the one in the DEF file.  (NDR存在 忽略)

If a via definition with the same name already exists, and the via is a fixed via, the software ignores the one in the DEF file.(Via 存在,有相同名称,且Via为fix状态,忽略)

If a generated via definition with the same name already exists, the geomoetries are read, but the name might be changed.

The software does not delete any existing objects of these types.

4.Nets

For each net in the DEF file, the software removes the existing regular routing (not special routing), then adds the routing from the DEF file for this net.(去除原来,保留DEF)

If the net has a shielding segment with self reference, defIn will ignore the check.()

5.Pins

For each pin in the DEF file, the software removes the existing physical information for the pin, then adds the physical information from the DEF file for this pin.(去除原来,保存DEF)

If a pin does not already exist, and it is a power or ground pin, the software adds it to the database.(一个PIN不存在,但它是个PG pin,则工具将会添加其至DB)

If the pin is not a power orground pin, the software generates an error message.(如果不是PG pin 则会产生错误)

6.Groups, regions

If a group name in the DEF file matches an existing hierarchical instance name in the database, the region's boundary constraint is attached to the hierarchical instance, overriding any existing boundary constraint.(DEF文件中关于 instance 的各种限制将会覆盖DB文件)

The software checks whether the group members belong to the hierarchical instance, and generates a warning message if any do not belong.(检查 group number是否属于hierarchical instance,如果不属于将会生成警告信息)

If a group name does not match any hierarchical instance name, the software creates the instance group with an attached region boundary constraint, if one exists. Regions that are not used by groups in the same DEF file are ignored.(如果一个group name并没有匹配到任何信息,软件将会。如果已经存在,Region将不会被DEF同样信息的文件所使用)

The software does not remove existing groups.

(一)摆floorplan的迭代过程中使用def文件保留上一版的工作,方便微调。

后端工作者都知道,目前的floorplan主要还是靠人工反复迭代来求得最优解,保留一些可以重复使用的数据,就能大大降低手工工作量。

a. 保留core的大小形状:

    deselectAll

    defOut -selected core.def

这样就能只保存core的形状而不包含其他信息,方便下次使用。

b. 保留block ram的位置(顶层设计可以用到):

     deselectAll

     selectInst  [dbGet [dbGet top.inists.cell.subClass block -p2].name]

     defOut -selected mem.def

同样可以保留memory的位置,下次微调时候可以直接先吃进来,再做改动,减少重复动作。

c. blockage, instance等都可以通过def的方式保留。

(二)、 powerPlan的时候需要对power net进行局部调整动作的也可以借助def

a.需要手动画ring的时候,辛苦花过一次之后,还需要画同样的多层layer,就可以使用def的方式保存第一次的,然后修改def文件里的layer层,在defIn即可

b.同一版本的floorplan,后面需要局部改动power,但是已经run到postroute,也可以使用def保存新的powerplan,在删掉route的power,吃进def,再做verify,保证没有drc就OK。

defOut、defIn只有记得verifyPowerVia,veriry_pg_short, verifyConnective等

(三)、需要比较两版enc data的instance的差异,也可以使用def

需求描述:一版data做了opt或者eco的动作,变化了大量的instance,这时候需要debug一下变换了哪些instance,把不同的instance列出来。

这个问题以前使用过方法:

a.脚本去遍历来抓取不同,但是当instance超过一定的数量级就需要耗费大量的CPU资源和时间,甚至有hang住的风险;

b.使用cat命令,抓取相同的部分,可以比较两版差异的百分比,但是较难找出不同部分;

现在就可以借助def来完成这件事。

第一步,def出数量少的那一版的instance来,叫做min.def;

第二步,从def中列出instance list,每个前面加unplace Instance的命令;

第三部,在数量多的那一版里source这个list,unplance掉相同的部分,然后在defOut出来剩下的instance,就可以得到差异的那部分的instance了

  • 5
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值