数字IC设计学习笔记_Formality 形式验证

数字IC设计学习笔记

Formality 形式验证

1. 基本特点
2. Reference Design 和Implementation Design
3. container
4. 读入共享技术库
5. 设置Reference Design
6. 设置Implementation Design
7. 保存及恢复所做的设置
8. 运行verify 命令

1. 基本特点:

Synopsys Formality 是形式验证的工具,你可以用它来比较一个修改后的设计和它原来的版本,或者一个RTL 级的设计和它的门级网表在功能上是否一致。

在IC设计中通常用于进行不同步骤的netlist的比较:逻辑综合netlist,floorplannetlist,placement netlist ,CTSinserted netlist,P&R netlist,在每一个步骤后都有新的逻辑加入到netlist中,但是这个新的逻辑的加入不能改变原netlist的l逻辑功能。

2. Reference Design 和Implementation Design:

形式验证的过程中涉及到两个设计:一个是标准的、其逻辑功能符合要求的设计,在Synopsys 的术语中称之为Reference Design;另一个是修改后的、其逻辑功能尚待验证的设计,称之为Implementation Design

3. container:

我们可以把container 理解为Formality 用来读入设计的一个空间,或者说一个“集装箱”,一般情况下要建立两个container 来分别保存Reference Design 和Implementation Design

4. 读入共享技术库:

在开始验证流程之前,首先要读入所有的会被用到的共享技术库

5. 设置Reference Design:

  • 1)建立一个新的container;
  • 2)读入门级网表;
  • 3)确认该设计为Reference Design;
  • 4)链接Reference Design;

6. 设置Implementation Design:

  • 1)建立一个名为impl 的container,读入clk_insert1.v 文件;
  • 2)确认Implementation Design;
  • 3)链接该设计;
  • 4)把该设计设置为当前设计,然后把其中的test_se 端口设置为0

7. 保存及恢复所做的设置

8. 运行verify 命令

Formality 将根据所作的设置,对ref 和impl 中的两个设计进行验证。

相比于动态仿真的优势在于:

  • 不需要开发验证pattern
  • 速度比较快
  • 覆盖率100%
  • 纯逻辑上的验证,不考虑物理和timing信息

缺点在于:

  • 由于不考虑timing,因此需要配合STA工具使用。

— 转载内容源自知乎用户Amen, Thanks^^:https://zhuanlan.zhihu.com/p/73307269

【注】:个人学习笔记,如有错误,望不吝赐教,这厢有礼了~~~


  • 2
    点赞
  • 64
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: 形式验证是一种通过数学方法来证明软件或硬件系统的正确性的技术。它可以帮助开发人员在设计和实现过程中发现和纠正错误,从而提高系统的可靠性和安全性。而debug则是指在软件或硬件系统中发现并修复错误的过程。在软件开发中,形式验证和debug都是非常重要的步骤,可以帮助开发人员确保系统的正确性和稳定性。 ### 回答2: Formality形式验证Debug是一种在计算机科学中广为使用的技术。它有助于确保我们所编写的代码符合我们所期望的结果,并能够在特定条件下正确地运行。 在编写代码过程中,我们经常会发现错误,这些错误可能是语法错误、逻辑错误或者是程序运行中的错误。而在程序运行时发现和修复这些错误非常困难并且耗时,因此我们需要一种更好的方法来检查和修复这些错误。 Formality形式验证Debug是一个解决这个问题的方法。它基于形式化验证技术来实现程序的正确性证明。简单来说,这种验证是基于数学原理的,可以帮助我们通过计算机验证我们所编写的程序在所有可能情况下都能正确地运行。 在Formality形式验证Debug中,我们需要将程序输入到一个验证工具中,该工具会自动分析程序的结构和逻辑,并生成一个证明来证明程序的正确性。这个证明可以用来确保该程序能够达到预期目标并且不出现错误。 值得注意的是,Formality形式验证Debug并不能完全避免所有的错误,但是它能大大减少可能出现的错误,并为我们提供更高效、更可靠的方法来开发代码和保证代码的正确性。 总之,Formality形式验证Debug是一种高效且可靠的方法来确保我们编写的程序能够正确运行。它可以极大地减少程序在运行时出现的问题,提高程序的质量,并使我们更加自信地将程序发布到生产环境中。 ### 回答3: 在软件开发中,formality形式验证debug是一种基于形式方法的软件验证技术,它可以通过形式化推理,对软件的正确性进行证明。formality形式验证debug的流程通常包括如下几个步骤: 1.形式规约:首先对软件系统进行形式化建模,确定其规范行为,包括输入、输出、状态转换等。这个步骤主要是为了在后续的验证过程中,建立正确的推理模型。 2.形式化推理:这一步骤是formality形式验证debug的核心步骤,它通过基于逻辑和数学的严格推理,对软件系统进行验证。具体的,可以用定理证明的方法,将规约后的软件系统描述成数学公式,然后利用逻辑推理对它们进行分析和验证。 3.错误定位:如果在验证过程中发现了错误或不一致,需要进一步定位错误和修复错误。在定位错误时,需要通过调试技术对代码进行追踪和分析。 4.验证结果:形式验证debug的最终结果是一个数学证明或反证,用来证明软件系统的正确性或者指出错误。如果发现了错误,需要进行相应的修改和验证,直到软件系统达到正确性标准。 总的来说,在软件开发过程中,formality形式验证debug能够极大地提高软件的正确性和可靠性,避免因为代码漏洞而导致的系统崩溃或者严重的安全问题,同时,它也能够为软件开发人员提供更高效的开发手段和优化程序的方向。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值