文档介绍:第四章 设计验证
随着集成度的提高,系统的规模日益庞大且复杂。
强壮的系统应有完备的验证作保障。
验证工作量远大于系统设计工作量 。
验证工作的基本技术和方法。
Page 1
目前,验证一般通过仿真实现
本章节中,验证和仿真不加区分
1
最新版整理ppt
验证概述
Page 2
验证过程是证明设计正确的过程,验证的目的是为了保证设计实现与设计规范是一致的,保证从设计规范开始,经过一系列变换后得到的网表与最初的规范是一致的,整个变换的过程是正确的。
验证的概念
2
最新版整理ppt
Page 3
验证概述
从自然语言表述的系统规范变换成完整的、可验证和无二义性的系统规范。
从系统规范变换成可实现的模块设计规范。
从模块设计规范变换成RTL及代码描述。
从RTL代码通过综合工具变换成门级网表。
从门级网表通过后端布局布线工具变换成具有延时信息的网表。
FPGA设计可能包含的几个变换:
3
最新版整理ppt
Page 4
验证概述
验证是一个多次重复的过程,是一个不断向期望结果靠近的过程。
系统规范
网表
交换
验证
4
最新版整理ppt
Page 5
验证概述
验证和测试是ASIC设计流程中两个不同的环节。
验证的目的则是为了确认设计符合设计规范,目前验证一般通过仿真实现。
测试的目的是为了确认生产后的设计产品是否合格、正确,一般由加工厂家或封装测试厂家完成。
验证和测试(Verification vs Test)
5
最新版整理ppt
验证概述
系统规范
网表
芯片
电路设计
生产
验证(仿真)
测试
对物理器件高低电平的确认
不属于本教材范畴
对设计规范及功能的确认
6
最新版整理ppt
Page 6
验证概述
传统的电子线路设计验证方法
Top-Down/Bottom-Up 验证方法
目前的电子线路设计验证方法
逻辑设计、画电路图、搭建电路、测试验证
借助 EDA 工具在计算机上进行 RTL 级设计和验证。
7
最新版整理ppt
Page 7
Top-Down/Bottom-Up 验证方法
Top-Down 验证法
系统级验证 :根据系统规范对系统进行建模,并对建立的模型进行验证。
功能验证:验证设计的RTL代码应符合系统规范。主要方法--功能仿真(形式化验证为辅)。
门级网表验证: 通过功能仿真或形式化工具检验RTL代码和综合后网表的是否相等。
时序验证:验证综合后含有延时信息的网表时序是否满足要求。对于同步设计一般通过静态时序分析工具完成验证。
8
最新版整理ppt
Page 8
Top-Down/Bottom-Up 验证方法
Bottom-Up 验证法
模块级验证----验证模块的各种工作情况,保证每个单元的设计质量。
子系统验证、系统级验证 ----分层次组装模块进行子系统验证直至完成系统级验证。
备注:系统级验证,目标是验证整个设计的功能。验证主要集中在设计和外环境之间能否协调工作,包括一些极端情况、边界条件和错误处理等。
9
最新版整理ppt
Page 9
目前主流的两类 “验证技术”:
验证技术
(1)基于形式化的验证-----通过数学的方法,证明设计的功能是否与规范一致。
等价性检验:比较两个设计是否完全等价。
两个网表比较,网表与RTL代码比较
模型检验:根据设计的RTL代码,提取有限状态机并穷举搜索设计状态空间,验证设计特性。
模型检验工具:Cadence的FormalCheck、IBM的Sugar和
Sypopsys的Vera
局限性很大
1、设计规模越来越大复杂
2、模型检验所描述的特性有限
10
最新版整理ppt