formality形式验证的脚本记录

本文讲述了在ic前端设计中,由于人手不足,了解中端后端流程变得重要。特别关注了svf内的dc优化点,包括自动插入门控时钟,以及如何处理match阶段的LATCG门控时钟寄存器mismatch,确认为无关后进行verify操作。
摘要由CSDN通过智能技术生成

虽然是ic前端设计,但无奈人手不够,也需要了解一下中端后端流程。特此记录。

其中set synopsys_auto_setup true和下面一条的命令的效果应该是一样的 分别是调用svf内记录的dc优化点(大多是dc自动插入门控时钟)和忽略门控时钟的分析。

match阶段会有LATCG的mismatch,点开分析一下均为门控时钟的寄存器,可以无视,verify成功就可以了。

#Set var
set filelist "fm_filelist.f"
set refFiles {}
for {set f [open $filelist r];} {[gets $f line]!=-1} {;} {
    lappend refFiles $line ; # get the names in filelist and turn into a list
}
close $f

set basename TOP; # Top module name ****FIX HERE****
set dirname ../syn/mapped; # MAPPED file directory
set svfname ${dirname}/$basename.svf
set ntlname ${dirname}/netlist.v

# 0.Guid. 
set synopsys_auto_setup true
set verification_clock_gate_edge_analysis true
set_svf -append ${svfname}

# 1.ref.
read_sverilog -container r -libname WORK -12 ${refFiles}
# set_mismatch_message_filter -suppress {FMR_ELAB-147 FMR_ELAB-117}
read_db {...db}
set_top r:/WORK/$basename

# 2.impl
read_verilog -container i -libname WORK -05 ${ntlname}
read_db {...db}
set_top i:/WORK/$basename

# 4.match
match

# 5.verify
verify

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值