PS:字丑,禁止转载。
做到了ICC workshop的第三个实验,理论与实践相结合,于是,先放一张总结图,这张总结图来自前面的博客,放在这里用来体现理论和实践的联系:
这个就是布局的理论部分,在ICC实验里面是这样子的:
主要任务就是:
·完成布局和时序优化的设置
·完成DFT和功耗优化的设置
·完成标准单元的放置(布局主要是布置宏单元)
·分析拥塞、时序和功耗
·增量放置和优化
需要准备的文件如下所示:
圈圈的是前面的步骤得到的,而方框需要我们自己书写
实验过程如下所示:
·预布置前的设置和检查:
-->调用icc,打开经过设计规划后的设计(先打开库,再打开设计单元)
-->进行时序优化控制:source scripts/opt_ctrl.tcl
-->再次进行宏单元固定、查看是否有 忽略的金属布线层、只有没有发生DRC违规验证标准单元是否可以放在某些金属层的电源网络中
-->设置一些布局间距约束、设置非默认的时钟布线约束
-->验证floorplan是否为布局做好准备
-->执行不同的预布局检查
-->检查是否有扫描链信息、没有就加载扫描链(一般需要)、查看扫描链报告
-->读入数据切换率报告、查看功耗的优化开关选项、开启功耗优化
-->保存设计
·进行布局和优化
-->进行布局(同时优化):
place_opt -area_recovery -optimize_dft -power
-->保存初次布局后的设计
-->查看拥塞、物理报告设计(单元利用率等)、质量报告(时序等信息)
-->查看功耗
-->如果前面的设计不满足设计要求,进行增量优化:
psynopt -area_recovery –power (具体的选项根据优化要求开启)
-->查看拥塞、物理报告设计(单元利用率等)、质量报告(时序等信息)
-->查看功耗
-->看是否满足,不满足在优化
-->满足设计要求后,进行保存设计
同样,这里只是了解一下流程,具体的脚本内容就不深入了解了,有时间以后再来补充吧。