在DC中使用tcl脚本综合和Formality一致性检查
Design Compiler工艺库的更换
通过上一节的基本操作,我们学会了如何使用design compiler综合一个电路,但是由于centos自带的库class中没有寄存器的相关映射,而导致综合失败,因此在eetop论坛上下载了新的库smic180,这个库需要的东西应有尽有完全可以满足此次实验内容要求:
因为工艺角的不同,区分为FF SS TT,这次就使用tipical当做库文件,相应的,我们在索引地址设置为新的库:
这次直接采用tcl脚本的方式来进行dc综合,脚本基本上没有任何变化,只是将周期设置为了10ns,没有设置最大扇出约束,像实验这样的小电路不用设置全部的DRC,在脚本文件打开终端输入source calendar.tcl即可执行tcl脚本文件。下面是时序报告和面积报告:
在时序报告中slack值为正,满足时序,面积报告相较于上一节大很多是因为换了工艺库,模型面积不同。最后综合完成也没有报错宣告综合结束。可以进行下一步一致性检查。
Formality一致性检查
一致性检查的作用是将dc综合后的网表文件和之前的rtl文件进行功能性对比,检查两者是否一致。
上图是一致性检查的脚本文件,通过脚本我们可以看到,
- 首先设置dc的地址。
- 其次读入Verilog文件,在这里library directory选择为rtl代码的文件夹地址,点击add,在选择library extension,输入 .v ,点击add,即可变成下图中效果,加载文件后设置为顶层模块。
- 接下来读入综合后的网表文件,以及工艺库文件,设置好顶层模块后就可以直接match和verify。(匹配时有没有读到的点是因为rtl设计中存在没有跑过的线)
最后我们可以在formality图形界面的命令栏中输入:history >calendar.fms生成脚本文件calendar.fms。方便以后直接运行脚本文件执行一致性检查。formality执行脚本文件的方法有二:
- 直接在终端输入 fm_shell –f calendar.fms
- 在formality图形界面的命令栏中输入:source calendar.fms
相关文章:
在CentOS中使用Design Compiler (DC) 图形界面/tcl脚本进行电路综合