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);
总结
如上图;