Encounter 做 ECO 的方法
Athor:王超
最近做完了数字前端的设计内容,开始着手后端设计,其中遇到许多问题,
一路走下来,有很多心得,在这总结一下。
我的设计 flow 如下图。
.v文件
DC
Synthesis
ECO
Enocunter
P&R
StarRC
Extraction
PT
STA
Timing Met
NO
YES
Modelsim
Post Sim
.sdf文件
本文我只介绍用 PT 进行完 STA 得到 eco_changes.tcl 文件后如何返回
Encounter 进行 ECO 的方法,我在这个问题上着实卡了好久,因为 PrimeTime 是
Synopsys 的工具,所以它输出的 eco_changes.tcl 语法是符合 Synopsys 的 EDA 工
具的,而不能直接在 Encounter 中运行,PT 运行时,我选择最终生成 text 格式的
eco_changes.tcl,此处我只选择其中的两行进行介绍。
Change list, formatted as text:
1. size_cell in CHAN_FIR_INST: 'U127' sized to 'NOR2BX4M'
2. insert_buffer in BB_ISO_INST/INTF_CTRL_INST: added one 'CLKBUFX4M' 'A' to 'Y'
on pin 'cnt_byte_reg_O_/Q' named 'net1' 'U1'
上面 1.句的意思是将 CHAN_FIR_INST/U127 当前所用的 cell 改成 NOR2BX4M,
即进行尺寸的调节。
上面 2.句的意思是在 BB_ISO_INST/INTF_CTRL_INST/cnt_byte_reg_O_的输出端
口 Q 后加一个 CLKBUFX4M 来增加驱动能力,CLKBUFX4M 的输入为 A,输出为 Y,
Y 的输出定义新的 net 名 net1,新增加的 CLKBUFX4M 命名为 U1。
接下来的问题就是如何在 Encounter 中实现上述的变化,我们可以通过两种
办法解决:1 在 Encouter 的图形界面通过菜单栏>>Timing>>Interactive ECO 进行操
作;2 在命令窗口运行脚本实现。
第 1 种方法是完全手动,操作起来比较费时间,此处不做想写介绍,以下介
绍第 2 种方法。
新建一个脚本文件,因为 eco_changes.tcl 中只牵扯到了更改 cell 尺寸和添加
cell 的操作,所以只用到两组命令,先写脚本内容如下:
ecoChangeCell ‐inst CHAN_FIR_INST/U127 ‐cell NOR2BX4M //改变 cell 尺寸
ecoAddRepeater ‐cell CLKBUFX4M ‐net [] //插入 buffer
...
按照上述的语法格式把 eco_chages.tcl 中所有建议的 cell 操作写完,上面的[]
处应该用要插入 buffer 处的线网名代替,因为此时我们还不知道线网的名字,所
以此处先空着,等把所有的命令写完以后再到 Encounter 图形界面使用菜单栏
的>>Edit>>Find/Select Object 查找欲插入 buffer 的线网名,再逐一填入上述[]处。
以上面第 2 句为例,操作方法为:在查找对话框里选择 Object Type 为 Instance,
Property 为 Name( 按 例 化 名 进 行 查 找 ) , 查 找 的 名 字 为
BB_ISO_INST/INTF_CTRL_INST/ cnt_byte_reg_O_,然后点击 Find,会在对话框下面
显示查找的结果,然后点亮并放大,回到版图中可以看到 cnt_byte_reg_O_这个
cell,因为要在其输出端 Q 之后加一个 buffer,所以点击 cnt_byte_reg_O_/Q 端口
看一下 cnt_byte_reg_O_/Q 所连接的线网名(为了便于观察,在查看线网名之前先
选 择 Layers 不 可 视 ) , 可 以 看 到 此 处 线 网 名 为
BB_ISO_INST/INTF_CTRL_INST/cnt_byte[4],将此线网名填入到脚本命令的[]处,脚
本内容变为:
ecoChangeCell ‐inst CHAN_FIR_INST/U127 ‐cell NOR2BX4M
ecoAddRepeater ‐cell CLKBUFX4M ‐net BB_ISO_INST/INTF_CTRL_INST/cnt_byte[4]
...
所有线网名填入后,脚本文件建立完成,命名为 eco_cncounter.tcl,在
Encounter 的命令窗口 Source 一下这个脚本文件,便可完成 Encounter 下的 ECO,
ECO 之后可以选择重新布线,最后插入 Filler,直到导出 GDSII 文件,Encounter
的 P&R 工作宣告完成。
注:以上内容只是本人的一家之言,仅供参考。