第十二课:Lab1逻辑综合基本原理

实验课,但是只有视频没有相关文档,仅作为观看哈~

定位几个基本文件位置

如前一课所述,运行dc前需要把相关文件准备好:rtl coding/cons scripts/libs这几个基本文件,一般把这些基本文件复制到自己的工作目录去;

如果不清楚库文件在哪里,可以用find命令在当前及子目录下查找名称中含”.db”的文件;这样把所有库文件都找出来了,这里有io库,ram库文件,我们要的是sc(SMIC)工艺标准库;

隐藏文件设置

先找到隐藏文件,打开设置一下;打开后发现里面没有直接设置三大变量的地方,但是嵌套了两个脚本,此处可以把鼠标光标置于该位置,直接按”gf”打开当前的嵌套脚本,然后在打开的tcl文件中按”first“返回主文件;当然,也可以先退出主文件,单独打开脚本文件;

comman.tcl中都是一些用户自定义的变量,总体分为逻辑库和物理库,物理库就是我们前面所说的topo模式要用到的;后面跟的这些都要填上去,根据下面的表格填进去;那么为什么要填这些?下面给解释;

因为dc_setup.tcl中,对三大固有变量的定义,再次用了变量替换,比如把原本的search_path的list路径替换成了ADDITIONAL_SEARCH_PATH;依此类推;填完以后,就可以启动dc了;

打开dc

用户第一次用的话,可以打开图形化界面;可以用命令行导入rtl.v,也可以在图形化界面直接导入;

读取rtl coding后,工具直接就会得到gtech网表了,可以直接点开看看;该芯片包含三个模块:FSM/DECODE/COUNT;此处,可以双击3处模型图,会进一步打开各个模块的图;

进一步放大后,可以看到目前的网表用的是gtech的门;

运行综合

把约束读进去,返回值为1表示没有语法错误;

再check_timing;

可以按上图步骤查看当前运行的模块;

然后就可以开始综合了;

优化完成后,可以发现刚导入时那三个子模块不见了,只有一个顶层TOP了,这是因为工具已经把三个子模块全部优化到一起了;双击顶层的TOP,可以发现里面的各种门都混到一起了;放大发现各个门的名字也已经变成标准工艺库中的名称了;

导出并查看报告

综合结束后,就可以把报告打印出来了”report_qor”,一般来说报告会比较长,所以一般是把报告转存为一个报告文件;

报告怎么看呢?主要看三部分:Clk/cell count/Area

时序clk主要看周期Path Clk Period;时序违规Path Slack,若值为负则表示Tsetup违规;

Total Negative Slack:总的时序违规,负数表示Tsetup违规;我们的频率是达不到200M的;

然后看下cell的数量;

再看下Area面积;

构建批处理脚本

看完觉得这个报告问题不大时,就可以保存网表和ddc文件了;

我们可以把上述过程用到的命令整理成一个脚本,以后就可以不用一行行输入了;先用history把运行过的命令都显示出来;

在某个文件夹(scripts)中新建一个脚本文件,然后把前面用到的命令输入进去,在整理一下,去掉不需要的部分,最后保存得到脚本文件;

直接在打开dc_shell时,运行脚本,然后设置保存好文件,就可以直接运行了;

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值