![(电路与系统专业论文)基于51核SoC的功能验证[电路与系统专业优秀论文].pdf_第1页](http://file.renrendoc.com/FileRoot1/2019-12/13/1b3a0976-2adb-4fa8-b930-abcb5c08a96e/1b3a0976-2adb-4fa8-b930-abcb5c08a96e1.gif)
![(电路与系统专业论文)基于51核SoC的功能验证[电路与系统专业优秀论文].pdf_第2页](http://file.renrendoc.com/FileRoot1/2019-12/13/1b3a0976-2adb-4fa8-b930-abcb5c08a96e/1b3a0976-2adb-4fa8-b930-abcb5c08a96e2.gif)
![(电路与系统专业论文)基于51核SoC的功能验证[电路与系统专业优秀论文].pdf_第3页](http://file.renrendoc.com/FileRoot1/2019-12/13/1b3a0976-2adb-4fa8-b930-abcb5c08a96e/1b3a0976-2adb-4fa8-b930-abcb5c08a96e3.gif)
![(电路与系统专业论文)基于51核SoC的功能验证[电路与系统专业优秀论文].pdf_第4页](http://file.renrendoc.com/FileRoot1/2019-12/13/1b3a0976-2adb-4fa8-b930-abcb5c08a96e/1b3a0976-2adb-4fa8-b930-abcb5c08a96e4.gif)
![(电路与系统专业论文)基于51核SoC的功能验证[电路与系统专业优秀论文].pdf_第5页](http://file.renrendoc.com/FileRoot1/2019-12/13/1b3a0976-2adb-4fa8-b930-abcb5c08a96e/1b3a0976-2adb-4fa8-b930-abcb5c08a96e5.gif)
已阅读5页,还剩60页未读, 继续免费阅读
(电路与系统专业论文)基于51核SoC的功能验证[电路与系统专业优秀论文].pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
山东大学硕士学位论文 a o a s i c b f m d u v e l a f p g a l 玎) l i c e i p m g l u t m p w n r e o t p p l l r a m r o m r p s r t o s s f r s o c w d t 符号说明 a d a p t i v eo p t i m i z a t i o n a p p l i c a t i o ns p e c i f i ci n t e g r a t e dc i r c u i t b u sf u n c t i o nm o d e l d e s i g n u n d o v e r i f i c a t i o n e m b e d d e dl o g i ca n a l y z e r f i e l dp r o g r a m m a b l eg a t ea r r a y h a r d w a r ed e s c r i p t i o nl a n g u a g e i nc i r c u i te m u l a t i o n i n t e l l e c t u a lp r o p e r t y j o i n ta c t i o nt e s tg r o u p l o o k - u pt a b l e m u l t i p l ep r o j e c tw o r k n o n - r e c u r r i n ge n g i n e e r i n g o n et i m ep r o g r a m m a b l e p h a s el o c k e dl o o p r a n d o ma c c e s sm e m o r y r e a do n l ym e m o r y r a p i dp r o t o t y p es y s t e m r e a l - t i m eo p e r a t i n gs y s t e m s p e c i a lf u n c t i o nr e g i s t e r s y s t e m o n a c h i p w a t c hd o gt i m e r 自适应优化 专用集成电路 总线功能模型 验证对象 嵌入式逻辑分析仪 现场可编程逻辑器件 硬件描述语言 板级验证 知识产权 联合测试行动小组 查找表 多项目晶圆 一次性开发成本 一次可编程 锁相环 随机存储器 只读存储器 快速原型系统 实时操作系统 特殊功能寄存器 片上系统 看门狗定时器 3 原创性声明 本人郑重声明:所呈交的学位论文,是本人在导师的指导下,独 立进行研究所取得的成果。除文中已经注明引用的内容外,本论文不 包含任何其他个人或集体已经发表或撰写过的科研成果。对本文的研 究作出重要贡献的个人和集体,均已在文中以明确方式标明。本声明 的法律责任由本人承担。 论文作者签名:扭整 日 期: 丝墨:鳖一 关于学位论文使用授权的声明 本人完全了解山东大学有关保留、使用学位论文的规定,同意学 校保留或向国家有关部门或机构送交论文的复印件和电子版,允许论 文被查阅和借阅;本人授权山东大学可以将本学位论文的全部或部分 内容编入有关数据库进行检索,可以采用影印、缩印或其他复制手段 保存论文和汇编本学位论文。 ( 保密论文在解密后应遵守此规定) 论文作者签名: 扯龊导师签名: 山东大学硕士学位论文 摘要 随着集成电路规模和复杂度的急剧提高,尤其面对面市时间的巨大压力,芯 片验证的可靠性越来越低。目前的s o c 设计中,验证工作需要投入的时间已占 整个开发周期的7 0 0 o - - 8 0 。芯片验证,尤其是功能验证已成为当前集成电路设 计中最困难、最具挑战的课题之一。 本文以山东省科技攻关项目“税控燃油加油机控制器专用集成电路( a s i c ) 实现”为背景,介绍了芯片的功能验证工作。 本文首先分析了s o c 设计业界当前主要应用的功能验证方法,重点研究了 提高功能验证效率的各种手段,并在实践中加以运用。接下来介绍了在硬件代码 设计阶段,对各个功能模块进行功能验证,确保模块的功能正确性,并且在验证 过程中,努力提高验证平台的可重用性和自动化程度,缩短验证的时间。然后, 讨论了s o c 设计中软硬件协同验证的意义和实现策略。芯片的系统级验证,采 用h d l 仿真器与f p g a 原型验证相结合的软硬件协同验证:首先搭建基于h d l 仿真器的软硬件协同验证环境,发现并解决了s o c 软硬件接口的功能和时序问 题,改善了芯片的系统性能;然后采用f p g a 对芯片进行快速硬件建模,使设计 能够以接近实际环境的速度进行仿真验证,并且在此平台上进行应用程序的开 发,及早发现在实际系统中可能存在的问题,以及驱动软件与芯片配合上可能存 在的问题,大大缩短了芯片后期应用研发的时间。最后,本文对所做的工作,以 及所获得的经验进行了简单总结。 关键词:系统芯片;功能验证;软硬件协同验证;f p g a 验证 山东大学硕士学位论文 a b s t r a c t w i t ht h eb o o m i n go ft h es c a l ea n dc o m p l e x i t yo f i cd e s i g n , a c c o m p a n i e db yt h e e n o r m o u sp r e s s u r eo ft i m e - t o m a r k e t , t h er e l i a b i l i t yo fv e r i f i c a t i o ni sg e t t i n gl o w e r a n dl o w e r i n d e e d , s o cd e s i g nv e r i f i c a t i o na c c o u n t sf o r7 0p e r c e n tt o8 0p e r c e n to f t h et o t a l p r o d u c td e v e l o p m e n tt i m e c h i pv e r i f i c a t i o n , e s p e c i a l l yf u n c t i o n a l v e r i f i c a t i o nh a sb e c o m eo n eo ft h em o s td i f f i c u l ta n dc h a l l e n g i n gi s s u e si ni cd e s i g n b a s e do nt h eb a c k g r o u n do ft h es c i e n t i f i ca n dt e c h n o l o g i c a lp r o j e c ti ns h a n d o n g p r o v i n c e - “t h ea s i cd e s i g no fg a sv o l u m ec o n t r o l l e r ,t h i sp a p e rd i s c u s s e dt h e f u n c t i o n a lv e r i f i c a t i o no f 1 i ss o c f i r s t l y , t h i sp a p e rd i s c u s s e dt h ec u r r e n tm a j o rf u n c t i o n a lv e r i f i c a t i o nm e t h o d s ; f o c u s e do ni m p r o v i n gt h ee f f i c i e n c yo ff u n c t i o n a lv e r i f i c a t i o n , a n da p p l i e dt h e mi n p r a c t i c e s e c o n d l y , t oe n s u r et h ef u n c t i o n a lc o r r e c l l l e s so fm o d u l e s ,w ei n t r o d u c e dt h e f u n c t i o n a lv e r i f i c a t i o no fm o d u l e sa tt h es t a g eo fh a r d w a r ec o d ed e s i g n a n di nt h e v e r i f i c a t i o np r o c e s s ,w es t r i v e dt oi m p r o v et h ed e g r e eo fa u t o m a t i o na n dt h e r e u s a b i l i t yo fv e r i f i c a t i o np l a t f o r mt os h o r t e nt h et i m e t h i r d l y , w ed i s c u s s e dt h e s i g n i f i c a n c ea n di m p l e m e n t a t i o ns t r a t e g i e so fc 0 一v e r i f i c a t i o n w ea d o p t e dt h e c o m b i n a t i o no fh d ls i m u l a t o ra n df p g ap r o t o t y p et ov a l i d a t es y s t e ml e v e ld e s i g n b u i l tt h ec o - s i m u l a t i o ne n v i r o n m e n tu s i n gh d ls i m u l a t o r , d i s c o v e r e da n ds o l v e dt h e s o ch a r d w a r ea n ds o f t w a r ei n t e r f a c ea n dt i m i n g i s s u e s ,i m p r o v e ds y s t e m p e r f o r m a n c eo f t h ec h i p f o u r t h l y , w eb u i l tr a p i dm o d e l i n go ft h ed e s i g nu s i n gf p g a t h e nt h ec h i pc o u l db es i m u l a t e da tt h es p e e dc l o s et ot h ea c t u a le n v i r o n m e n t a n do n t h i sp l a t f o r mw ec o u l da l s od e v e l o pa p p l i c a t i o np r o g r a m ;d e t e c ti s s u e sw h i c he x i s t e d i nt h ea c t u a ls y s t e m , a sw e l la st h ep o s s i b l ep r o b l e mm a ye x i s tb e t w e e nd r i v e n s o f t w a r ea n dc h i p si nt h ee a r l ya g e i tw o u l dg r e a t l yr e d u c ea p p l i c a t i o nd e v e l o p m e n t t i m e f i n a l l y , w em a d eas i m p l ec o n c l u s i o no ft h ee x p e r i e n c e sw eg o ti nt h i si t e m 2 k e yw o r d s :s o c ;v e r i f i c a t i o n ;h w s wc o - v e r i f i c a t i o n :f p g a 山东大学硕士学位论文 i _ _ un unnm n 鼍詈皇曼鼍詈鼍詈曼詈詈! 曼兰! 曼詈! 詈! ! ! ! ! 曼! ! 曼曼曼! 曼曼鲁詈毫詈曼曼曼皇 1 1 研究背景 第一章绪论 验证的目的是保证设计实现的功能特性与设计规范( s p e c i f i c a t i o n ) 的描述 一致,验证的目标是确保设计中没有错误1 。随着半导体产业进入超深亚微米乃 至纳米加工时代,在单一集成电路芯片上就可以实现一个复杂的电予系统。s o c ( s y s t e m o nac h i p ) 设计技术始于2 0 世纪9 0 年代中期,随着半导体工艺技术 的发展,i c 设计者能够将愈来愈复杂的功能集成到单硅片上。与传统的a s i c 设 计相比,s o c 将整个系统集成到一个芯片上,不仅使其更适用于复杂的系统,而 且产品的性能大为提高,可靠性显著增强,并且由于在s o c 设计中大量的采用 i p ( i n t e l l e c t u a lp r o p e r t y ) 复用的技术,来构建s o c 系统芯片,大大缩小了设计 能力与制造能力之间的鸿沟比1 。采用s o c 可以满足更小尺寸的设计要求,同时也 具有更低的设计成本和更低的功耗,因此具有广泛的应用前景。“。但是s o c 芯片 的规模和复杂度往往远大于普通的a i s c ,使得对设计进行充分、有效的验证变 得非常重要,也变得越来越困难,设计能力和验证能力之间的差距在逐渐加大。 验证已经成为芯片设计流程中最复杂、最耗时的环节,约占整个芯片开发周期的 7 0 8 0 。 图1 1 验证能力远远落后于设计和制造能力 验证一个设计要花费大量的时间,甚至在规定的设计周期内根本无法实现全 面的验证,因此有的设计者缩小电路的验证范围或不作详细验证,这往往导致设 计失败。据统计,到2 0 0 3 年,北美地区一次流片的成功率已经下降到3 5 以下, 而大约7 0 的失败原因是系统功能存在缺陷阳引。对于百万门级的a s i c 设计,每 、,er一九c岫;103 d 廿 山东大学硕士学位论文 次投片的n l 也( n o n r e c u r r i n ge n g i n e e r i n g ) 费用是巨大的,多次流片必然导致 开发成本的增加,同时也会延误上市时间。要提高流片的成功率,必须提高验证 质量。因此,验证已经成为制约整个s o c 设计的瓶颈,而进行完善的功能验证 无疑是验证之关键所在。 l o g i cf u n c t i o n7 0 0 o t u n i n ga n a l o g 簟囊誓誓薯3 5 0 o s l o wp a t h 霸舞_ 2 6 f a s tp a t h _ 2 5 0 o m i x e ds i g n a l 舅_ 2 2 c l o c k i n g 霸2 0 0 o y i e l d r e l i a b i l i t y _ 16 c r o s s t a l k _ 16 f i r m w a r e 一14 限d r o p s 一1 4 一p o w e r 12 0 0 o t h e ri7 蝴1 5 3 0 4 5 6 0 7 5 0 o p e r c e n t a g eo fd e s i g n sr e q u i t i n gt w oo rm o r or e - s p i n s 图1 2a s i c 首次流片失败原因 1 2 课题的来源 本课题源于山东省科技攻关项目一“税控燃油加油机控制器专用集成电路 ( a s i c ) 实现 。作为整个项目的一部分,本课题的任务是,采用高效的验证方 法和技术,在较短的时间内完成对各功能模块和整个系统的功能验证工作,提高 一次投片的成功率。 加油机控制器是税控加油机计量微处理器,及外围电路的系统集成s o c 。该 芯片具有以下资源和特点: 处理器采用d w 8 0 5 1 ,与m c s 5 1 系列单片机完全兼容嘲 片内o t p 工艺r o m 程序存储器 片内2 5 6 字节r a m 内建r a m 自测试电路 一个1 2 c 总线接口 两个u 灿汀接口 三个可编程1 6 位定时肼数器 山东大学硕士学位论文 一个看门狗电路 一个税控通信接口 并行输入输出口 1 3 个中断源 支持i s p 下载功能 r a m 澳d 试接口 i s p 编程接口 1 3 论文的结构 图l 一3g v c 项层结构图 s f rb u s 本论文共分为五章,简述如下: 第一章绪论,介绍集成电路设计发展的概况,s o c 的验证重要性,以及课 题来源和论文的主要内容与结构安排。 第二章s o c 的验证方法学,较为详细地介绍了s o c 的验证流程和常用的验 证技术,以及提高验证效率的方法。 第三章g v c 芯片子模块的功能验证,介绍了子模块的验证流程,及实现过 程,最后介绍了验证的结果。 第四章g v c 的软硬件协同验证,介绍了软硬件协同验证的意义及实现策略, 重点介绍了基于h d l 仿真器的软硬件协同验证环境的搭建及验证的实现过程。 第五章f p g a 原型验证,介绍f p g a 原型验证流程利验证策略,搭建f p g a 6 山东大学硕士学位论文 原型验证平台,对芯片进行硬件建模,进行快速原型验证。 作。 第六章结论,对论文的主要工作进行总结,并提出下一步要进行的改进工 7 山东大学硕士学位论文 第二章s o c 验证方法学 验证( v e r i f i c a t i o n ) 在s o c 设计和生产中不可或缺的环节,它对保证项目的 顺利进行,降低风险,缩短项目周期具有很大的意义。通过各个阶段的验证,我 们可以避免把前一阶段的问题带到下一阶段。做到早发现问题,降低风险,缩短 周期,提高一次投片的成功率。 2 1 s o c 设计流程中的验证 s o c 的验证工作始终贯穿整个设计流程,芯片的设计过程从系统级设计 ( s y s t e ml e v e ld e s i g n ) 开始,每个设计步骤有其相对应的设计环节的验证。s o c 验证工作比较繁杂,研究内容很多。 图2 1s o c 设计,验证流程嗍 用h d l 实现正向设计可分为几个阶段:系统级设计、r t l 级编码、逻辑综 山东大学硕士学位论文 |置皇量量曼皇皇置蔓量量一ii|_l-=i|奠置一 合、布局布线、流片。对应不同的设计阶段,都有其相应的验证方法m 。设计阶 段与验证阶段的对应关系如图2 1 所示。 2 2 验证的层次 根据集成电路的设计流程,可将验证分为四个层次,这四个层次对应着集成 电路设计的四个阶段,设计对象的不同决定了验证层次的不同。图2 1 反映了这 种层次关系。 2 2 1 系统级验证 图2 2 设计与验证的层次 系统级验证主要验证集成电路体系结构是否合理,是否能够满足算法需要并 达到较好性能。通常利用h d l 语言的行为级描述构建所设计的体系结构进行论 证。 2 2 2r t l 级验证 寄存器传输( r t l ) 级验证分为模块级验证和系统验证两部分。模块级的验 证针对设计的予电路模块,在项目的早期开始进行,在此时发现的问题可以很快 很便利地进行修改,对项目的改动和影响最小,但是由于系统中的功能模块很多, 所以验证的工作量非常大。 系统级验证针对整个集成电路系统。由于当今集成电路规模庞大,功能复杂, 因此需要精心设计验证用例,并搭建验证平台进行验证。这一级的验证不考虑电 路器件延时的影响,主要关注设计对象的功能是否正确。这一层面上的验证会占 9 山东大学硕士学位论文 用大量的时间,因此成为了验证方法学研究的重点。 2 2 4 门级验证 r t l 代码综合后生成门级网表,此时电路中的门已具有了延时。这一层的验 证主要关注设计对象的功能和时序是否满足需要。 2 2 5 版图验证 版图验证主要进行设计规则( d r c ) 检查、版图与原理图对照( l v s ) 和信 号完整性分析。这一层面的验证是物理层面的验证。 2 3 功能验证技术 功能验证是整个验证流程中最重要的部分,其目的就是确保设计实现的功能 与设计规范所定义的功能一致,或者说就是核实经过人工翻译或工具翻译后的设 计跟翻译前的设计规格是否一致,它主要验证硬件的h d l ( 硬件描述语言) 描 述是否符合设计的功能描述。现阶段业界广泛应用的功能验证方法主要有:基于 仿真的动态验证( d y n a m i cv e r i f i c a t i o n ) 、形式验证( f o r m a lv e r i f i c a t i o n ) 、软硬 件协同验证和f p g a ( f i e l dp r o g r a m m a b l eg a t e a r r a y ) 原型验证等。要实现系统 芯片的验证,必须将这些验证方法组合起来使用。 2 2 1仿真技术 仿真( s i m u l a t i o n ) 技术涉及到基于事件的仿真器、基于周期的仿真器、基 于事务的验证、软件硬件协同验证、仿效系统、快速原型系统、硬件加速器、 模拟混合信号仿真n 们。 基于事件的仿真器 基于事件的仿真器的运行过程是:每次取出一个事件,将其传遍整个设计对 象,直至达到稳定状态为止1 。输入激励中的任何一个变化都被视为一个事件。 设计模型包括时序和功能两方面。在一个时钟周期中将对设计元素进行若干次计 算,这是因为各个输入信号的抵达时间不同,还存在来自位于下游的设计单元的 信号反馈。尽管这样做能提供高精度的仿真环境,但是其执行速度取决于设计对 象的规模和仿真中行为举动的( 抽象) 层次。对于大型的设计对象,仿真可能会 1 0 山东大学硕士学位论文 很慢。 特点:提供了具有精确时序的精确仿真环境,便于检测出设计对象中的毛刺。 局限:速度取决于设计对象的规模和仿真中行为举止的( 抽象) 层次。如果 设计对象规模很大,那么其仿真将会很慢。速度有限,这是因为基于事件的仿真 器调度各个事件使用的算法复杂,并且需要多次计算输出量。 基于周期的仿真器 基于周期的仿真器在时钟周期内没有时间的概念,每一次处理机会都对状态 元素和( 或) 端口之间的逻辑电路进行一次计算。因为每一个逻辑元素在每个周 期中只计算一次,所以显著地提高了仿真执行的速度,不过这也可能会导致仿真 出错。另外,基于周期的仿真器只对同步逻辑有效n 引。 特点:所提供的仿真速度5 - 1 0 0 倍于基于事件的仿真器的仿真速度。对于大 型设计,仿真速度可以提高到每秒1 0 0 0 个时钟周期。最适用于那些需要大型仿 真向量的设计对象,如微处理器等。 局限:因为它只响应时钟信号,所以无法检测出设计对象中的毛刺。另外, 它没有将设计对象的时序纳入考虑,因此需要使用时序静态分析工具来进行时序 验证。 基于事务的验证 基于事务的验证允许在信号引脚级之外的事务级之上对设计对象进行仿真 和调试。将系统中各功能块之间所有可能的事务类型都建立出来,并系统地加以 测试。基于事务的验证不需要很细致的测试平台及大型向量。 在基于事务的验证中使用总线功能模型( b f m ,b u sf u n c t i o n a lm o d e l ) 。在设 计对象的硬件接口上,总线功能模型为其运行事务提供了一种有效手段。它根据 接口协议的要求来驱动各个互连线信号【13 1 。采用标准的硬件描述语言( h d l ) 和c 抖语言来创作总线功能模型很容易。 特点:增强了验证生产率,这是因为抽象层次提高到了事务级而不是信号 引脚级。可以很容易地实现自核对和定向随机测试。 软硬件协同验证 在软硬件协同验证中,将软件和硬件同时集成起来并加以验证。协同验证环 境所提供的图形用户界面( g u i ) 与软件顾件项目开发小组当前使用的软件仿效 山东大学硕士学位论文 器调试器、硬件仿真器一致。这使软件小组能够直接在硬件设计对象上执行软 件。此外,硬件设计采用真实的输入激励来仿真,因而减少了创作硬件测试平台 所需要的工作量h 1 。 特点:在设计周期的早期同时对软件和硬件加以验证,这样就能够加快产品 的面市时间。它提供了足够的能力来运行接口可信度测试、代码片断、各个驱动 程序和实用工具的代码。 局限:由于能力和仿真速度问题,如今己有的协同验证环境仍无法提供足够 的性能在目标实时操作系统( r t o s ,r e a l - t i m eo p e r a t i n gs y s t e m ) 上运行整个应 用软件。 仿效系统 仿效( e m u l a t i o n ) 系统是专门设计出来的软件和硬件系统,通常含有可重 配置逻辑、现场可屡次编程的逻辑门阵列。工业界现有的仿效系统中,有一些含 有高速的阵列处理器。这些系统可以通过编程而具有目标系统的行为,并且其仿 效目标系统可以达到直接挂接在所预期的设计对象最终运行的系统环境之中的 程度。因为这些系统以硬件方式实现,所以其运行速度比软件仿真器快好几个数 量级,并且在有些情况下,其运行速度可以接近目标设计对象的速度【1 5 】。 快速原型系统 快速原型系统( 1 i p s ,r a p i dp r o t o t y p es y s t e m ) 可以用来为预期的系统芯片精 确地建立快速原型模型。它是待验证设计对象的一种硬件设计表示形式。成功建 立快速原型的关键在于要快速地将原型实现出来。可用的一些途径( 如仿效和可 重配置原型系统) ,都是将目标设计对象映射到现有器件之上,如控制处理器、 d a p 、引出焊点式( b o n d e d o u t ) 芯核和f p g a 。这些元件安装在子板之上,而 该子板插在含有用来模拟目标系统之间互连的客户自定义可编程器件的系统互 连母板中n 6 叫引。 专用原型将目标设计对象映射成现有的商用元件,具有有限的扩展和重用能 力。一般地,这样的原型是围绕嵌入式处理器的开发板支持包( b s p , b o a r ds u p p o r t p a c k a g e ) ,再添上一些必要的元件( 如存储器、f p g a 和专用芯片) 而建立起来 的。 特点:提供了开发和调试软件的能力,展现了系统芯片的硬件真实性。这样 山东大学硕士学位论文 在有了芯片原型的时候,就能够实现软件和硬件的无缝集成。快速原型系统所提 供的仿真速度比软件仿真器和协同验证快得多。 硬件加速器 硬件加速技术将软件仿真中全部或部分元件映射到特意为加快某些仿真操 作的速度而设计出来的硬件平台之中。最普遍的做法是:测试平台仍然以软件形 式运行,而实际的待验证对象在硬件加速器中运行。有些甚至为仿真平台提供了 加速能力1 9 1 。 模拟混合信号仿真 目前模拟混合信号系统芯片设计不只是自项而下( t o p - d o w n ) 的数字电路设 计和自底向上( b o t t o m - u p ) 的模拟电路设计。工业界现有的模拟电路设计工具 所提供的自动处理能力要少一些,因为模拟设计本质上很复杂。 模拟混合信号仿真比单纯的模拟电路仿真或单纯的数字电路仿真要复杂的 多。通常遵循的仿真技术是单独验证模拟混合信号功能块。模拟混合信号功能块 的接口部分被当成数字信号,在集成到系统芯片之后再去验证该接口。 2 2 2 静态技术 静态技术包括代码静态( l i n t ) 检查和时序验证。用静态技术来实现验证不 需要测试平台和测试向量。 代码静态检查 代码静态检查对设计对象的代码作静态检查来验证其在语法上的正确性。不 保险的错误类型有未初始化的变量、不受支持的( 语法) 结构和端口不匹配。可 以在设计周期的早期进行代码静态检查,查出设计代码中的简单错误,避免使用 更高级的工具而耗费大量的时间晗。 静态时序验证 设计对象中的每一个存储元素和锁存器都有时序要求,如建立时间、保持时 间和各种延迟时序。时序验证用来确定是否已满足时序要求。时序验证对于大型 设计对象是一种挑战性难题,因为每一个输入都可能有多个信号源,并且时序可 能会根据电路运行状况而变化1 。 2 2 3 形式技术 山东大学硕士学位论文 在设计验证中,检测出那些依赖于特定事件序列的设计缺陷往往是非常困难 的。如果在验证阶段不能及早检测出来那么这些缺陷可能将严重影响设计周期 的长短。需要及早检测出各种不引入注目的设计缺陷,而形式验证又具有穷举性, 这些都是朝着使用形式验证技术方向发展的主要推动力。形式验证方法不需要用 于验证的测试平台和( 测试) 向量。理论上,形式验证将保证非常高的验证速度 和1 0 0 的覆盖率。形式验证技术有定理证明技术、模型形式检查和等价性形式 检查啦3 1 。 定理证明技术 定理证明技术仍然处于学术研究的阶段。这种技术允许用户使用定理去构造 出对设计对象行为的证明,以此来表明设计对象满足其功能要求乜钔。 模型形式检查 模型形式检查技术充分利用数学上的形式技术来验证设计对象的行为属性 阻2 5 1 。模型检查工具使用设计对象的行为同用户自定义的一组逻辑属性相比较。 所定义的属性是直接从设计规范中提取出来的。模型形式检查也适用于复杂的控 制结构,如总线仲裁器、译码器,处理器至外围设备的桥等。 特点:模型形式检查工具不需要任何测试平台和( 测试) 向量。它以查询的 方式来指定待验证属性。当工具发现错误时,它将生成从初始状态变化到指定属 性不成立状态的完整轨迹记录。 局限:模型形式检查并不能消除对仿真的需要,只是对仿真的一种补充。这 种工具不考虑设计对象的时序信息,因而要使用时序分析工具进行时序验证。目 前的模型检查器有能力方面的限制,只能局限于小型设计对象。如果设计属性表 示得不正确,那么错误也可能无法检测出来。 等价性形式检查 等价性形式检查是证明同一个设计对象的两个不同视图彼此等价的一种方 法。它利用数学技术来验证参考设计与改动后的设计等价。这种工具可以用来验 证寄存器传输级对寄存器传输级、寄存器传输级对门级,以及门级与门级实现之 间是否等价瞳引。因为等价性检查工具拿参考设计同目标设计对象作比较,因此参 考设计功能是否正确非常关键。 特点:比穷举式仿真更快。它能保证实现1 0 0 的验证覆盖率,不需要开发 1 4 山东大学硕士学位论文 测试平台和向量。 局限:不验证设计对象的时序,因此它必须和时序分析工具联合在一起使用。 2 4 提高验证效率的方法 验证已成为集成电路设计的关键路径,也就是耗费时间和资源最多的环节, 直接关系着产品的研发周期长短,因此提高验证的效率也就显得格外重要。 2 4 1提高验证的抽象层次 在最底层,也就是电路接口上的信号,验证激励的编写和仿真结果的观测都 针对各信号,当电路规模很大时,这种底层信号会很多,它们之间的关系也会很 复杂,编写激励和监测结果会变得很费时且易错。验证时可将这种底层信号的动 作抽象到传输层( t r a n s a c t i o nl e v e l ) ,也即在基本的数据传输层面编写激励和监 测仿真结果 2 7 , 2 s 。例如在系统中常会有处理器通过总线对其他模块发起的数据读 写操作。当总线协议复杂时,接口上的控制信号会较多且时序复杂。如果在编写 验证激励的时候从底层信号的角度出发,那么每编写一个验证激励都要按照总线 协议的定义仔细描述各个信号间的时序关系,工作重复性大,而且容易出错,效 率不高。如果把验证抽象到传输层,那么可以利用抽象出的传输任务发起激励。 编写激励时,只需调用摹本的传输任务,验证平台中相应的总线功能模型就会把 这种基本传输命令转化成接口上信号间的时序并对待验证电路发起激励。 以上的抽象层次还较低,仅抽象到了基本传输命令的层次,例如仅有了定长 数据读取的传输任务。要提高验证效率,还可以再次将数据传输操作抽象到可变 长数据传输上。接下来,还可以进一步抽象到数据包的传输层面上来。 通过提高抽象层次,验证工程师编写数据传输的验证激励可以专注于接口上 数据操作,而完全忽略底层信号的时序。减轻了编写激励的工作量,提高了效率。 逐层抽象的好处还在于,在构建验证平台时,可以按抽象层次,首先构建用 于验证目的的底层验证元件,然后在这些底层的验证元件基础上逐渐构建更高抽 象层次的验证元件,这是一种增量式的构建方式。这种方式最小化了验证工程师 搭建验证平台时的工作量,减少了调试验证环境的时间,也提高了验证元件的可 重用性。基于传输级的验证( t r a n s a c t i o nb a s e dv e r i f i c a t i o n ) 在1 9 9 8 年首次提出, 山东大学硕士学位论文 并迅速在集成电路的功能验证中得到广泛应用。传输级的概念很宽泛,正如上面 两段讲到的,可以简单到存储器读,或复杂到通信信道那整个数据包的传输。传 输级( t r a n s a c t i o nl e v e l ) 是设计的电路体系结构所处的抽象层次,也是可以有 效验证电路的层次。 2 4 2 验证的自动化运行 各种设计的验证工作都包含一些共同的工作。对于这些工作进行抽象,并通 过自动化实现能够有效地提高验证的效率。验证自动化包括仿真的自动控制和仿 真结果的自动分析。它们都需要验证工程师在构建验证平台时给予考虑f 1 3 】。 仿真控制 对于单个的验证,需要反复修改程序,重新编译和重新测试。这样,每一个 循环的各种手工键入的设置与指令所花费的时间,加起来就非常可观。如果能利 用m a k e f i l e 或类似的软件工具来帮助,就能节省大量的时间。 对于系统测试或回归测试,需要运行大量的测试用例,除了利用软件工具来 实现自动化之外,就是怎样充分利用一切硬件资源。把大量测试用例分配到各台 机器上去同时运行,就能节省大量的时间。另外把大量的系统测试及回归测试安 排到夜间及周末运行,也能提高效率。 在验证过程中,由于设计可能存在的问题或验证激励设计的不合理可能导致 仿真过程出现死循环,或仿真器一直等待某个不可能发生事件的发生,从而浪费 仿真时间。为避免这种情况,就需要在构建验证平台时嵌入对仿真自动控制的机 制,当这些情况发牛时仿真要根据问题的严重程度立即终止或跳过此处继续下面 的操作,也就是要仿真能自动从错误中恢复。 仿真结果的自动分析 当前集成电路规模日益庞大,动态仿真输出的结果数据量非常大,仅靠人工 分析这些结果必将影响仿真效率。因此需要引入自动数据对比、自动时序检测、 自动比较总线上的操作是否与协议约定一致等自动化分析方法。 在设计测试用例的时候,必须考虑到怎样才能够易于比较测试结果和标准输 出。输出数据量和数据格式对比较的速度有直接影响。而另一方面,也必须考虑 到输出数据与测试用例的测试目标的逻辑对应性及易读性,这将会非常有利于分 1 6 山东大学硕士学位论文 析测试所发现的问题,也有利于测试用例的维护。 2 4 3 验证的可重用性 重用会带来以下好处,提高代码生成率,验证工程师直接使用经过验证过了 的模块代码,无需重新编写底层代码,节省了验证的时间,缩短开发周期。验证 工程可以使用框架式的结构,快速地建立和改变验证平台。降低代码开发和维护 费用,由于新代码减少了,那么由新代码导入的缺陷也相应地减少了,验证的工 作量也会减少,生产更加标准化的代码口钔。 验证重用在各个验证层次上都有体现: l 、同一模块不同版本的验证重用 在设计中,版本的更新是不可避免的。如果设计的需求在设计时发生了一些 细小的改变,那么设计也就得跟随着改变,随之而来的便是对验证代码的改变了。 通过对验证语言的选择和验证结构的优化,可以很便利地利用以前的设计,而不 需要重头再来。在设计验证结构时,要注意对重用结构的实现。将被测对象的驱 动和结果比较,严密地结合在验证代码中,这种结构很难实现设计的可重用。为 了实现验证的可重用,验证平台必须将d u v 激励的产生、施加和结果检查等模 块独立,这样如果设计有细小的改变时,比如增加或减少d u v 的端口,就可以 通过修改其单独相关的结构来实现,而不需要对验证平台的结构进行太大的改 动。 2 、同一项目不同模块的验证重用 对于不同模块的验证的共同之处是验证的框架,不同的是验证的细节。将框 架与细节清楚地分开,有利于将相同的验证框架移植到不同的模块的验证工作中 去。 3 、不同项目间的验证重用 不同项目间的验证重用,是最有挑战性、最有意义的工作。此时的验证重用 体现在验证文件、目录、脚本的重用和验证m 的重用。验证文件、目录、脚本 的重用可以提供高效无误的支持,验证口的重用可以从根本上改变验证工作的 方式。验证口的建立、分发和维护将是今后验证工作的一个热点。 验证重用的最后一个要求是可配置性,验证工程师必须使验证代码具有可配 1 7 山东大学硕士学位论文 置能力。通过在另外的文件中添加约束,使工程师能够设置原代码操作的参数。 通过在测试平台上使用约束条件来建立不同模块之间的关联。举例来说,如果针 对设计中的两个单独的接口创建了两个激励发生器,约束条件能够在这两个激励 发生器的项层控制它们的工作,从而使得两个激励发生器所产生的测试激励具有 相关性。 从模块单独验证到系统验证,验证重用的关键策略是这两个验证平台相 似,使它们具有同样的外部驱动,同样的监视器,同样的系统任务和同样的或相 似的验证脚本和工具。具体如下所述: l 、总线功能模型和监视器 在正模块单独验证平台中,驱动是由激励发生器调用总线功能模型来产生 的。相同总线上的m 模块使用的总线功能模型可以重用。如果激励来自于c p u , 则该验证平台中的激励发生器可以在s o c 系统中重用,即使不是使用同样的激 励发生器,至少也有同样的命令接口。 监视器不驱动信号,仅仅完成对信号的监视,包括检查协议的连续性、时序 和期望的响应等。监视器可以被动地按照仿真模式的要求去做,也可以自动地检 查模块的行为或信号的连续性。监视器很容易被重用,但监视器的重用依赖于监 视本身的自动化程度和智能性。如果一个监视器需要告诉它做什么才能匹配仿真 模式,该监视器就很难直接重用于其它实例。驱动和监视器在设计时,应该瓦相 独立,驱动和监视器的设计不应该依赖于其它的驱动或监视器的信号、命令或配 置信息等。该规则非常重要,这样可以重用那些需要使用的驱动和监视器,而不 必使用那些不需要的驱动和监视器。 2 、系统任务 在建立验证平台时,经常需要显示信息、错误处理等,这些我们可以通过定 义一系列的任务来完成。再使用监视器和驱动来调用这些任务,也可以使用仿真 模式调用这些任务,在建立这些任务时,关键是使p i 模块单独验证平台的任务 集与系统验证平台的任务集尽可能相同,这样监视器、驱动和仿真模式从模块验 证平台到系统验证平台的可重用性才会大。 3 、验证脚本和工具 验证平台中,除了驱动、监视器和仿真模式外,还包括汇编代码、启动平台、 山东大学硕士学位论文 参数配置和自动回归测试等脚本和相关工具。在子模块单独验证平台和系统验证 平台中,最好使脚本和相关工具完全一样,至少也使它们相似,这一点非常重要, 这是因为驱动、监视器和仿真模式的行为受到仿真脚本和相关工具的影响,其包 含的参数和可选特征应该由仿真脚本和工具来配置。理论上,应该让驱动和监视 器尽可能地独立于外部脚本。 2 4 4 随机验证 在集成电路复杂度日益增加的今天,对设计的电路利用传统的验证方法进行 完备的验证已经变得越来越困难了。因此随机验证方法应运而生。这种方法向待 验证电路施加随机激励,并结合覆盖率分析来达到足够高的验证完备程度。随机 验证中传输和传输负载都是在一定约束下随机产生的,这种随机性对充分验证设 计贡献很大。同时,这种随机验证方法缩短了验证工程师设计复杂验证激励花费 的时间。 2 5 验证结果的评估 目前m p w ( m u l t i p l ep r o j e c tw o r k ) 已经将流片的成本大为降低,但是一次 流片从制版一流片一封装一工艺测试至少需要3 到4 个月的时间啪1 ,这还不包括 芯片功能测试d e b u g 的时间,资金和时间上的巨大开销对验证的要求非常高。因 此,对于一个验证工程师来说,如何评价验证的成功与否非常重要。按照设计流 程的角度来看,可以把这个问题解释为:如何确认己经完成对设计的测试和可以 提交到流片阶段? 可惜的是,这个问题没有一个完善的结论。这是复杂的设计规模决定的。另 外,有一些参数和模型可以辅助工程师来判断验证是否完成或者非常接近完成。 这样的参数和模型通常包括如下两个方面:b u g 的发现速度和覆盖率。 2 5 1 发现b u g 的速度 验证过程通常分成下面三个阶段口: 建立测试平台和d u v : 主要测试目标的验证: 1 9 山东大学硕士学位论文 边际测试目标的验证。 在第一阶段,通常是测试平台和d u v 联合调试的过程,主要目的是使得测 试平台能够正常模拟大部分的d u v 工作环境。这一方面是调试测试平台,一方 面也是测试d u v 是否按照规格书和外界通讯。而在第二个阶段即基本测试阶段 中,就要根据规格书中规定的验证对象的功能要求开始测试,测试的目标是最主 要的功能,即目标空间中发生频率高的目标点。第三个阶段的测试目标是相对发 生频率低的目标,由于其发生频率低,要覆盖到这样的测试点也比较复杂,一般 无法用统一的公式或模型来表述,同时d e b u g 工作的难度也会很大,从而使这个 阶段拉长。 在整个三个阶段的验证过程中,把检查到的b u g 的数目和对应的时间记录下 来,可以得到如图2 3 所示的b u g 一时间曲线。 基本测试阶段 边界测试阶段 尹 , 舌 症 巷 癣 雨 n :l + t h l 图2 3b u g 一时间曲线 在建立阶段,发现b u g 的速度比较快。这是因为基本的功能很容易区分并得 到验证。由复位信号导致工作不正常的错误就是最简单的例子。而在基本
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年其他航空运输辅助活动新员工岗位专业知识笔试题目及答案
- 高速地基强夯施工合同(3篇)
- 外来务工人员就业困境-洞察及研究
- n2护士考试试题及答案多选
- 个人信用贷款连带责任保证协议
- 高端定制印刷包装项目居间代理合同
- 橱柜企业加盟合作协议
- 互联网金融担保人更替及信用保障协议
- 食品加工企业生产人员劳动合同
- 2025公务员应变面试题及答案
- (高清版)JTG D81-2017 公路交通安全设施设计规范
- 2024年成都温江兴蓉西城市运营集团有限公司招聘笔试冲刺题(带答案解析)
- 2024年中国人寿养老保险股份有限公司招聘笔试参考题库含答案解析
- 提高新生儿动脉采血穿刺率品管圈
- 家庭食品安全常识教育
- 管井井点降水记录
- 污水钢筋混凝土管施工方案
- 腰椎结核的围手术期护理查房ppt培训课件
- 中医学基础理论-经络学说
- 茶学概论-第一章-茶的起源与传播(2学时)课件
- 网络空间安全导论-西北工业大学中国大学mooc课后章节答案期末考试题库2023年
评论
0/150
提交评论