数字验证流程
目录
一、什么是数字验证?
数字验证:验证就是验证设计实现是否与设计意图相符,也就是说发现设计人员的错误。
验证的过程是保证芯片实现符合规格说明书(Specification ,spec)的过程。
二、功能验证
1.soc 流程
在一个soc芯片开发流程中,根据spec将设计分为硬件和软件两个模块,硬件部分由硬件工程师完成,软件部分由软件工程师完成。
作为验证工程师,工作在硬件模块,主要内容有两部分:
1、RTL sim /前仿真
2、GLS(Gate level simulation)/后仿真 :网表 + SDF (delay)
常见的coms管中会有延迟,在后仿过程中需要把delay加进去
2.验证工作具体干什么
1、需要验什么?
2、产生激励
3、分析DUT / DUV 的输出
三、数字验证重要性
1、验证挑战大
验证是检查RTL code的实现是符合Spec,也就是说发现设计人员的错误。
发现错误有时候远比设计本身还困难
Soc芯片集成规模越来越大,功能越来越复杂,对验证的挑战越来越大。
市场对于芯片开发时间的周期要求越来越紧张。
2、使用人力多
功能验证在芯片的整个设计周期中使用的人力最多。设计人员:验证人员 = 1 :3
3、占用时间多
在RTL3之前,是前仿
在RTL3之后,是后仿
4、缺陷付出成本高
随着设计的进行,越接近最后的产品,修正一个设计缺陷的成本就会越高
20世纪90年代,英特尔因为浮点故障而损失数十亿美元。
四、验证流程
1、RTL前仿真的流程
验证一般分为功能验证和时序验证
功能验证主要位于前仿真,重点是对电路的功能进行验证。
验证工程师一般要进行前仿真验证和后仿真验证。
理解DUT、制定验证策略方法、提取验证点、搭建平台、执行验证、检查覆盖率。
2、后仿(时序分析)
动态时序分析:根据电路中提取的延时参数,通过仿真软件动态的仿真电路以验证时序是否满足要求。
静态时序分析:通过分析设计中所有可能的信号路径以确定时序约束 是否满足时序规范。
常用工具(pt)