IC综合方法记录
1)在pt_shell里自测交给pr的设置dont_touch的脚本的效果如果,可以在读取dc综合的网表并增加了dont_touch命令后.
使用report_attribute -class cell -application [get_cells -hierarchical * ] -attributes dont_touch列出所有具有dont_touch属性的cell.
此命令不适用于dc_shell环境。
2)在spyglass中读取RTL和sdc文件后,在sdc还没有完成的时候可以通过use_inferred_resets use_inferred_clocks自动推断 clock reset tree.
在sdc完成阶段,采用set_parameter use_inferred_resets no/ set_parameter use_inferred_clocks no之后,再观察cdc_verify_struct goal之后analyze result页面clock项目的结果,特别是spyglass推断的clk domain的划分是否和RTL design的思路是完全一致的,在此基础上做出的CDC清理才有质量。SDC文件中set_clock_groups会直接影响spyglass的sdc2sgdc的转换结果,并直观的体现在analyze result页面clock项目。
3) pt读取netlist在link时默认会清理掉未连接cell, 如果需要在pt中完整列出(1)中dont_touch cell的结果,必须在读取netlist之前set link_keep_unconnected_cells true来启用keep_unconnected_cell功能。
4) 对于generate + for循环产生的逻辑,无论是map前后,dc产生的ddc文件中命名规则和输出的verilog格式netlist命名规则是不同的,因此最好能找到兼容ddc和netlist中的规则的方法来利用get_cells/get_pins等sdc约束指令。

浙公网安备 33010602011771号