第十九课:逻辑综合输出

DC后导出文件类型

当我们运行完compile_ultra后,需要保存三类文件:网表Netlist.gv / 综合后约束文件.sdc / DFTscan链数据文件SCAN-Def.def;

此时,如果我们后面用的还是DC一家的EDA工具,那么可以直接保存综合后的.ddc打包文件就行,工具会自动把三种文件都打包放一起,后面用ICC工具时直接读取进去就行了;如果后面不是用Syn家的EDA工具了,那就需要分别保存三种格式的文件;

导出sdc问题

注意!如果后面用第三方的APR工具,那么对于DC导出的sdc文件,只能识别最基本的时序约束文件,对于一些优化命令,是无法识别的,必须要提前删除,不然会报错;

Verilog assign statements问题

一般来说,网表文件就是cell+连线,但有些时候,也会出现assign 语法代码,这时候的网表就无法被Layout工具识别了,那么怎么解决呢?

直连现象导致assign语句

我们先看assign语句是怎么产生的,当我们的RTL代码中有上面的一些情况时,综合后就会出现assign语句:①同一个output port连到了两个输出上;②从input port直连到output port,中间没有经过任何处理;③output port直连的是常量;上述三种情况在综合后的网表中就会出现assign语句,我们称这种网表为”durty netlist“;

解决方法:很简单,在这些输出前面插入一个buffer,这样就是标准的cell驱动output port了,就不会出现assign语句了;我们在综合之前,加一句语句”set_fix_multiple_ports_net -all -buffer_constants”;

三态导致assign

当RTL代码中存在三态声明时,经过综合后也会产生assign语句;解决办法很简单,在综合之后,利用”set_app_var verilogout_no_tri true“命令,将三态声明都换成wire声明,就是标准的网表形式了。

(三态其实就是一根线,所以用wire替换)

特殊字符导致网表无法识别

如上图,网表中最好只有数字&字母&下划线,但DC在输出网表时,会插入一些特殊字符,导致layout 工具无法识别;

解决办法就是在综合之后,告诉工具改变命名规则,一般就用默认的”verilog”命名规则就行了(这里的命名规则的名称就叫verilog);

总结

如上图;

  • 0
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值