版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第3章验证、模拟和仿真
南京航空航天大学信息科学与技术学院电子工程系复杂电路设计主要依赖于EDA技术,在EDA工具中,具备模拟和综合功能。模拟是当前最常用的设计验证手段。有两个功能:(1)验证设计和转换的正确性(事件驱动模拟)(2)验证测试的正确性(故障模拟)3.1验证与模拟3.1.1模拟的概念模拟作为设计验证手段,常用工具:EDA工具中的模拟器(Simulator),称为软件模拟;可编程器件开发系统,模拟“真实的”电路原形设计,硬件仿真器
第3章验证、模拟和仿真
要模拟电路,首先必须获得以下信息:
描述原形设计的模型真值表、逻辑表达式、BDD图、HDL表达等
元器件库在设计的不同抽象级,模拟采用不同的元器件库
施加给模型的激励信号逻辑值、波形图、伪随机测试图形或Testbench
施加激励信号后模型的理想响应模拟要素功能模拟
采用元器件的逻辑函数表达式;结构级模拟采用的库包含了一系列标准单元,对每个单元的基本逻辑功能及传播延迟都做了描述;晶体管级模拟
需要生产厂家提供库来进行模拟。
南京航空航天大学信息科学与技术学院电子工程系第3章验证、模拟和仿真
模拟作为设计验证手段,可分为:
功能模拟检查原形设计操作的正确性。时间模拟检查原形设计时间的正确性和确定关键路径。3.1.2验证与模拟的方法1.基于模拟的方法包括:基于事件的模拟—注重于设计的功能与时间的模拟,适合于异步电路的~;基于时钟的模拟—只对设计的功能进行分析,适于中规模设计;基于事务的验证—不需要详细的测试平台(testbench),系统中所有模块之间的事务类型都得以列举和系统化测试;代码覆盖率—给定的验证代码施加到具体的设计对象,所对应的功能覆盖范围就是代码覆盖率,通常在RTL级完成;软硬件协同验证—通过软件进行操作和诊断,实际的激励加在硬件设计上;数模混合验证—分别验证混合电路的各个模块,接口部分按数字电路看待,在整个系统集成后再做验证;硬件加速器—用硬接线连接制造好的元器件来模拟原形设计。仿真也是一种硬件验证手段,依赖于可编程器件开发系统。第3章验证、模拟和仿真
2.静态方法
——不需要Testbench或测试向量即可进行验证包括:格式检查—验证设计代码格式的正确性;静态时间验证—对每个存储和锁存单元进行建立、保持和延迟等时间要求的验证。3.形式验证方法
——采用穷举的方法检查出与特定事件序列相关的错误,不需要Testbench或测试向量包括:模型检查—用数学的方法验证设计的行为特性;等效检查验证—用数学方法检查同一设计不同版本之间的一致情况。4.物理验证和分析方法
——考虑电参数和工艺参数对互连寄生参数的影响包括:时序、信号完整性、串扰、电迁移、功耗分析等
南京航空航天大学信息科学与技术学院电子工程系第3章验证、模拟和仿真
系统级设计中,系统行为按照设计规格建模,采用行为级Testbench验证。(行为级Testbench可用HDL、C、C++编制,也可用Vera或SpecmanElite之类的Testbench语言编制。)系统级验证完成后,采用库中的软硬件模块把系统映射成结构或编写成部分设计过程,并进行软硬件划分。结构的功能和性能验证所采用的Testbench是系统行为模拟中所编制的。行为级Testbench应转换为合适的格式,为硬件RTL代码模拟和软件验证所用。3.1.3验证方法1.系统级验证2.硬件RTL验证硬件验证中所采用的RTL代码和Testbench来自于系统级设计。Testbench转换为合适的格式以验证RTL代码,被验证的是设计功能。
RTL验证包括格式检查、形式模型检查、逻辑模拟、基于事务的模拟和代码覆盖率分析。
第3章验证、模拟和仿真
3.软件验证4.网表验证硬件RTL综合后可生成门级网表,然后一是按参考设计的RTL代码进行形式等效验证,一是按设计实现的门级网表进行形式等效验证,以保证RTL代码和门级网表的逻辑等效。时间验证也在设计的不同步骤中得以执行。软件模拟产生测试文件、采用软件原形、快速原形系统或软硬件协同验证等完成。
快速原形系统——将仿真系统和可重构的原形设计映射到制作在一块板子上的DSP、FPGA等元件上,配合系统连接板,以准确的提供一个真实的原形设计硬件。5.物理验证包括DRC、LVS、工艺的天线效应分析、串扰、IR下降在内的SI检查。第3章验证、模拟和仿真
6.器件测试3.2.1Testbench格式功能验证过程中生成的测试向量用于器件测试。方法是——用ATPG工具或功能验证中创建的Testbench生成测试向量,如果结果满意,可用于产品测试。3.2基于Testbench的验证
Testbench是针对用HDL语言描述的数字电路而编写的、包括施加给CUT的测试图形和CUT相应的理想响应,并进行测试响应分析的HDL代码。Testbench格式主要有:HDL、可编程语言接口(ProgrammableLanguageInterface,PLI)、基于波形的、基于事务的和基于设计参数的。
南京航空航天大学信息科学与技术学院电子工程系用写testbench的方法来做功能验证比画波形图的优点如下:(1)画波形无法产生复杂的激励,只能提供极低的功能覆盖。而testbench以语言的方式描述激励源,容易进行高层次的抽象,可以产生各种激励源。
以PCI转以太网电路设计为例:PCI的配置读写、存储器读写等;以太网的短包、长包等。如果这些激励都用画波形图完成,工作量难以想象;用testbench则可以轻松完成这些工作。(2)画波形无法实现验证自动化。对于大规模设计来说,仿真时间很长,如果一个需要仿真1天的设计在检错时仅通过画波形图来观测,将几乎不能检查出任何错误;而testbench是以语言的方式进行描述的,能够很方便地实现对仿真结果的自动比较,并以文字的方式报告仿真结果。(3)画波形图难于定位错误。用画波形图进行仿真是一种原始的墨盒验证法,无法使用新的验证技术;而testbench可以通过在内部设置观测点,快速地定位问题。第3章验证、模拟和仿真
南京航空航天大学信息科学与技术学院电子工程系(4)画波形的可重用性和平台移植性极差。如果将一个PCI转100Mb以太网的设计升级到PCI转1000Mb以太网,这时原来画的波形图将不得不重新设计,耗费大量的人力物力及时间;但若使用testbench,只需要进行一些小的修改就可以完成一个新的测试平台,极大地提高了验证效率。(5)通过画波形的验证速度极慢。Testbench的仿真速度比画波形图的方式快几个数量级,在Quartus下画波形需半个小时才能跑出来的仿真结果,在ModelSim下使用testbench可能只需几秒钟就可以完成。
第3章验证、模拟和仿真
P45是一个二选一多路选择器的Testbanch实例。3.2.2Testbench开发语言和工具
SpecmanElite和SynopsysVera都是硬件验证语言,根据这两种语言开发的Testbench简练、易懂、验证效率高。
SynopsysVera构成目标模型环境,自动生成测试激励、自动检查验证结果和给出覆盖率分析,所产生的Testbench也易于复用。第3章验证、模拟和仿真
//moduledesignofmux2modulemux2(in1,in2,out1,sel); inputin1,in2,sel; outputout1; assignout1=sel?in2:in1;endmodule//testbenchformux2libraryieee;useieee.std_logic_1164.all;
entitymux2_tbisendmux2_tb;
architecturetbofmux2_tbiscomponentmux2port(in1,in2:INSTD_LOGIC;out1:OUTSTD_LOGIC;
sel:INSTD_LOGIC);endcomponent;
signalin1,in2,out1,sel:std_logic;beginu1:mux2portmap(in1,in2,out1,sel);in1<='0'after0ns,'1'after5ns,'0'after10ns,'1'after12ns,'0'after15ns;in2<='1'after1ns,'0'after4ns,'1'after8ns;
sel<='1'after0ns,'0'after12ns;endtb;3.3逻辑模拟
在电路的设计与制造流程中,逻辑模拟用来验证设计的正确性。逻辑模拟可分为两大类:
编译模拟
解释模拟,也称为事件驱动模拟。3.3.1编译模拟编译后:LDABANDQINVSTAE ORASTAF
STAQ
模拟器把电路的网表转换成机器指令码序列,这些序列完成电路的各种逻辑和算法功能,称为编译码模型。每次模拟时,模拟器先从激励文件读入原始输入值(测试图形),然后根据编译码模型按层次计算出电路中每一个元件的逻辑值。第3章验证、模拟和仿真
南京航空航天大学信息科学与技术学院电子工程系编译模拟的优点:速度快编译模拟的缺陷:当设计改变时电路需要重新编译;对于每一个测试图形,电路每个部分的行为都要模拟。3.3.2事件驱动模拟在事件驱动模拟过程中,采用电路的结构模型来传播事件。
事件指的是信号逻辑值的改变。原始输入值的变化定义在激励文件中,其它线的事件由被激活的元件(元件中至少有一个输入逻辑值改变)逻辑关系确定。事件驱动:有事件时模拟器才分析激活元件,确定其它事件。
见P59图第3章验证、模拟和仿真
3.3.3延迟模型
模拟流程图由于其中行为元件采用不同的延迟模型还有多种变例。
延迟模型是决定模拟准确度和模拟程序复杂度的关键因素。如果每个元件都按实际情况分配不同的延迟,那么模拟结果就准确。静态时间分析(STA)关注关键路径的延迟,根据在最坏的分析条件下各个元件的数据表示计算而得(通过静态时序分析STA得到电路时序是否满足要求)。第3章验证、模拟和仿真
STA是一种用于时间模拟的穷尽分析方法。
STA工具将CUT分解成不同的时序路径集合后,首先分析每条路径的门延时和线延时,再计算每条路径总的延时。
它既可分析给定路径的各种延时信息,也可用来分析设计者的时序约束是否满足,最终得到一个完整的STA报告。
基于模拟的设计验证要解决3个相互关联的问题:(1)如何产生输入激励信号值测试生成(2)如何判断模拟结果是否正确测试分析(3)如何选择输入激励的施加方法测试施加
南京航空航天大学信息科学与技术学院电子工程系
故障模拟
将故障注入设计模块,并对其施加测试集,经模拟器对有故障的设计模型进行模拟,然后分析该模型的响应,达到以下目的:(1)测试给定的故障出现的条件;(2)测试图形生成;(3)衡量给定测试图形的效率;(4)生成故障表(可测的故障)。
3.4故障模拟
为了对制造好的电路施加测试图形进行故障测试,应该在设计阶段对故障进行模拟,以生成测试图形及可测故障集。
电路在制造过程中,某些失效带来了物理故障,可以建模为逻辑故障。第3章验证、模拟和仿真
南京航空航天大学信息科学与技术学院电子工程系故障模拟器的流程图进行故障测试生成时:首先故障模拟器从故障列表中选定1个故障,从测试集中选定输入激励加到设计模型上。如果模拟和测试分析表明有故障和无故障设计模型的响应不同,故障出现的条件也相符合,则选定的输入激励就是检测该故障的测试图形,保存测试图形并将该故障从故障列表中剔除。选择下1个故障重新进行上述过程;否则换另1个输入激励,直至模拟和分析结果满意为止。如果选择测试集中所有的输入激励都不能测出某个故障,则称此故障不可测。第3章验证、模拟和仿真
南京航空航天大学信息科学与技术学院电子工程系故障模拟器有两类:编译模拟器和事件驱动模拟器。故障模拟主要方法有3种:
并行故障模拟故障注入与处理是并行的演绎故障模拟通过演绎的方法一“遍”找出所有可测故障并发故障模拟综合并行模拟与演绎模拟并行故障模拟常采用编译模拟器,演绎故障模拟和并发故障模拟常采用事件驱动模拟器。3.4.1并行故障模拟故障注入
针对所选择的需同时处理的故障子集,构造其能够被故障模拟程序识别与处理的数据结构。模拟过程中,数据结构用于生成所注入故障的效应。并行模拟的思想是:同时模拟电路中的N个故障。将串行模拟中N个单固定故障分别对应着的N个电路模型,并成一个含有N个单固定故障的电路模型。第3章验证、模拟和仿真
例题:若电路有N-1个故障和1个无故障的响应值,则可用Nbit的字来表示它们。根据第1列中原始输入值abcd=1010
、门的逻辑关系和第1行所列的各个故障分别计算对应的原始输出值=>
只有故障a/0,
f1/1,f3/0,f/14个故障可检测得到(在输出f端观察)第3章验证、模拟和仿真
电路中有9条线,应有18个单固定型故障,如果考虑abcd=1010,则有故障14个。无故障时的响应ff
如果计算机字长为N,那么一个字可表示N-1种故障(另1位表示无故障)。
对于有M个故障、1个原始输出的电路,需处理M/(N-1)]次,假如电路有P个原始输出,至少需要计算[P*M/(N-1)]次。
演绎故障模拟要用到故障表的概念。
一个节点A的故障表LA指与节点A相关联的每一根信号线的列表形式,所有节点的故障表就构成了电路的故障表。故障模拟时,LA是引起节点A的逻辑值与正常值不同的所有故障的集合。3.4.2演绎故障模拟x3101010111101000001100010010100000000x3/1x3/0x2/1x2/0x1/1x1/0x3x2x1为1的输入端发生故障0,在输出端检测不到;为0的输入端都发生故障1,在输出端能反映这个故障。对与门,有x1x2=11,x3=1.这时,任何1个输入端的故障都会反映在输出端。第3章验证、模拟和仿真
南京航空航天大学信息科学与技术学院电子工程系设有一个n输入的与(非)门,输出为y,输入端的故障分别为,施加测试图形时,它的输出端的故障表为。令1.“与”门和“与非”门的故障表计算
若与门的输入是0、1构成的向量,当为1的输入端发生故障0时,在输出端是检测不到的。只有那些所有为0的输入端都发生故障而变成1,才可能在输出端反映这个故障。若与门的输入向量为全1,则任何1个输入端的故障都会反映在输出端。(与门、与非门的非控制值为1)其中,1*和0*在元件为“与”门时分别为1和0,在为“与非”门时分别为0和1。m+p=n。第3章验证、模拟和仿真
南京航空航天大学信息科学与技术学院电子工程系2.“或”门和“或非”门的故障表计算
若或门的输入是0、1构成的向量,当为0的输入端发生故障1时,在输出端是检测不到的。只有那些所有为1的输入端都发生故障而变成0,才可能在输出端反映这个故障。若或门的输入向量全为0,则任何1个输入端的故障都会反映在输出端。(或门、或非门的非控制值为0)设有一个n输入的或(非)门,输出为y,输入端的故障分别为,施加测试图形时,它的输出端的故障表为。令其中,1*和0*在元件为“或”门时分别为1和0,在为“或非”门时分别为0和1。m+p=n。第3章验证、模拟和仿真
输入激励abcd=1010由基本门的故障表写出每个节点的故障表,可测的故障是a/0,f1/1,f3/0,f/1例题:La=a/0,Lb=b/1,Lc=c/0,Ld=d/1,
=a/0存在于La中而不在Lb中a/0,f1/1,f3/0,f/10f=!(f3+f4)d/1,f2/0,f4/10f4=!(b+f2)a/0,f1/1,f3/01f3=!(cf1)d/1,f2/01f2=!(cd)a/0,f1/10f1=!(a+b)d/10d=0c/01c=1b/10b=0a/01a=1第5级第4级第3级第2级第1级0层ff演绎模拟所得故障表与测试图形有关,并非元件固有。第3章验证、模拟和仿真
有故障,在f1门只有a/0和f1/1被检测到,在下一级进一步检查……3.4.3并发性故障模拟综合了并行模拟和演绎模拟的优点,比其他算法更快,而且使用动态内存分配。
101f/1110f4/1001f3/0110f2/0101f4/1010f3/0001f1/1110b/1001c/0100f2/0101f1/1110d/1001f2/0110f1/1110d/1110b/1001a/0001d/1110a/0001c/0001a/0100100011101100f3f4fff2bf4f4f1cf3f3cdf2f2abf1f1所有的门无故障情况第3章验证、模拟和仿真
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 西安房屋租赁合同书
- 烤串场地租赁及设备维护合同2024年度
- 铝合金电气设备外壳2024年度加工合同
- 基于二零二四年度市场趋势的营销策略服务合同
- DB1409T 54-2024专业镇建设培育指南 第1部分:制造业类专业镇
- 股权转让协议补充协议模板 范本版3篇
- 孩子抚养权协议书模板
- 二零二四年度体育俱乐部与运动员之间的赞助合同2篇
- 钢管架施工期间劳动力雇佣合同
- 《上感及支气管炎》课件
- 绿化养护合同范例
- 广东省顺德区2024-2025学年高三上学期第一次教学质量检测历史试题 含解析
- 数据安全与网络管理制度
- 天津市塘沽第二中学2024-2025学年七年级上学期期中考试数学试卷(无答案)
- 猪的常见疾病治疗方法
- 【正版授权】 ISO 6583:2024 EN Methanol as a fuel for marine applications - General requirements and specifications
- 2024年秋江苏开放大学文献检索与论文写作参考范文四:工程管理专业
- 深圳2020-2024年中考英语真题专题07 书面表达(原卷版)
- 2020小学科学教师专业素养考试模拟试卷及答案(三套)
- 语文-重庆市2025年普通高等学校招生全国统一考试11月调研试卷(康德卷)试题和答案
- 一把手讲安全领导力与执行力考核试卷
评论
0/150
提交评论