VC Formal FPV 启动脚本简单模板

VC Formal(下简称VCF)工具是Synopsys厂开发的一个用于静态分析验证的商业EDA工具。

VCF有很多种应用模式,比如FRV(Formal Register Verification), FPV(Formal Property Verification), FCA(Formal Coverage Analysis), SEQ(Sequential Equivalence Checking)等等。

本文主要介绍FPV的启动脚本。FPV是基于断言属性的静态检查。相对于动态仿真验证,其优势在于能够遍历所有的输入可能性。

启动命令:vcf -f ./start_fpv.tcl 如果想要GUI模式启动,可以用vcf -verdi -f ./start_fpv.tcl启动

================ start_fpv.tcl ================

set_app_var fml_mode_on true  ## 设置VCF工作模式

read_file -top dut -format sverilog -sva -vcs {-full64 -sverilog -f ../filelist/dut.f -f ../filelist/tb.f +define+......}  ## 读取源文件进行编译

create_clock LCLK -period 833  ## 创建时钟

create_clock FCLK -period 555

create_reset RESETn -low ## 创建复位

set_constant PWROK -value 1  ## 设置常量信号

sim_run -stable  ## 让Formal run若干个cycle, 达到稳定的初始状态

sim_save_reset  ## 保存初始状态

check_fv ## 开始做断言属性静态检查

report_fv -list  ## 报告静态检查的情况

save_session ##保存数据库,以后可以用vcf -restore直接打开

===============================================

可以将DUT相关的文件路径在dut.f中指定,将断言等平台相关的文件在tb.f中指定。断言可以通过bind的方式绑定到DUT中。可以写个xxx_bind.sv并加入到tb.f中。

============== xxx_bind.sv =========

bind dut assertion_module assert_inst(

        .clk(sys_clk),

        .reset(sys_reset),

        ......

);

.....

================================

上面的例子中,dut是module名,assertion_module是断言模块的module名,assert_inst是断言模块的例化名。bind实现的功能就是相当于在DUT模块内部例化一个断言模块,并按指定的关系进行信号绑定。比如上面这个例子,就是将DUT的sys_clk信号与断言模块的clk信号进行了绑定,将DUT的sys_reset信号与断言模块的reset信号进行了绑定。

  • 3
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
### 回答1: 正式验证(formal verification)是指通过严格的数学证明或形式化验证方法来验证计算机程序或系统的正确性和可靠性。与传统的测试方法相比,正式验证能够全面地覆盖程序或系统的所有执行路径,从而可以发现所有可能存在的错误或漏洞。正式验证在高可靠性和高安全性的计算机系统和软件开发中得到了广泛应用。 ### 回答2: 正式验证(formal verification)是指对计算机系统或软件系统进行全面、精确和自动化的验证方法。在软件和硬件开发领域中,正式验证是一种非常重要的技术,能够帮助开发人员验证设计的正确性并确保系统可以在安全和可靠的环境中运行。 正式验证主要利用数学和形式化方法对系统进行分析和验证。这里的数学方法指的是逻辑、自动机理论、代数和图论等。利用这些数学方法,设计人员可以将系统的规范和要求转化为可计算的形式,然后利用计算机工具来进行分析和验证,以确定系统的正确性和安全性。 正式验证可以帮助设计人员避免由于错误或故障导致的系统问题。在开发软件或硬件系统时,错误和故障是难以避免的。这些问题可能导致系统失效,造成数据损失或其他安全问题。通过使用正式验证技术,设计人员可以对设计进行全面的检查,以确保系统满足所有规范和要求,并且能够进行正确的操作。 正式验证技术还可以为设计人员提供高效、可复用和可扩展的工具集。通过使用这些工具,设计人员可以轻松地对不同类型的系统进行验证,同时也可以快速定位和解决系统中的问题。这使得正式验证在软件和硬件开发领域中得到了广泛的应用。 总之,正式验证是计算机系统和软件系统开发过程中一项非常重要的技术。通过利用数学和形式化方法对系统进行分析和验证,设计人员可以保证系统的正确性和安全性,并避免由于错误或故障导致的问题。这种技术的广泛应用,具有极高的实用性和可行性,使得它被广泛用于软件和硬件开发等领域。 ### 回答3: 形式验证(formal verification)是一种严谨的数学方法,用于验证硬件或软件系统的正确性。它使用形式化的语言和数学工具来证明系统的设计符合特定规范或要求,并且排除了设计中可能存在的任何错误或漏洞。这些规范可以是严格的数学规则,也可以是用户的需求文档或其他设计规范。 形式验证可以在不运行实际代码或硬件设计之前发现错误,而不是依靠测试和修复错误。这种方法能够提高系统的质量和安全性,特别是在关键系统中,如航天、医疗、安全和金融领域的系统等。 形式验证的主要方法包括模型检查、定理证明和符号执行等。模型检查是一种自动化的技术,它为系统设计创建一个形式化模型,并使用模型检查工具验证设计符合特定规范。定理证明是使用数学证明技术来证明系统的正确性,它需要人工编写证明,但能够提供高度保证和严谨性。符号执行是对程序的具体执行路径进行符号计算,从而发现程序执行中可能存在的漏洞。 形式验证虽然具有高度的保证和可靠性,但也存在困难和挑战。其中一个是形式规范的编写,需要精确和详尽的描述系统的要求和目标;另一个是应对系统规模和复杂性的挑战,需要使用高效的算法和工具,以及强大的计算资源。 总之,形式验证技术是一种重要而严谨的方法,用于确保系统的正确性,保障关键系统的安全和可靠性。它是未来软硬件设计的重要趋势之一,将在越来越多的领域得到广泛应用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值