形式验证是为了验证RTL代码与综合后的门级网表之间的逻辑等价性。功能是否等价,与时序无关。
Guidance > Reference > Implementation > Setup > Match > Verify >Debug
输入fm或者formality
添加.svf文件,其为DC综合生成的文件,内含综合时的一些优化记录。
读入rtl设计文件,read design file > verlog > load files
设置DC工具路径:otpion>browse
读取db文件,read DB libraries> DB > load files
设置顶层文件:set top design > set top
读入网表文件,read design file > verlog > load files
设置顶层文件:set top design > set top
设置常量
验证Reference和Implememtion的逻辑功能是否匹配
match>run matching
match completed
可以看到match和unmatch的points
验证rtl和门级网表功能是否相同
verify> verify
verification succeeded!
如果功能不一致,进行debug。
双击可以进去看到设计的原理图,进行对比debug。
最后跑完,打印出结果,可以看到Passing (equivalent)和Failing (not equivalent),这里我们可以看出验证是一致的。
//run_form文件
source run_form
fm_shell -file form_check.tcl //后台运行
#fm -gui -file form_check.tcl //gui界面运行
//form_check.tcl文件
set_svf -append {/home/IC/soc/form_test/svf/test.svf}
read_verilog -container r -libname WORK -05 { /home/IC/soc/form_test/rtl/verilog_test.v }
set hdlin_dwroot /opt/Synopsys/DC2015
read_db { /home/IC/soc/form_test/db/fast.db }
set_top r:/WORK/verilog_test
set_top r:/FAST/ACCSHCINX2
read_verilog -container i -libname WORK -05 { /home/IC/soc/form_test/netlist/netlist_test.v }
set_top i:/WORK/netlist_test
set_top i:/FAST/ACCSHCINX4
match
verify