命令:
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: