Formality基本流程和参考脚本

  1. Formality 基本流程

在这里插入图片描述
1.Start Formality启动formality工具

Gui方式:首先fm_shell , 然后start_gui,source script.tcl
shell方式:见参考脚本
fm_shell -file my_script.tcl |tee -i my_transcript.out

2.Load guidence(导入svf文件)

a.set synopsys_auto_setup true

    开这个option之后,工具default的变量如下

hdlin_ignore_embedded_configuration = true
hdlin_ignore_full_case = false
hdlin_ignore_parallel_case = false
signature_analysis_allow_subset_match = false
svf_ignore_unqualified_fsm_information = false
upf_assume_related_supply_default_primary = true
upf_use_additional_db_attributes = true
verification_set_undriven_signals = synthesis
verification_verify_directly_undriven_output = false
set_mismatch_message_filter -warn
b.set_svf myfile.svf
可以通过report_guidance -summary
在这里插入图片描述
The results of the status fields are
Accepted – Formality validated and applied the guide command to the reference design.
Rejected – Formality either could not validate or could not apply the guide command to the reference design.
Unsupported – Formality does not currently support the guide command.
Unprocessed – Formality has not processed the guide commands yet. This usually happens when a checkpoint verification has paused the processing.

  1. Load Design


参考脚本:

read_db ${all_db}
read_verilog -container -r -libname WORK -01 -f R T L F I L E L I S T s e t t o p r : / W O R K / {RTL_FILELIST} set_top r:/WORK/ RTLFILELISTsettopr:/WORK/DESIGN_NAME
read_verilog -container -i -libname WORK -01 -f N e t l i s t F I L E L I S T s e t t o p i : / W O R K / {Netlist_FILELIST} set_top i:/WORK/ NetlistFILELISTsettopi:/WORK/DESIGN_NAME
4. Performing Setup

该部主要就是对一些port设constant,或者一些primary points不需要比,设ignore等

参考脚本:

set_constant -type port r:/WORK/ D E S I G N N A M E / s c a n m o d e 0 s e t c o n s t a n t − t y p e p o r t i : / W O R K / DESIGN_NAME/scan_mode 0 set_constant -type port i:/WORK/ DESIGNNAME/scanmode0setconstanttypeporti:/WORK/DESIGN_NAME/scan_mode 0

set_dont_verify_point r:/WORK/ D E S I G N N A M E / s c a n o u t ∗ s e t d o n t v e r i f y p o i n t i : / W O R K / DESIGN_NAME/scanout* set_dont_verify_point i:/WORK/ DESIGNNAME/scanoutsetdontverifypointi:/WORK/DESIGN_NAME/scanout*
5. Matching Compare Points

Formality默认的match方式:

Exact-Name Matching (name-based matching)

Name Filtering (name-based matching)

Topological Equivalence (non name-based matching)

Signature Analysis (non name-based matching)

Compare Point Matching Based on Net Names (name-based matching)

参考脚本

match
report_unmatched_points > $REPORTS_DIR/unmatched_R2N.log
6. Verifying the Design and Interpreting Results

在这里插入图片描述
参考脚本:

verify
report_failing_points > $REPORTS_DIR/fail_R2N.log
7. Debug

Debug可以通过一些命令,也可以通过GUI的

Schematics的方式,大部分都是通过Schematics去对比compare point不等的pin,然后往前trace,追到源头不等的点。

分享更多内容关注WX公众号:IC蓝皮匠

原创链接:https://mp.weixin.qq.com/s/OG5R1QtIInxG1zXyQCGyxg

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值