formality 是synopsys 用来验证两个design是否等价的工具,也是IC实现中sign off tool,常用在design ECO 验证,tptg 前后由于design hierarchy变动的功能一致性验证,以及DC综合/DFT insert (OCC/SMS ) /PR(布局布线) 前后 design的function (功能等价性)的验证.

formality正常分为以下流程:

setup (set var /read lib)-> read data ->set constraint -> preverify -> match -> verify

如遇到formality fail可尝试以下方式进行逐步debug:

一:FM command 命令/输入文件是否正确

首先检查运行formality cmd过程中是否存在错误,常用方法是查看log文件,然后检查formality 输入的ref data /impl data是否正确及 svf data 是否完整.

二:查看failing point 数量及类型

查看formality 的failing point ,先观察是否有unmatched(tool match 阶段未能根据svf及name rule进行自动match 的point)的reg,若存在unmatch的 point ,请先查看unmatch的原因及类型,或者根据design function 进行手动match (set_user_match)

若failing point > 1000 ,大概率与setting有关,如 failing point < 100 ,请跳转步骤六 debug

三 : 分割定位

如综合阶段采用了多次compile 策略或drived block 综合,可进行分布验证,依次对compile1/compile2/block 进行formalty 检查

四:放松检查条件

1.放松对clock gate 的检查,以解决由于不同类型的clock gate 的影响,可set  verification_clock_edge_analyze  true

2.若DC 采用了MBB/retiming/ungroup 策略 可逐一关闭再进行formality check

3.可以将可以一些不相关的逻辑,例如sync cell /sram/ submodule 设置成black box

五:尝试使用不同的formality strategy及formality tool version

不同的版本和不同的check strategy也会对formality 产生影响,可以尝试切换tool 版本及strtegy (set verification_alternate_strategy)

六:GUI界面 debug

save_session 可以保存formality session ,可以根据session start_gui界面查看failing point,在gui界面点击show patterns ,可以看到failing point 的所有关联点以及pattern.

1.查看ref/impl 两边的关联design是否匹配,若不匹配,确定是否是有dft的逻辑引起,根据情况添加dft的constraint

2.failing point的关联design是一致的,根据failing point的具体pin进行value追踪定位

欢迎大家一起学习!

如需IC岗位 内推 可加Eason_yi1 交流

SYNS formality 形式验证常见debug 步骤相关推荐

  1. Formality形式验证教程

    Formality形式验证主要验证综合后,生成的网表文件功能和之前的verilog文件功能是否一致, 需要两个文件,一个verilog文件,一个是网表文件 1.新建一个文件夹,把verilog文件和网 ...

  2. formality形式验证里的案件分析

    在当前的形式验证的领域,主要有两个工具,一个就是Cadence的conformal,另外一个就是Synopsys的formality(以下简称FM). 通常情况下,形式验证的工具的主战场,是在RTLv ...

  3. formality: 形式验证流程

    formality工具作用于设计开发过程中验证逻辑功能是否产生变化,不考虑layout与timing,可以作为动态仿真的替代品.受制于设计规模,仿真的时间与其输入向量的多寡有关,而formal ver ...

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

    数字IC设计学习笔记 Formality 形式验证 1. 基本特点 2. Reference Design 和Implementation Design 3. container 4. 读入共享技术库 ...

  5. 形式验证 formality的设置及fm_shell使用

    形式验证进阶(二):Setup阶段的约束信息&说说formality中比较点匹配 2018-10-26  芯司机  公众号:chipdriver 之前的文章导读 <形式验证入门之基本概念 ...

  6. uvm 形式验证_谈一谈IC flow中的形式验证

    By definition, formal verification is the use of tools that mathematically analyze the space of poss ...

  7. IC设计- 浅谈各种验证 - 功能验证,形式验证,原型验证

    浅谈逻辑仿真,形式验证及硬件仿真 随着硬件设计复杂性的不断增加,为了能够最大程度的使得验证收敛,验证方法也越来越多,今天我们针对常见的几种验证方法做一些简单的分析,指出它们的常用应用环境以及一些优缺点 ...

  8. Formal equivalence verification 形式验证之等价验证 FEV 第8章

    目录 一.要检查的等价类型 1.组合等价 2.序列等价 3.基于事务的等价 二.FEV用例 1.RTL -- netlist FEV 2.RTL--RTL FEV 1)参数化 2)序列修复--逻辑再分 ...

  9. uvm 形式验证_IC设计职位详解之“数字验证工程师”就业必学课程

    数字验证处于数字IC设计流程的前端,属于数字IC设计类岗位的一种.在IC设计中,数字验证所占的人数比重是非常多的,很多大公司,数字前端设计工程师与验证工程师的比例已经达到1:3. 数字验证主要分成几种 ...

最新文章

  1. 红帽OpenShift总经理谈容器技术需要关注的方向
  2. Ubuntu下apt-get命令详解
  3. 【Castell】安全联锁提升UPS设备维护管理水平
  4. MySQL普通用户修改密码
  5. React Native微信支付开发爬坑之旅
  6. 适用于Java开发人员的Elasticsearch:Elasticsearch生态系统
  7. windows安装 Git Large File Storage大文件下载工具ge
  8. Getting Started with the Table Component
  9. excel学习1-查看一列数值是否在另一列中存在
  10. 开始位置 环状图_水星轨道发现千万公里环状结构,或将发现新的行星环
  11. 3分钟让你轻松了解CRM
  12. Android系统(62)-----Android 7.1 新特性之 Shortcuts 介绍
  13. Anaconda——如何“重命名”conda虚拟环境(通过复制和删除操作实现)
  14. 科研绘图必备软件简介
  15. 苹果iPad手机如何无线投屏电脑使用教程
  16. 详解u盘装系统找不到镜像文件怎么回事
  17. 市场细分与目标群体定位
  18. 能看到打印机共享文件就是不能连接网络打印机
  19. 【转载】一个硕士程序员的求婚日记——做开发的不是木头人!
  20. 美术 2.1 DCC工具链与引擎工具链

热门文章

  1. AlphaZero如何学习国际象棋的?
  2. 【图像超分辨率重建】——HAN论文精读笔记
  3. 全方位解读小红书笔记数据、千瓜功能指南更新!
  4. 联通关闭2G、3G信号?老人机可能真的不能用了!
  5. 一文看懂:Android-Q版本在安全方面进行了哪些系统性改进
  6. 小酷智慧地图3D导览v1.0.84 打卡定位 地图打卡
  7. 文献 | 从认知和护理角度谈双相情感障碍
  8. 年终盘点,蔚来终于失去互联网造车老大地位,被小鹏取而代之
  9. 冒泡排序--咕噜咕噜
  10. 2021年浙江省跨境电商行业发展概况及发展趋势分析[图]