第2章验证、模拟和仿真.PPT
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《第2章验证、模拟和仿真.PPT》由用户(金钥匙文档)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 验证 模拟 仿真
- 资源描述:
-
1、第3章 验证、模拟和仿真,南京航空航天大学 信息科学与技术学院 电子工程系,复杂电路设计主要依赖于EDA技术,在EDA工具中,具备模拟和综合功能。,模拟是当前最常用的设计验证手段。,3.1 验证与模拟,3.1.1 模拟的概念,模拟作为设计验证手段,常用工具: EDA工具中的模拟器(Simulator),称为软件模拟; 可编程器件开发系统,模拟“真实的”电路原形设计,硬件仿真器,要模拟电路,首先必须获得以下信息: 描述原形设计的模型 真值表、逻辑表达式、BDD图、HDL表达等 元器件库 在设计的不同抽象级,模拟采用不同的元器件库 施加给模型的激励信号 逻辑值、波形图、伪随机测试图形或Testbe
2、nch 施加激励信号后模型的理想响应,模拟要素,功能模拟 采用元器件的逻辑函数表达式; 结构级模拟 采用的库包含了一系列标准单元,对每个单元的基本逻辑功能及传播延迟都做了描述; 晶体管级模拟 需要生产厂家提供库来进行模拟。,南京航空航天大学 信息科学与技术学院 电子工程系,模拟作为设计验证手段,可分为: 功能模拟 检查原形设计操作的正确性。 时间模拟 检查原形设计时间的正确性和确定关键路径。,3.1.2 验证与模拟的方法,1. 基于模拟的方法,包括: 基于事件的模拟注重于设计的功能与时间的模拟,适合于异步电路的; 基于时钟的模拟只对设计的功能进行分析,适于中规模设计; 基于事务的验证不需要详细
3、的测试平台(testbench),系统中所有模块之间的事务类型都得以列举和系统化测试; 代码覆盖率给定的验证代码施加到具体的设计对象,所对应的功能覆盖范围就是代码覆盖率,通常在RTL级完成; 软硬件协同验证通过软件进行操作和诊断,实际的激励加在硬件设计上; 数模混合验证分别验证混合电路的各个模块,接口部分按数字电路看待,在整个系统集成后再做验证; 硬件加速器用硬接线连接制造好的元器件来模拟原形设计。仿真也是一种硬件验证手段,依赖于可编程器件开发系统。,2. 静态方法,不需要Testbench或测试向量即可进行验证 包括: 格式检查验证设计代码格式的正确性; 静态时间验证对每个存储和锁存单元进行
4、建立、保持和延迟等时间要求的验证。,3. 形式验证方法,采用穷举的方法检查出与特定事件序列相关的错误,不需要Testbench或测试向量 包括: 模型检查用数学的方法验证设计的行为特性; 等效检查验证用数学方法检查同一设计不同版本之间的一致情况。,4. 物理验证和分析方法,考虑电参数和工艺参数对互连寄生参数的影响 包括:时序、信号完整性、串扰、电迁移、功耗分析等,南京航空航天大学 信息科学与技术学院 电子工程系,系统级设计中,系统行为按照设计规格建模,采用行为级Testbench验证。 (行为级Testbench可用HDL、C、C+编制,也可用Vera或Specman Elite之类的Test
5、bench语言编制。) 系统级验证完成后,采用库中的软硬件模块把系统映射成结构或编写成部分设计过程,并进行软硬件划分。结构的功能和性能验证所采用的Testbench是系统行为模拟中所编制的。 行为级Testbench应转换为合适的格式,为硬件RTL代码模拟和软件验证所用。,3.1.3 验证方法,1. 系统级验证,2. 硬件RTL验证,硬件验证中所采用的RTL代码和Testbench来自于系统级设计。Testbench转换为合适的格式以验证RTL代码,被验证的是设计功能。 RTL验证包括格式检查、形式模型检查、逻辑模拟、基于事务的模拟和代码覆盖率分析。,3. 软件验证,4. 网表验证,硬件RTL
6、综合后可生成门级网表,然后一是按参考设计的RTL代码进行形式等效验证,一是按设计实现的门级网表进行形式等效验证,以保证RTL代码和门级网表的逻辑等效。时间验证也在设计的不同步骤中得以执行。,软件模拟产生测试文件、采用软件原形、快速原形系统或软硬件协同验证等完成。,快速原形系统将仿真系统和可重构的原形设计映射到制作在一块板子上的DSP、FPGA等元件上,配合系统连接板,以准确的提供一个真实的原形设计硬件。,5. 物理验证,包括DRC、LVS、工艺的天线效应分析、串扰、IR下降在内的SI检查 。,6. 器件测试,3.2.1 Testbench格式,功能验证过程中生成的测试向量用于器件测试。 方法是
7、用ATPG工具或功能验证中创建的Testbench生成测试向量,如果结果满意,可用于产品测试。,3.2 基于Testbench的验证,Testbench是针对用HDL语言描述的数字电路而编写的、包括施加给CUT的测试图形和CUT相应的理想响应,并进行测试响应分析的HDL代码。,Testbench格式主要有:HDL、可编程语言接口(Programmable Language Interface, PLI)、基于波形的、基于事务的和基于设计参数的。,南京航空航天大学 信息科学与技术学院 电子工程系,用写testbench的方法来做功能验证比画波形图的优点如下: (1)画波形无法产生复杂的激励,只能
8、提供极低的功能覆盖。而testbench以语言的方式描述激励源,容易进行高层次的抽象,可以产生各种激励源。 以PCI转以太网电路设计为例:PCI的配置读写、存储器读写等;以太网的短包、长包等。如果这些激励都用画波形图完成,工作量难以想象;用testbench则可以轻松完成这些工作。 (2) 画波形无法实现验证自动化。对于大规模设计来说,仿真时间很长,如果一个需要仿真1天的设计在检错时仅通过画波形图来观测,将几乎不能检查出任何错误;而testbench是以语言的方式进行描述的,能够很方便地实现对仿真结果的自动比较,并以文字的方式报告仿真结果。 (3) 画波形图难于定位错误。用画波形图进行仿真是一
9、种原始的墨盒验证法,无法使用新的验证技术;而testbench可以通过在内部设置观测点,快速地定位问题。,南京航空航天大学 信息科学与技术学院 电子工程系,(4) 画波形的可重用性和平台移植性极差。如果将一个PCI转100Mb以太网的设计升级到PCI转1000Mb以太网,这时原来画的波形图将不得不重新设计,耗费大量的人力物力及时间;但若使用testbench,只需要进行一些小的修改就可以完成一个新的测试平台,极大地提高了验证效率。 (5) 通过画波形的验证速度极慢。Testbench的仿真速度比画波形图的方式快几个数量级,在Quartus下画波形需半个小时才能跑出来的仿真结果,在ModelSi
10、m下使用testbench可能只需几秒钟就可以完成。,P45是一个二选一多路选择器的Testbanch实例。,3.2.2 Testbench开发语言和工具,Specman Elite和Synopsys Vera都是硬件验证语言,根据这两种语言开发的Testbench简练、易懂、验证效率高。 Synopsys Vera构成目标模型环境,自动生成测试激励、自动检查验证结果和给出覆盖率分析,所产生的Testbench也易于复用。,/module design of mux2 module mux2(in1,in2,out1,sel); input in1,in2,sel; output out1;
11、assign out1=sel ? in2 : in1; endmodule / testbench for mux2 library ieee; use ieee.std_logic_1164.all; entity mux2_tb is end mux2_tb; architecture tb of mux2_tb is component mux2 port ( in1,in2:IN STD_LOGIC; out1:OUT STD_LOGIC; sel:IN STD_LOGIC); end component; signal in1,in2,out1,sel:std_logic; beg
展开阅读全文