集成电路验证
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
将激励信号施加于设计,进行计算并观察输出结果,判断该 结果是否与预期一致。根据仿真模式的不同,可分为:
• 时钟驱动模拟验证
基于时钟周期的仿真-------采用基于周期的仿真器,完全不理 会时钟内部发生的事件,而是在每个周期中进行一次信号评 估,由于执行时间较短,这类仿真器的运行速度往往较快, 目前常用的仿真器VCS、NC-verilog、ModelSim都支持此类仿 真
基础:
•
现代集成电路设计面临的挑战
•
集成电路验证的概念和基本原理
•
集成电路验证的分类
原理:
•
Βιβλιοθήκη Baidu
仿真器的分类
•
仿真器的组成
•
仿真器的原理
语言:
• 设计语言(VHDL、Verilog、System C)
• 验证语言(Open Vera、e、System Verilog)
现代集成电路设计面临的挑战
规模 市场压力 低功耗设计 …
• 事件驱动模拟验证
基于事件的仿真-------采用基于事件的仿真器,捕获事件(在 时钟内部或在时钟的边界上)并通过设计进行传播,直到实 现一个稳定状态为止。
模拟验证方法的局限性
• 非完备性,即只能证明有错而不能证明无错 • 一般适用于在验证初期发现大量和明显的设计错误,
对于验证后期出现的复杂和微妙的错误,常常面临调 试极其困难,甚至显得难以胜任. • 严重依赖于测试向量的选取,而合理而充分地选取测 试向量,达到高覆盖率是一个十分艰巨的课题. • 由于设计者不能预测所有错误的可能模式,所以尚未 发现某个最好的覆盖率度量. • 即使选定了某个覆盖率度量,验证时间也是一个瓶颈.
模拟器的灵魂,决定了模拟器的类型,例:FPGA芯片 划分/电路布局布线
• 物理验证 物理验证主要是进行设计规则检查、版图与原理图对照和 信号完整性分析。
• 性能验证 性能验证的目标是确保实际设计能够提供实现规范文档中 所要求的性能(如每秒执行的指令数,数据率等)。
• 功耗验证
集成电路验证的基本原理
规范的设计需求
设计
“替代设计” 功能要求
设计需求
仿真输出 等效? 参考输出
··· ····
准确性
···· ···
复杂度
·· ····
极限适用 性
···
—
基于事件的模拟器和基于周期的模拟器
• 基于事件的模拟 ·当且仅当器件的输入有事件发生时,才对器件的状态求值 ·当变量或信号的值发生改变时,相应更新事件触发所有引 用此变量或信号的器件进行求值. ·当一个变量或信号影响多个输出时,模拟器应分别计算每 个输出的延迟,并将事件放入相应事件片的事件队列
举出反例来协助验证。
形式验证的效果受到以下因素的影响:
➢ 设计规范是否存在错误 ➢ 设计规范中的功能覆盖是否完整 ➢ 用户可能发生的对规范的错误表述以及对设计的过度约束 ➢ 形式验证软件程序本身的错误
验证方法比较:模拟vs形式化方法
模拟验证 形式验证
速度
·· ····
DUT规模
···· ··
完备性
第12讲 回顾和总结
•了解集成电路验证领域的基础知识 •掌握验证的基本流程和工作方法 •具备一定的验证实践能力 •了解集成电路验证领域的最新发展
•了解集成电路验证领域的基础知识 •掌握验证的基本流程和工作方法 •具备一定的验证实践能力 •了解集成电路验证领域的最新发展
了解集成电路验证领域的基础知识
什么是集成电路的验证?
• 集成电路验证是检查 并确认集成电路设计
的各个阶段不偏离原 始的需求规范的过程
设计
• 验证几乎伴随着集成 电路设计的全过程,
因此验证的周期也是
与设计周期相辅相成 的。
设计需求
是否符合设计需求?
算法描述
正确性检查
是否实现了所需算法?
RTL描述
验证
是否等价?
门级网表
是否等价?
等价性检查
物理版图
集成电路设计验证的覆盖范围
• 功能验证 功能验证的目标是确保实际设计实现规范文档中所描述的 功能,发现功能模块中存在的逻辑缺陷,保证逻辑设计的 正确性。
• 时序验证 静态时序分析:根据设计规范的要求通过检查所有可能路 径的时序。 动态时序分析:主要指的是门级(或对版图参数提取结 果)仿真。
设计需求
设计 等价?
设计路径
等价性检查
替代设计
验证路径
设计
满足? 正确性检查
特定的表述方式 “替代设计”
集成电路验证面临的挑战
• 验证方法和工具与不断增大的设计规模不匹配 ----状态空间爆炸问题
• 验证周期增长 ----验证成为处理器设计流程中真正的瓶颈
• 调试更加困难 ---设计复杂度增加,规模增大,从RTL到门级网表的内部信号也 会随之增加,信号的层次深度也会越来越大,调试更加困难
基于形式化方法的验证
• 形式化验证的常用方法介绍
定理证明 模型检验 等价性检验
• 形式化验证方法的局限性
形式化验证方法的局限性
适合模块级或中小系统级设计的验证
由于形式验证存在状态空间爆炸性增长的可能,当系 统变复杂时,验证将占用较多的计算机资源,耗时增 加。
解决办法:
➢ 采用能够解决更复杂问题的算法 ➢ 当形式方法不能完全证明为正确时,则进行部分验证,通过
集成电路验证的基本方法分类
• 基于模拟的验证
➢ 基于时钟周期的模拟 ➢ 基于事件的模拟 ➢ 硬件加速仿真验证
✓ 基于FPGA的验证方法 ✓ 基于并行服务器的硬件加速仿真
• 基于形式化方法的验证
从不同角度可对形式验证方法做不同分类,通常分为:
➢ 定理证明 ➢ 模型检验 ➢ 等价性检验
基于模拟的验证分类
• 需要更多的人力/物力资源投入 ---Intel Pentium4 验证投入10亿美元 Bob Bentley, “Validating the Intel Pentium4 Microprocessor”, Proc.38th Design Automation Conf.(DAC01),2001,pp.244-248 验证是证明一个设计能正确实现其功能的过程,然而,客观地 说,验证能发现/证明存在错误,不能证明一个设计绝对不存在错 误。
• 基于周期的模拟 ·适用于同步时序逻辑的模拟 ·模拟时组合逻辑采用零延迟模型,无法得到内部信号变化 的暂态信息 ·具有闭环的逻辑不适用基于周期的模拟
模拟器的组成
三个主要组成部分:
前端
对输入进行解析,建立程序内部各组成部分的对应关系, 形成对输入电路的一个完整描述,用以支持所有的后续处 理和操作
后端
• 时钟驱动模拟验证
基于时钟周期的仿真-------采用基于周期的仿真器,完全不理 会时钟内部发生的事件,而是在每个周期中进行一次信号评 估,由于执行时间较短,这类仿真器的运行速度往往较快, 目前常用的仿真器VCS、NC-verilog、ModelSim都支持此类仿 真
基础:
•
现代集成电路设计面临的挑战
•
集成电路验证的概念和基本原理
•
集成电路验证的分类
原理:
•
Βιβλιοθήκη Baidu
仿真器的分类
•
仿真器的组成
•
仿真器的原理
语言:
• 设计语言(VHDL、Verilog、System C)
• 验证语言(Open Vera、e、System Verilog)
现代集成电路设计面临的挑战
规模 市场压力 低功耗设计 …
• 事件驱动模拟验证
基于事件的仿真-------采用基于事件的仿真器,捕获事件(在 时钟内部或在时钟的边界上)并通过设计进行传播,直到实 现一个稳定状态为止。
模拟验证方法的局限性
• 非完备性,即只能证明有错而不能证明无错 • 一般适用于在验证初期发现大量和明显的设计错误,
对于验证后期出现的复杂和微妙的错误,常常面临调 试极其困难,甚至显得难以胜任. • 严重依赖于测试向量的选取,而合理而充分地选取测 试向量,达到高覆盖率是一个十分艰巨的课题. • 由于设计者不能预测所有错误的可能模式,所以尚未 发现某个最好的覆盖率度量. • 即使选定了某个覆盖率度量,验证时间也是一个瓶颈.
模拟器的灵魂,决定了模拟器的类型,例:FPGA芯片 划分/电路布局布线
• 物理验证 物理验证主要是进行设计规则检查、版图与原理图对照和 信号完整性分析。
• 性能验证 性能验证的目标是确保实际设计能够提供实现规范文档中 所要求的性能(如每秒执行的指令数,数据率等)。
• 功耗验证
集成电路验证的基本原理
规范的设计需求
设计
“替代设计” 功能要求
设计需求
仿真输出 等效? 参考输出
··· ····
准确性
···· ···
复杂度
·· ····
极限适用 性
···
—
基于事件的模拟器和基于周期的模拟器
• 基于事件的模拟 ·当且仅当器件的输入有事件发生时,才对器件的状态求值 ·当变量或信号的值发生改变时,相应更新事件触发所有引 用此变量或信号的器件进行求值. ·当一个变量或信号影响多个输出时,模拟器应分别计算每 个输出的延迟,并将事件放入相应事件片的事件队列
举出反例来协助验证。
形式验证的效果受到以下因素的影响:
➢ 设计规范是否存在错误 ➢ 设计规范中的功能覆盖是否完整 ➢ 用户可能发生的对规范的错误表述以及对设计的过度约束 ➢ 形式验证软件程序本身的错误
验证方法比较:模拟vs形式化方法
模拟验证 形式验证
速度
·· ····
DUT规模
···· ··
完备性
第12讲 回顾和总结
•了解集成电路验证领域的基础知识 •掌握验证的基本流程和工作方法 •具备一定的验证实践能力 •了解集成电路验证领域的最新发展
•了解集成电路验证领域的基础知识 •掌握验证的基本流程和工作方法 •具备一定的验证实践能力 •了解集成电路验证领域的最新发展
了解集成电路验证领域的基础知识
什么是集成电路的验证?
• 集成电路验证是检查 并确认集成电路设计
的各个阶段不偏离原 始的需求规范的过程
设计
• 验证几乎伴随着集成 电路设计的全过程,
因此验证的周期也是
与设计周期相辅相成 的。
设计需求
是否符合设计需求?
算法描述
正确性检查
是否实现了所需算法?
RTL描述
验证
是否等价?
门级网表
是否等价?
等价性检查
物理版图
集成电路设计验证的覆盖范围
• 功能验证 功能验证的目标是确保实际设计实现规范文档中所描述的 功能,发现功能模块中存在的逻辑缺陷,保证逻辑设计的 正确性。
• 时序验证 静态时序分析:根据设计规范的要求通过检查所有可能路 径的时序。 动态时序分析:主要指的是门级(或对版图参数提取结 果)仿真。
设计需求
设计 等价?
设计路径
等价性检查
替代设计
验证路径
设计
满足? 正确性检查
特定的表述方式 “替代设计”
集成电路验证面临的挑战
• 验证方法和工具与不断增大的设计规模不匹配 ----状态空间爆炸问题
• 验证周期增长 ----验证成为处理器设计流程中真正的瓶颈
• 调试更加困难 ---设计复杂度增加,规模增大,从RTL到门级网表的内部信号也 会随之增加,信号的层次深度也会越来越大,调试更加困难
基于形式化方法的验证
• 形式化验证的常用方法介绍
定理证明 模型检验 等价性检验
• 形式化验证方法的局限性
形式化验证方法的局限性
适合模块级或中小系统级设计的验证
由于形式验证存在状态空间爆炸性增长的可能,当系 统变复杂时,验证将占用较多的计算机资源,耗时增 加。
解决办法:
➢ 采用能够解决更复杂问题的算法 ➢ 当形式方法不能完全证明为正确时,则进行部分验证,通过
集成电路验证的基本方法分类
• 基于模拟的验证
➢ 基于时钟周期的模拟 ➢ 基于事件的模拟 ➢ 硬件加速仿真验证
✓ 基于FPGA的验证方法 ✓ 基于并行服务器的硬件加速仿真
• 基于形式化方法的验证
从不同角度可对形式验证方法做不同分类,通常分为:
➢ 定理证明 ➢ 模型检验 ➢ 等价性检验
基于模拟的验证分类
• 需要更多的人力/物力资源投入 ---Intel Pentium4 验证投入10亿美元 Bob Bentley, “Validating the Intel Pentium4 Microprocessor”, Proc.38th Design Automation Conf.(DAC01),2001,pp.244-248 验证是证明一个设计能正确实现其功能的过程,然而,客观地 说,验证能发现/证明存在错误,不能证明一个设计绝对不存在错 误。
• 基于周期的模拟 ·适用于同步时序逻辑的模拟 ·模拟时组合逻辑采用零延迟模型,无法得到内部信号变化 的暂态信息 ·具有闭环的逻辑不适用基于周期的模拟
模拟器的组成
三个主要组成部分:
前端
对输入进行解析,建立程序内部各组成部分的对应关系, 形成对输入电路的一个完整描述,用以支持所有的后续处 理和操作
后端