命令
#!/bin/bash
export JG_VERSION=v2002.06.002
export PATH=xxx/@JG_VERSION@/bin/:$PATH
export LD_LIBRARY_PATH=xxx/@JG_VERSION@/bin/:$LD_LIBRARY_PATH
# run jaspergold
xxx/@JG_VERSION@/bin/jg -sec xxx.jg_sec.tcl
tcl脚本
clear -all
session -set_name SEC
#check_sec -analyze -spec -vhdl -f old.vhdl
#check_sec -elaborate -spec -top old_and -vhdl -disable_auto_bbox
check_sec -analyze -spec -sv -f old.f
check_sec -elaborate - spec -top old_and -disable_auto_bbox
check_sec -analyze -imp -sv -f new.f
check_sec -elaborate -imp -top new_and -disable_auto_bbox
check_sec -setup
check_sec -auto_map_reset_x_values on
clock clk -both_edges
clock new_and_imp.clk -factor 1 -phase 1
reset ~rst_n ~rst_n
#check_sec -waive -waive_signals {xxxxx}
#check_sec -interface -unmapped -spec -signal_type x_misc_undriven
check_sec -generate
check_sec -interface
注意reset的设置,设置的是复位信号有效的情况,所以~rst_n。
如果rst_n 会导致比对有误,相当于比较的时候都是复位值的情况,会导致假pass。
如果出现~rst_n报错的情况,可以试试修改成rst_n=0的写法。
cadence官方自带的例子的目录:
$jasper_path/doc/example_jasper_apps/SEC/
最开始会在第一张图的All Tasks显示 ready for proven,右键点击Prove Task之后,如果有错误,会出现下图
双击报错的status为x的行,会跳出第二张图显示相关波形,可以通过signal browser选中相关信号并且点击红圈图标显示信号波形(或Alt+A可显示波形),进行定位。
点开上图中check interface界面,找到报错的信号,然后右键copy信号路径,在tcl文件中添加如下命令,即可将该信号检查去掉。
check_sec -waive -waive_signals {xxxxx}