Introduction to Formal Verification
Requirements
- Assertion/Cover
- Assume(Constraint)
- Synthesizable RTL
Formal Results
- Proof
- Falsification
- Bounded Proof
VC Formal
Flow

Components

FPV
Methodology
Inputs for FPV
Analyze and elaborate commands (example, read_file )
Clock and reset commands (example, create_clock, create_reset )
Execute commands (example, check_fv )
Report commands (example, report_fv )
Onputs for FPV
Property Status
- Assertion status: Proven, Falsified, Vacuous(先决条件没有cover到), Witness-Coverable, Uncoverable and Inconclusive(没有得到证明)
- Assume status: Non-Vacuous, Vacuous(assume无效),Uncoverable and Inconclusive
- Cover status: Coverable and Uncoverable

Execue FPV
vcf -f run.tcl
vcf -f run.tcl -verdi
Analyzing Results
report_fv

Property Control
Formal Runtime Control
控制time/memory/engine
- set_fml_var fml_max_time <time, ex. 24H>
- set_fml_var fml_progress_time_limit <time, ex. 100M>
- set_fml_var fml_max_mem <Maximum memory size>
Controlling Engine Effort
- set_engine [-on|-off] <engine id>
- set_fml_var fml_effort <effort level, ex. high>
Controlling Resume
- set_fml_var fml_enable_resume true
- set_fml_var fml_enable_resume_depth true
Controlling Grid Usage
- set_grid_usage -type [LSF|SGE|RTDA]=<#_of_workers> ...
- report_grid_usage
Convergence Improvement
- snip_driver
- set_blackbox
- set_abstractions
- get_abstractions
- report_abstraction

本文详细介绍了FormalVerification(FPV)的各个方面,包括需求、方法论、输入与输出命令,如分析、验证、设置环境、执行检查,以及覆盖、约束、属性和调试等方面的内容。它还涵盖了在计算农场上运行和调试验证过程的技巧和配置选项。
最低0.47元/天 解锁文章
9902

被折叠的 条评论
为什么被折叠?



