ICC_标准单元放置+时钟树综合流程笔记

前言

  分享国科大《EDA工具及设计实践-数字集成电路21-22春季》课程的实验流程笔记,希望同课程的同学可以快速复现。

笔记内容

placement(标准单元的放置)

  1. 依照上述步骤,然后打开工程 file->Open Design ->选择mw目录下的文件(init_design_icc是上次操作最后保存的版本)

  1. 打开操作脚本1
vim  {your_path}/icc_2_scr/place_opt_icc.tcl
  1. 依序复制上述脚本中的命令(从第一行到倒数第N行(source …/scripts/usr_tcl/pins_placement.tcl前面那一行))至icc的gui命令行窗口中(可分步查看命令执行效果)回车执行。(中间出现了因为tie的位置而导致的错误,但通过legalize_placement -incremental 命令进行了修正)

  2. 修改…/scripts/usr_tcl/pins_placement.tcl文件中的内容,将VDD、VSS相关注释取消(推荐使用:1查找定位,2ctrl+v区块选择),操作后效果如下:

  1. 接着执行place_opt_icc.tcl脚本中的命令(如下图),看到得到的版图中IR-DROP红色部分较大,说明电压降问题严重

  1. 重新执行pins_placement.tcl脚本中的部分命令(如下图),通过添加VDD PORT来改善电压降问题

  1. 重新执行place_opt_icc.tcl脚本中的命令(如下图),查看改善后的版图信息(测压降的命令)

  1. 继续执行place_opt_icc.tcl脚本之后的命令,完成第一个脚本的运行。(期间可以使用Global Route Congestion分析阻塞:一般出现0的级别控制在5、6以下比较良好。如果阻塞严重需要修floorplan)

时钟树综合

分为三个部分,本节课完成了前两步,对应两个脚本分别是:clock_opt_cts_icc.mergesdc.tcl和clock_opt_psyn_icc.tcl

clock_opt_cts_icc.mergesdc.tcl
直接source 该脚本即可,期间没有任何错误。
clock_opt_psyn_icc.tcl

  1. 首先修改脚本/icc_all/pnr/scripts/usr_tcl/set_mmmc_libs.tcl,用vim打开,并使用以下命令替换路径(图中xxx对应文件中每个名字)
:%s/eda\/xxx\/90nm/user_zz\/pub/g
  1. 直接souce 该脚本clock_opt_psyn_icc.tcl,查看rpt目录下的违例报告all_vios.psyn1.rpt,可以看到产生了max_capacitance和max_leakage_power违例
  2. 参考《物理设计_Error合集.pdf》中方法解决max_capacitance违例问题。
  3. max_leakage_power违例本节课暂且不用解决。

参考内容

《EDA工具及设计实践-数字集成电路21-22春季》

附录

  如需了解更多实验流程,欢迎关注我的公众号“多读点书”。

  • 4
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值