命令:
module load
gui 方式启动命令,
看一下cc_pinmux.tcl 里面有什么:
- 工具feature 的设置,不太懂
- 对特定模块做blackbox,
library file, 一般是工具无法识别的模块,例如
- IO lib,
- memory lib,
- analog lib,
内部有 dead lock loop,
比如震荡环,比如 watch dog, formal 工具没办法支持 deadlock loop, 必须设置黑盒,
内部有zero delay loop,
最近一个项目里,USB PHY 模型在UPF仿真中就有 zero delay loop, 导致仿真无法进行,需要blackbox 它,这个貌似是模型本身的问题,
大IP,
这些 blackbox 不是必须的,blackbox 后不影响pinmux验证,SOC level 工具运行速度很慢,blackbox 还可以起到加速仿真的效果;
看一下 cc_blackbox.tcl的内容
- 读SOC RTL 的filelist
check comb_loop 和 osc_loop,
有3个 combinational loop,
工具建议进一步check:
从上图中看到,除了有comb_loop的问题,还有个 multi-driven 的问题,工具给出进一步 check 的建议,
report_fv_setup -list
执行完 check_fv_serup -check osc_loop -block
遇到过 fatal error, 说没有空间了,可以在 /output/目录下重新运行。
然后;
log 显示:
有3个 comb_loop, 1个 multidriven net,不确定是不是有影响,继续往下执行。
create_reset
这些会影响仿真,需要fvassume:
de-assert reset ;
iso cell 确保 iso not enabled;
注意下面这里:
create_reset, 然后把对应的 reset 信号通过 fvassume 成1(deassert reset);
这里有个特殊的fvassume:
没有参与具体的工作,所以不了解这样的原因,但看comments "PTEST latch logic too complex ",应该是有特定的目的。
读入 tcl
check_config
必须要加 vacuous_constraint, 有些connection check 的断言是无效的,无效的断言pass 就是空pass, 加上这个保证所有的断言有效;
开始 check,report: