第二十一课: lab5&RISC8 DC & FM全流程脚本

Lab5

说明文档

-topo 物理约束

set_placement_area是用来约束芯片core面积的;create_placement_blockage的意思是该位置(即前面提到版图的左上角位置)是不允许放置cell的,是留空的;

逻辑综合脚本

此处的link就是设置link_lib的意思;

形式验证脚本

RISC8

------RISC:Reduced Instruction Set Computer,精简指令集计算机;

相关文件说明

准备的文件

首先,把需要的文件都放到我们的项目文件夹里;

  

对于rtl coding,一个项目会有很多的.v文件,我们可以用”ll *.V > syn.vf”命令把这些.v文件打包到一个文件中;

我们也需要建立一个run文件夹,专门用来运行DC使用,在该文件夹内,设置dc.setup隐藏文件;

syn.sdc约束文件

脚本文件夹内放约束文件及约束脚本,一般约束文件开头第一句都是”reset_design”,以防前面有导入一些其他的约束文件,起到一个清空重置的作用;

另外,像一些需要多次用到的变量,可以先定义一个宏变量,以便后续修改时直接修改变量值即可;

syn.tcl脚本文件

这里要提一下,svf文件在结尾处一定要加一句”set_svf -off“来进行退出关闭,不然最后得到的svf文件就是不规范的,FM工具在识别时会出错;

此处在读取rtl coding时,用的是analysis+elaborate的方法,这种方法会对导入的每个.v文件分别进行语法检查并报错,而read_verilog命令只会报一个整体的错误,当我们的.v文件比较多时,不方便我们对存在问题的.v进行定位;

在脚本文件的最后一般不建议加”exit”,因为exit后就不能继续debug了;

Formality脚本文件

fm文件夹内放形式验证脚本;

注意,我们在进行fm debuger时,只能通过GUI界面进行debug;

RISC需求说明

  

FM debug

在打开FM GUI界面后,按上述步骤进行debug;

”undriven”的意思是表明没有驱动cell,即该out是悬空的,用"X"表示;但在Ref中,”net_driver”也是表明没有驱动cell的,此处就是fm工具将rtl coding和gv里面的undriven情况区别对待导致的;--本质其实就是DC和FM中的设置没有统一,我们只需要打开"set_synopsys_auto_setup true",让FM follow DC中的设置即可;

点击”Analysis”后,工具会自动给出分析及解决办法,这里给出了两种方案,都可以使用;工具给的这两条建议就是我们说的同步DC和FM的设置问题;

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值