DC综合时的set_dont_touch命令怎么不能写到sdc里面去?
我们有一个项目就忘记手动添加了,导致一些有delay cell的模块被soc优化掉了
sdc不是自己写的吗 怎么会自动加进去呢
什么叫自己写的? sdc 是综合时dc自动输出的啊
综合的时候不是要输入sdc的吗,怎么是输出sdc
晕。
sdc
不是write_sdc都能写出来的, 想你这些不能的 就只有手动加进去的
告诉后端好了
这样会有遗漏的
那就只能自己写个Script,把DC里面用到的DontTouch“存”起来或者重新生成一遍。
我们公司是有Script的。
哦,原来都是这样弄的
你可以用命令 write_script 命令来写出约束,写出来的文件中会包含各个design的sdc约束,只选择top.v的sdc约束即可;
我就是这样写出sdc的,但我上面提到的set_dont_touch等命令在写出的sdc里找不到。
没明白你的意思 , 你不要用write_sdc这个命令来写出约束文件;直接用write_script这个命令来写出约束文件,这个命令得到的约束文件中会有你所说的set_dont_touchset_dont_touch_network这些约束的
eetop
刚刚试了一下,write_script这个命令很好用,能够把dc里面用的所有shell command写到一个文件里面去,包括我需要的set_dont_touch和set_disable_clock_gating_check等。但也有一个弊端,由于综合时我们会加一句set_dont_touch_network [all_clocks],目的是不想dc在clk上插入一些buffer,delaycell等,但用了write_script写出的脚步,会在每一个clk定义之后加上一句
set_dont_touch_network [get_clocks clka], set_dont_touch_network [get_clocks clkb],这样会对place & route的时钟树综合有影响。
我们只要屏蔽在clock定义区间的set_dont_touch_network,就可以完全取代那个*.sdc 文件了。
非常谢谢。