数字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
【注】:个人学习笔记,如有错误,望不吝赐教,这厢有礼了~~~