验证方法的分类

验证的方法大体可以分为两类:动态验证和静态验证

动态验证

动态验证也叫仿真,是指从电路的描述提取模型,然后将外部激励信号或数据施加于此模型,通过观察该模型在外部的激励信号作用下的实时响应来判断该电路系统是否实现了预期的功能。

静态验证

静态验证通过采用分析电路的某些特性是否满足设计要求的方法,来验证电路的正确与否。

形式验证就是常见的静态验证。
形式验证是近几年来兴起的一种验证方法,它需要一个正确的模型作为参考,把待验证的电路与正确的模型进行比较,并给出不同版本的电路是否在功能上等效的结论,它利用理论证明的方法来验证设计结果的正确性。

动态验证 vs 静态验证

动态仿真验证主要是模拟电路的功能行为,必须给出适当的激励信号,然而很难选择激励来达到覆盖电路所有功能的目的,同时动态仿真很耗费时间。

静态验证是针对模拟电路所有的工作环境,检查电路是否满足正常的性能指标,此类验证只限于数字逻辑电路,其准确性低于动态仿真,偶尔还会提供错误信息。

动态验证及相关工具

如下图所示,仿真环境包括 电路描述的输入仿真控制命令仿真结果的显式等3部分。

仿真工具首先要把用户的描述转换为内部表示,即建立模型。激励波形可以同电路一起输入,也可以在仿真开始之后通过控制命令输入,或者单独建立激励波形文件输入。

控制命令包括:初始值设置、仿真时间指定、仿真过程控制、仿真中断设置、观察仿真状态、设置某些信号或者变量值,以及指定继续仿真 等。在交互式仿真方式下,控制命令交互输入;在批量处理式仿真方式下,控制命令常由控制命令文件(脚本)一次输入。仿真结果主要为各外部输出端和其他观察点的输出波形,以及其他一些检查结果信息。

验证工程师应该根据所验证的电路的应用环境给出足够多的激励信号,以验证该电路是否可以正确的工作。但是当所验证的电路非常复杂时,很难把电路在各种工作条件下的工作情况都验证到,并且验证的时间将直接影响项目的开发周期。这时,就要验证人员凭经验给出比较具有代表性的激励信号,以尽量少的激励来验证电路的全部功能。

  • 动态仿真工具-VCS
    Synopsys的VCS是编译型Verilog模拟器,它完全支持标准的Verilog HDL语言和SDF,其出色的内存管理能力足以支持千万门级的ASIC设计,而其模拟精度也完全满足深亚微米ASIC Sign-Off的要求。VCS结合了周期算法和时间驱动算法,具有高性能、大规模和高精度的特点,适用于从行为级、RTL到反标的门级电路仿真。

静态仿真及相关工具

如图为静态验证流程。静态验证不需要输入激励信息,只需要输入电路模型和相关参数及命令,验证工具会自动对该电路模型进行分析,并显示出分析的结果。

由于静态验证是由工具自动完成的,不需要人工过多的干预,所以通常对所设计的电路首先进行静态验证,以纠正一些比较明显的错误,然后再动态仿真,确定其具体行为是否正确。

形式验证

对于某些电路设计的移植,一般不需要对新电路进行仿真,而直接通过EDA工具来分析该电路的功能是否与原电路一致,此种验证方法可以大量减少验证时间,提高电路设计的效率。

如下图为形式验证流程

目前形式验证的主流为 等效性检查(Equivalence Check),用于比较两个电路逻辑功能的一直行。它通过采用匹配点并比较这些点之间的逻辑来完成等效性检查。其生成一种数据结构,并将其与相同输入特性曲线条件下的输出数值特性曲线进行比较。如果它们不同,则表示被比较的两个电路是不等效的。

  • 形式验证工具-Synopsys公司的Formality
  • 工具的使用流程
    首先需要给工具提供完整正确的设计、相关的工艺库及准备验证的设计;其次需要对检查过程给定约束条件和设置参数,并确定比较范围和匹配点,如果结果不相等则需要进行诊断。它通常用来比较RTL代码与布局布线后提取的网表逻辑功能是否一致,加入扫描链之前与之后的网表在正常工作模式下的功能是否一致,并对ECO修正之前的网表与ECO修正之后的网表比较。

参考:《SoC设计方法与实现》

数字IC验证方法的分类相关推荐

  1. 【数字IC验证快速入门】1、浅谈数字IC验证,了解专栏内容,明确学习目标

    导读:作者有幸在中国电子信息领域的排头兵院校"电子科技大学"攻读研究生期间,接触到前沿的数字IC验证知识,旁听到诸如华为海思.清华紫光.联发科技等业界顶尖集成电路相关企业面授课程, ...

  2. 数字IC验证:电路基础知识(数字IC、SOC等)

    文章目录 0 SOC结构 1 数字IC设计的流程 1.1 逻辑综合的流程 2 电路基础 2.1 三极管BJT 2.2 MOSFET 2.3 CMOS 2.4 锁存器与触发器:RS/D/JK/T 2.5 ...

  3. 数字IC验证工程师加班吗?工资高吗?一天是怎么样的呢?

    现阶段的IC行业,数字IC验证工程师非常紧缺,尤其是在这个行业中干了很多年的工程师那更是奇货可居.但是最近和一些在校学生和刚入行的朋友们交流的时候,发现大多数人对数字IC验证工程师的具体工作不了解,甚 ...

  4. 【数字IC验证快速入门】40、UVM项目实践之APB_SPI(8)计分板(Scoreboard)和覆盖率(Coverage)

    导读:作者有幸在中国电子信息领域的排头兵院校"电子科技大学"攻读研究生期间,接触到前沿的数字IC验证知识,旁听到诸如华为海思.清华紫光.联发科技等业界顶尖集成电路相关企业面授课程, ...

  5. ZEKU2021数字IC验证笔试题(解析)

    Zeku2022数字IC验证笔试 2.从综合出电路的电路看第一段代码比第二段代码优化的地方是 第一段代码: always @(posedge ck clk or negedge rst_n) beig ...

  6. 【数字IC验证快速入门】2、通过一个SoC项目实例,了解SoC的架构,初探数字系统设计流程

    导读:作者有幸在中国电子信息领域的排头兵院校"电子科技大学"攻读研究生期间,接触到前沿的数字IC验证知识,旁听到诸如华为海思.清华紫光.联发科技等业界顶尖集成电路相关企业面授课程, ...

  7. FPGA可以转行数字IC验证吗?

    近期在知乎上看到过一个问答"入职做fpga,后续是否还可以转数字ic设计或者DFT?"浏览量高达24,361,看来有很多小伙伴关心这个问题,今天就来和大家唠一唠FPGA转行的问题. ...

  8. 【数字IC验证快速入门】45、UVM项目实践之APB_SPI(13)UVM 验证方法学总结

    导读:作者有幸在中国电子信息领域的排头兵院校"电子科技大学"攻读研究生期间,接触到前沿的数字IC验证知识,旁听到诸如华为海思.清华紫光.联发科技等业界顶尖集成电路相关企业面授课程, ...

  9. 【数字IC验证快速入门】14、SystemVerilog学习之基本语法1(数组、队列、结构体、枚举、字符串...内含实践练习)

    导读:作者有幸在中国电子信息领域的排头兵院校"电子科技大学"攻读研究生期间,接触到前沿的数字IC验证知识,旁听到诸如华为海思.清华紫光.联发科技等业界顶尖集成电路相关企业面授课程, ...

最新文章

  1. 麦克纳姆轮——机械部分
  2. 漫谈BCH Token方案
  3. 无废话ExtJs 入门教程二十三[员工管理实例:Demo]
  4. rabbitmq可靠性投递_解决RabbitMQ消息丢失问题和保证消息可靠性(一)
  5. DecimalFormat 用法
  6. 两大流量“黑洞”联姻了:让你在支付宝上刷微博,在微博上用支付宝买单
  7. 计算机误删怎么恢复数据,电脑资料数据误删怎么恢复?
  8. yum,yum指向,yum源创建
  9. oc语言学习之基础知识点介绍(三):类方法、封装以及继承的介绍
  10. python实现给定一个字符串,寻找最长非重复子串
  11. 09-Mysql数据库----外键的变种
  12. fluent加载第三方(C++,Fortan等)动态链接库
  13. 推荐 5 款良心网盘,免费、空间大、不限速!
  14. kettle设置mysql时区_kettle中通过 时间戳(timestamp)方式 来实现数据库的增量同步操作(一)...
  15. Codeforces Round #116 C.Letter
  16. css3 实现盒子四周光晕_使用CSS3做出带有光晕流星旋转光环的效果 -
  17. 莫队入门例题:2038: [2009国家集训队]小Z的袜子(hose)
  18. 系统设计之图状数据模型
  19. 0x000006D9: 终结点映射器中没有更多的终结点可用。 。
  20. 什么是BSD开源协议

热门文章

  1. 微信小程序 index.js获取app.js异步请求的动态数据
  2. Android开发学习——2.Android开发环境准备
  3. MOOC-大型开放式网络课程massive open online courses
  4. vite+ts+vue3 知识点(定义全局函数和变量)
  5. Android耗电原理及飞书耗电治理
  6. 【历史上的今天】5 月 21 日:Simula 67 发布;微软推出 Xbox One;计算机先驱诞生日
  7. 关于微信公众号分享在安卓手机不显示分享图片的问题
  8. cf div2 #444 (ABC)(D已补)
  9. 抖音共创是什么?怎么操作全集教程!
  10. 微信小程序(实现抖音播放效果)上下滑动全屏播放效果