(微电子学与固体电子学专业论文)25g传输容量的光传送网络芯片cdv验证.pdf_第1页
(微电子学与固体电子学专业论文)25g传输容量的光传送网络芯片cdv验证.pdf_第2页
(微电子学与固体电子学专业论文)25g传输容量的光传送网络芯片cdv验证.pdf_第3页
(微电子学与固体电子学专业论文)25g传输容量的光传送网络芯片cdv验证.pdf_第4页
(微电子学与固体电子学专业论文)25g传输容量的光传送网络芯片cdv验证.pdf_第5页
已阅读5页,还剩65页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

摘要 摘要 随着设计规模的不断增加,芯片的平均设计门数已经超越百万门级,验证己 经成为设计流程中的主要制约瓶颈之一。目前,凭借其简单的操作以及直观、高 效的特性,基于c d v ( c o v e r a g ed r i v e rv e r i f i c a t i o n ) 的验证方法越来越受到验证工程 师的青睐。 本文基于功能覆盖率验证的方法,结合公司的研发项目,对一款光传送网 ( o t n ) 芯片开展了验证研究。该芯片业务时钟为1 5 5 m ,采用璐m 的9 0 r i mc m o s 工艺,规模为三千万门左右,主要处理客户业务向o t u l 的映射、解映射,同时 进行业务开销的提取监视和插入等工作。为了验证该芯片,本文搭建了一个高效 的自动化系统,该系统能够提供接口,从抽象层次产生基于约束的激励,支持设 计的时序行为验证和基于断言的功能覆盖率的验证。基于该系统,本文对客户到 波分侧逻辑进行了功能覆盖率分析,完成了对功能点的1 0 0 覆盖。结合验证实 践,详尽讨论了验证中的一些重要环节,并总结出一套比较完善的基于功能覆盖 率的验证流程,按照这一流程可以对实际芯片的验证工作提供有益的借鉴。 文中涉及的工作对百万门级专用集成电路成功实践,不仅是对基于功能覆盖 率验证理论的证实,并且从验证的思路和方法上对后续芯片有一定的借鉴作用。 关键词:c d v 验证光传送网 a b s t r a c t a b s t r a c t w i t ht h ec o n s t a n t l yi n c r e a s i n gd e s i g ns c a l e t h ea v e r a g eg a t ec o u n tf o rc h i p d e s i g n sh a sa l r e a d ye x c e e d e do n em i l l i o n ,w h i l et h ev e r i f i c a t i o nh a sb e c o m eo n eo f t h e m a i nb o t t l e n e c k si nt h e d e s i g n i n gp r o c e s s c u r r e n t l yb yv i r t u e o fi t ss p e e d y p e r f o r m a n c e ,s i m p l em o d i f i c a t i o n ,p e r c e p t u a l i n t u i t i o na n dh i g he f f i c i e n c y , c d v v e r i f i c a t i o nh a sb e e nm o r ea n dm o r ep o p u l a rw i t hv e r i f i c a t i o ne n g i n e e r s b a s e do nt h em e t h o d o l o g yo fc d v v e r i f i c a t i o n ,t h i sp a p e l m a i n l yc a r r i e so u ta v e r i f i c a t i o ns t u d yo no p t i c a lt r a n s p o r tn e t w o r k ( o t n ) c h i pi nc o m b i n a t i o nw i t l lt h e r & dp r o je c t t 1 1 i sc h i pi s w i d e l yu s e di nt h et r a n s p o r td e v i c ew i t ht h eo p e r a t i o n f r e q u e n c yo f155 舭i ti sd e s i g n e dw i t ht h e9 0 n mt e c h n o l o g yo ft h ei b ma n dc o n t a i n s a b o u t3 0m i l l i o ng a t e s i tm a i n l yp r o c e s s e st h em a p p i n go fc l i e n ts i g n a l si n t oo t u 1 , a n dt h ed e m a p p i n go fc l i e n ts i g n a l so u to fo t u 1 a tt h es a m et i m e ,m o n i t o r st h e o v e r h e a d se x 仃a c t e df r o mt h eo p e r a t i o na n di n s e r t st h ec h a n g e do v e r h e a d si n t ot h e o p e r a t i o n i no r d e rt ov e r i f yt h i sc h i p ah i g h e 伍c i e n c ya u t o m a t i cp l a t f o r m i s e s t a b l i s h e d w h i c hp r o v i d e sa ni n t e r f a c ec o n n e c t i n gt h ed u tw i t ht h ep l a t f o r mp r o p e r l y i tc a ng e n e r a t eh i g h l yp e r t i n e n tv e c t o ri nh i 曲l e v e l ,a n ds u p p o r tt h ev e r i f i c a t i o n sb a s e d o nr t la n da s s e r t i o n t h ev e r i f i c a t i o no fc l i e n tm a p p i n gt ow a v ei so p e r a t e do nt h a t p l a t f o n l l ,a n de v e n t u a l l y , t h ef u n c t i o nc o v e r a g ec o u l dr e a c hu pt o10 0 c o m b i n i n gt h e v e r i f i c a t i o np r a c t i c e t h i sp a p e l h a sd i s c u s s e ds o m ei m p o r t a n tp a r t so ft h ev e r i f i c a t i o n p r o c e s si nd e t a i la n ds u m m a r i z e dt h ee n t i r ec d v v e r i f i c a t i o nf l o ww h i c hc o u l dp l a ya s i g n i f i c a n tr o l ei nt h ev e r i f i c a t i o no fo t h e rc h i p sf o rr e f e r e n c e t h es u c c e s s f u lc o m p l e t i o no ft h i sm u l t i m i l l i o ng a t ea s i ci nt h i sp a d e rn o to n l y p r o v i d e st h e o r e t i ce v i d e n c ef o rc d vv e r i f i c a t i o n , b u ta l s oh a sag r e a tr e f e r e n t i a l s i g n i f i c a n c ei ni d e aa n dm e t h o df o rt h ev e r i f i c a t i o ns t u d yo fo t h e rc h i p s k e y w o r d s :c d v v e r i f i c a t i o no t n 创新性声明 本人声明所呈交的论文是我个人在导师指导下进行的研究工作及取得的研究 成果。尽我所知,除了文中特别加以标注和致谢中所罗列的内容以外,论文中不 包含其他人已经发表或撰写过的研究成果;也不包含为获得西安电子科技大学或 其它教育机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做 的任何贡献均已在论文中做了明确的说明并表示了谢意。 本人签名: 关于论文使用授权的说明 本人完全了解西安电子科技大学有关保留和使用学位论文的规定,即:研究生 在校攻读学位期间论文工作的知识产权单位属西安电子科技大学。本人保证毕业 离校后,发表论文或使用论文工作成果时署名单位仍然为西安电子科技大学。学 校有权保留送交论文的复印件,允许查阅和借阅论文;学校可以公布论文的全部 或部分内容,可以允许采用影印、缩印或其它复制手段保存论文。( 保密的论文在 解密后遵守此规定) 本人签名: 导师签名: 日期 日期 第章绪论 第一章绪论 1 1 论文的研究背景 当前,电信业正面临着一场百年未遇的巨变,开放的市场引入竞争的进度明 显加快。特别是近年来,以因特网为代表的新技术革命正在深刻的改变传统的电 信观念和体系架构,其迅猛发展的速度是人类历史上前所未有的。因特网的骨干 网上的业务量约1 2 个月左右就翻一番,比著名的摩尔定律发展还要快。目前,全 球因特网业务在骨干网层面上已经远远超过话音,成为绝对的主导业务量,1 0 0 多年来始终占绝对主导地位的话音业务已经让位给数据业务l l 】。 数据业务的发展不仅导致网络带宽需求的大幅度增加,而且在业务量特征、 网络支撑技术、网络演进方式、网络规划设计方法乃至监管规则上也与传统电话 业务有很大的区别。更重要的是这些数据业务每比特所带来的收入远低于传统电 话业务,这就是新时期网络所面临的挑战。 鉴于网络的上层业务构成已经发生了根本性变化,传统的电路交换网无论从 业务量设计、容量、组网方式,还是从交换方式上来讲都已经无法适应这一发展 趋势,开发新一代的可持续发展的网络已成为电信界的共同心愿。基本思路是共 同的,即具有统一的口通信协议和巨大的传输容量,能以最经济的成本灵活可靠 的支持一切已有和将有的业务和信号;保证可持续发展的网络结构、容量、性能 以及廉价的成本1 2 j 。 w d m 光网络被认为是下一代高速广域骨干网的最有竞争力的候选者p 4 j 。从光 纤通信的历史上来看,上世纪八十年代初光纤传输系统投入商用以来,光纤通信 的技术、经济优势迅速使光纤传输代替铜缆传输而成为核心网的主要传输手段, 第一代光网络随之发展起来。而到了上世纪的九十年代末,以掺铒光纤放大器 ( e d f a ,e r b i u m d o p e df i b e ra m p l i f i e r ) 为代表的光纤放大技术和以阵列波导光栅 ( a w ga r r a yw a v e g u i d eg r a t i n g ) 为代表的复用与解复用器件的实用化促使波分复 用技术( w d m ,w a v e l e n g t hd i v i s i o nm u l t i p l e x i n g ) 和密集波分复用技术( d w d m , d e n s ew a v e l e n g t hd i v i s i o nm u l t i p l e x i n g ) 开始商用化,形成了网络中w d m 层,第二 代光网络也随之走向成熟【5 1 。目前所说的“光网络”概念是由高性能的光电转换设 备连接众多的全光透明子网的集合,是i t u t 有关“光传送网”( o t n ,o p t i c a l t r a n s p o r tn e t w o r k ) 概念的通俗说法。光传送网是在现有的传送网中加入光层,提 供光交叉连接( o x c ,o p t i c a lc r o s s c o n n e c t ) 和光分插复用( o a d m ,o p t i c a l a d d d r o pm u l t i p l e x ) 功能,提供有关客户层信号的传送、复用、选路、管理、监控 2 2 5 g 传输容量的光传送网络芯片c d v 验证 和生存性功能。由于全光通信网在光域进行交叉连接和分插复用,从而减轻电交 换节点的压力,大大提高整个网络的传输容量和节点的吞吐容量。光传送网成为 2 0 世纪9 0 年代中期以后光网络的研究热点,也是网络升级的优选方案之一1 6 1 。 w d m 光传送网是基于光域的组网形式,一般分为广播与选择网( b r o a d c a s ta n d s e l e c tn e t w o r k ) 和波长路由网( w a v e l e n g t hr o u t e dn e t w o r k ) 。本验证系统验证的是具 有波长路由功能的w d m 光网络芯片,该芯片业务时钟为1 5 5 m ,采用m m 的9 0 n m c m o s 工艺,规模为三千万门左右,能透明的传递各种客户层信号,支持2 5 g 的传 输容量。 该芯片规模庞大,要完成对该芯片的验证,面临不小的挑战: 1 ) 该芯片结构复杂,需要在较高的抽象水平上进行设计。设计复杂度的提 高造成验证工作的成倍增加。 2 ) 在设计、转换以及映射到最终流片的过程中,应用更高的抽象级进行设 计会带来信息损失和解释错误的问题。例如,采用h d l 级设计并将其 转换到门级的综合过程,需要进行验证以确保转换的正确性以及使设计 意图完全得到体现。提高抽象级还带来了代码解释问题,在仿真时要通 过这些代码对设计进行描述,以确保所写的代码真实反映了功能规范。 3 ) 该芯片中硬件与软件、模拟与数字共存而造成的设计功能复杂度有所增 加。 4 ) 该芯片功能点多,就以往经验,在需要进行重制的芯片中,有8 2 是由 于逻辑与功能缺陷设计错误。这意味着验证过程没有覆盖边角情况,缺 陷一直隐藏在设计过程中直到流片。 5 ) 其次芯片中重用d 和外来m 比较多,怎样很好的完成d 间的测试也是 芯片成功的关键。 从上面的讨论中可以看出,验证确实还存在这样或那样的问题,而如何规避 这些问题成为该芯片验证的主要挑战目标。本文将在下节介绍现阶段业内比较常 用的验证方法。 1 2 国内外研究现状 如图1 1 所示,现阶段业界广泛应用的验证方法主要有:形式验证( f o r m a l v e r i f i c a t i o n ) 、基于仿真的动态验证( d y n a m i cv e r i f i c a t i o n ) 、f p g a ( f i e l d p r o g r a m m a b l eg a t ea r r a y ) 验证和软硬件协同验证等。 第一章绪论 3 1 2 1 形式验证 图1 1 目前的验证方法 形式验h 正( f o r m a lv e r i f i c a t i o n ) 使用数学方法形式化地证明设计实现是否部分 或者全部满足系统规范所描述的要求。它是一种静态的功能验证方法学,因此也 可以把形式验证定义为是一种检查所实现的设计是否满足设计规格定义的某些属 性特征的过程。它主要包括模型检查( m o d e lc h e c k i n g ) 、定理证明( t h e o r e m p r o v i n g ) 、等价性检查( e q u i v a l e n c ec h e c k i n g ) 等【7 8 】。 模型检查是指根据设计规格建立具有一般性特征的模型,通过形式上的检查 来证明模型特征正确与否。它通常应用在设计的高级阶段,用来检查具有普遍性 的问题,同时验证设计人员的设计行为是否违规 9 , 1 0 】。这种形式验证方法目前还 很不成熟,具体表现在:从设计规格中提取特征从而检查这些特征需要很高的技 巧和深厚的数学功底,缺少成熟的工具支持。 定理证明是用形式逻辑同时去描述设计的规格和实现,然后用理论证明的方 法来验证两者在逻辑上的相关性和相似性。在定理证明中,系统及其需满足的属 性都用数理逻辑的形式化语言描述。一个形式化描述的系统包括一组公理和演绎 规则,从系统的公理找到属性的证明【1 1 】。这种方法需要一个设计行为的形式化描 述,通过严格的数学证明,比较h d l 描述的设计和系统的形式化描述在所有可 能输入下是否一致。通常h d l 描述就是第一个形式化描述,即便有一个更高层 次的形式化描述,还需要保证该描述的正确性,才能和f i d l 描述进行一致性比 4 2 5 g 传输容量的光传送网络芯片c d v 验证 较。形式化描述和h d l 描述的一致性证明很难进行,推演出这些形式的原型和 证点非常繁琐,通常需要假设很多条件以简化比较证明,而要证明这些假设本身 也是很困难的。另外,这种验证不能完全自动化。其优点是形式的证点可以机械 地检查。目前它还只是在学术上进行研究。 等价性检查通过数学的方法来证明两种设计逻辑上的等价性【12 1 。它一般用来 证明r t l 和门级网表的一致性,也可用来证明两个r t l 描述或者两个门级网表 的等价性【1 3 】。等价性检查又可分为组合等价性检查和时序等价性检查。组合等价 性检查的目的是检查两个组合电路在给定的输入下是否等价,时序等价性检查包 括:比较r t l 设计在综合前后的等价性;检查逻辑设计及其版图实现间的等价性; 对设计进行性能优化前后电路的等价性证明。 形式验证方法具有以下几个优点: 更早发现设计缺陷,缩短设计周期和降低开发成本。形式验证工具能够 根据设计的结构自动地提取特性,表达成作为判断标注的断言 ( a s s e r t i o n ) ,在不需要验证者提供激励的前提下,对设计进行验证。断言 取代测试用例,能够减小验证难度; 保证1 0 0 的覆盖率,提高验证质量。形式验证通过数学的方法验证r t l 代码与命题是否一致来确定设计的正确性,从而规避了测试用例完整性 问题,达到验证的1 0 0 覆盖率; 不影响原有验证流程,容易整合其它验证方法。 形式验证方法也存在着明显的缺点,它所面临的最大问题是“状态空间爆炸 问题” 1 4 , 1 5 】,即设计中状态数量的剧增,这使得形式验证方法所能验证的电路规 模远远不能满足设计的需要。它在容量、应用范围以及对硬件环境方面的苛刻要 求,使它不适宜进行系统级的功能验证。目前,形式验证主要应用于模块级或单 元级设计的功能验证,当系统复杂度超出状态空间搜索的半径所能覆盖的范围, 形式验证方法已不能完成验证任务。 1 2 2 基于仿真的动态验证 应用最广的验证具有动态特性,输入激励信号是在一段时间内( 若干个时钟周 期) 生成并应用于d u t ,然后,对应的结果被收集起来与一个参考( 黄金) 模型进行 比较,以便与s p e c i f i c a t i o n s 相符。 动态验证过程需要用到仿真器,来计算出d u t 对应于某项激励的输出,根 据内部仿真算法的差异,仿真器包括基于周期i 拘( c y c l e b a s e d ) 仿真器和基于事件 ( e v e n t b a s e d ) 的仿真器i l6 。基于周期的仿真器是将组合逻辑换算成一组数学表达 式,然后在每个周期的开头按照该表达式来更新时序单元的值,这种仿真器每个 第一章绪论 5 周期只进行一次值的更新,特点是仿真速度快,但只能仿真单一时钟的同步设计, 并且不能进行时序检查。基于事件的仿真器则有一套复杂的调度算法,它按照事 件去触发进程,事件的调度严格按照设计所指定的仿真时间或规则进行,所以它 能仿真异步设计及检查时序,是对真实设计的一个较准确模拟。但是它速度慢, 一般工业界提供的仿真器支持上述两种仿真机制以及它们的混合仿真。 动态仿真的一个主要的缺点是,在一个限时仿真行程当中,只能对芯片的典 型( 而不是所有可能的) 工作特性进行验证。造成这种情况的主要原因在于芯片是 针对已知测试空间( 而不是未知测试环境) 进行测试的,采用的是定向测试法。e d a 行业推出了诸如o p e n v e r a 、e 和s c v ( s y s t e mc v e f i f i c a t i o nl i b r a r y ) 等更加高级 的验证语言。这些语言引入了新的概念,比如约束随机激励、随机激励信号分配 等。 1 2 3f p g a 验证 现场可编程门阵y u ( f p g a ) 芯片将很多基本逻辑单元集成在一个芯片中,采用 r a m 、f l a s h 或反熔丝等工艺,使这种芯片具有可配置和可编程性【 】。有的f p g a 甚至集成了处理器和不同功能的p 模块,用户可以把h d l 设计综合映射到f p g a 单元上,从而实现用户的逻辑。 f p g a 验证和其他的验证并不相同,其他验证方法都可看成是a s i c 的一个 环节,而f p g a 验证却可看成是与a s i c 设计同步的一个过程。 如图1 2 所示,设计和f p g a 的验证是互相影响、互相制约的两条线,都来 源于需求,又都归结到实现。 c h e c k i n gr 讨论记录j详细设计 图1 2f p g a 验证和设计的交互 对于f p g a 验证来讲: 第一,制定总体验证方略与计划。 对于所有的验证来讲,总体验证方案的制定都是芯片验证能否成功的关键。 首先,需求是出发点。在立项之初,根据需求对产品进行整体评估、规划和预算, 6 2 5 g 传输容量的光传送网络芯片c d v 验证 制定出总体验证方案和计划。其中包括验证策略、验证工具、验证进度、衡量标 准、人力配备、完成期限、期望结果及所需资源。和设计一样,预则立,不预则 废。完备的方案计划不仅是验证工作的重要起点,还是验证工作的完整性与有序 性的重要保证。一旦方案确定了,验证所能达到的程度以及验证的努力也就相应 的确定了,后期的验证也就有了一定的原则和向标。 第二,验证环境的搭建和用例的编写。 在总体方案的指导下,一方面,搭建硬件环境。主要是进行f p g a 的选型、 模块划分以及验证板的设计、制作等工作。另一方面,编写验证用例。主要是对 规格进行细化,分解测试向量,确定详细验证方案。 第三,验证实现。 这一部分是验证的核心。通常是在代码和验证板出炉后,先是完善环境,其 次,对a s i c 代码中需要修改的地方进行修改,利用专门的工具进行综合、布局 布线、时序调制以及程序加载完成验证初期的准备工作。之后,根据用例的编写, 对不同的测试点进行功能点的验证,发现和消除设计中存在的b u g 。对于大规模 的设计来讲,这是最耗费时间的地方,也是最值的注意的地方,处理的得当,问 题发现得就越早,对于设计造成的影响就越小。最后,对于所作的验证进行回归 和确认把关,完成验证报告,结束验证全过程。 f p g a 验证的优点是: 速度快,能快速仿真出设计的逻辑功能。 能集成软硬件,可以大量运行和调试软件。 f p g a 验证的不足之处在于以下几点: 在高性能产品设计中,f p g a 的单片价格通常高达数千美元,若是自行设 计验证板,那么其人力、物力的消耗也是不容忽略的。 其次,由于f p g a 和a s i c 本身的一些区别,使f p g a 的验证和实际设计 存在不一致的问题,像是r a m 等一些固有代码的替换,都会给验证带来缺 陷,并通过其他的验证方法来规避。 再次,f p g a 的验证不提供一些随机性测试,功能覆盖测试。其测试的向 量都是验证人员逐条施加的,就连一些异常测试,也是以人为思考为先导。 而其验证的全面性不像基于e 语言的验证那样可以通过覆盖率检查来保证。 1 2 4 软硬件协同验证 从系统的角度来看,硬件和软件无非是模块实现的不同方式。系统的各个组 成部分,硬件可以实现的,软件或许也可以实现。现在的数字芯片系统设计,其 过程一般是系统的预研,划分各功能模块( 包括软件、硬件) ,具体模块的实现, 第一章绪论 7 然后是各个模块的集合、验证。按照传统的方法,硬件模块和软件模块各自分开 验证其功能是否正确,也就是说,它们的验证不在同一个环境之下。这种方法存 在很多缺点。首先,硬件和软件模块必须根据系统要求,建立各自的验证环境, 这必然导致两个环境的不一致性:同时,额外增加了硬件模拟软件环境和软件模 拟硬件环境的仿真模型;另外,仿真模型有别于实际的代码,以至于最后整合时, 容易产生不可预期的错误,导致整个设计的反复。软硬件协同验证使得设计者可 以在设计的早期发现系统功能、软硬件划分、软硬件之间的接口以及设计中的其 它问题,在硬件原型构造之前,就能在一个纯“软 的环境中对系统进行软硬件 集成测试 1 8 , 1 9 】。 协同验证的主要目的是通过一个纽带,让软件、硬件验证器协同工作【2 0 1 。软 件验证器和硬件验证器可以利用已有的验证器,比如m o d e l s i m ( 硬件验证器) , x r a y ( 软件验证器) 等。软硬件协同验证的组成部分包括:协同仿真内核 ( c o s i m u l a t i o nk e r n e l ) 、指令集模拟器( i n s t r u c t i o n s e ts i m u l a t o r ,n s ) 、调试接口 ( d e b u g g e ri n t e r f a c e ) 、配置管理器( c o n f i g u r a t i o nm a n a g e r ) 、硬件模拟内核 ( h a r d w a r es i m u l a t i o nk e r n e l ) 、硬件模拟接口( h a r d w a r es i m u l a t i o ni n t e r f a c e ) 、总线 接口模型( b u si n t e r f a c em o d e l s ,b i m ) 、存储模型( m e m o r ym o d e l s ,m m ) 等等。 协同仿真内核控制着软硬件两方面仿真过程的通讯。协同仿真内核接收和处 理来自指令集模拟器的所有地址信息和请求,判断这些地址请求是通往总线接口 模型,还是直接通往本地存储器模型【2 l 】。指令集模拟器是一个抽象的功能行为模 型,模拟指令执行时数据处理的过程。而调试接口则提供各种调试手段,比如设 置断点,单步执行,实时观察寄存器和存储器数值等等。这种接口不需要另行开 发,可以利用成熟的软件调试器,比如x r a y 等。配置管理器可以让协同仿真更 加灵活,比如增加一些可以配置的开关,可以设置一些针对不同系统的优化措施 等等。硬件模拟内核和硬件模拟接口则执行包含多个总线接口模型、存储模型、 以及用户硬件逻辑的硬件模块的仿真模拟,可以提供硬件的各种调试手段。当然, 最主要的是观察实际的波形。硬件模拟接口也不需要重新开发,可以集成成熟的 硬件调试器,比如v c s 。 软硬件协同验证软件环境,其实就是仿真实际的嵌入式系统硬件环境。其过 程是,数据请求由执行在指令集模拟器的软件发出,然后通过协同仿真内核和硬 件模拟内核【2 2 】。当总线接口模型、存储模型接收到数据请求,则提供或者接收 c p u 端需要的或者发送过来的数据。协同验证也是基于建立模型后的验证,针对 不同的c p u ,必须有不同的c p u 模型。因为指令集模拟器不是一般的c p u 硬件 仿真模型,所以它可以做到某些指令周期的优化,比如可以去除一些无效的指令 周期,从而使仿真速度加快。 8 2 5 g 传输容量的光传送网络芯片c d v 验证 1 3 本文验证方法介绍 在验证中,经常碰见图1 3 所示的疑问。 仿真 什么 时候 结束 图1 3 验证的思考 验证到什么程度算是充分,怎样制定仿真计划,一直在困扰着验证工程师。 本文所采用的基于覆盖率的验证模式( c o v e r a g e d r i v e nv e r i f i c a t i o n ) l l 够很好的消 除验证工程师的困惑。覆盖率分析大致分两种:一种是基于代码的覆盖率分析, 另一种是基于功能的覆盖率分析。基于代码的覆盖率主要是测试执行语句的情况 ( 1 i n ec o v e r a g e ) 、条件分支的执行情况( c o n d i t i o nc o v e r a g e ) 、信号翻转执行情况 ( t o g g l ec o v e r a g e ) 和状态机执行。i 靓( f s m ) 等【2 3 】。由于与具体设计思想联系不紧密, 代码覆盖率较容易检测,几个主要的商用e d a 工具软件都提供了对代码覆盖率 监测的支持。基于功能的覆盖率分析则着眼于设计的功能和整体结构,常被用来 监测设计者最为关注的主要设计功能和结构。由于与具体设计联系紧密,基于功 能的覆盖率分析要求有详细的说明文档来描述待测的功能点,因此功能覆盖率模 型也可以看做是验证计划文档另一种描述方式。 覆盖率的验证模式根据项目规格提取出来的功能点及其实现方案进行多角度 综合检测各种激励、d u t 的响应、d m 内部状态等信息的覆盖率情况,最终输出一 份综合的分析报告表,从中可以直观了解到哪些功能已充分覆盖到、哪些功能点 没有覆盖到,它从各个角度上去提示验证工程师哪里真正才是验证的重点所在, 从而能够有效的提高激励产生的效率和设计代码的覆盖程度,大大减少了反复验 证的次数,明显提高了验证工作效率,确保验证的高质量。同时覆盖率的具体数 第一章绪论 9 字可以准确、直观地反映出验证的具体工作进度。 1 4 1 论文的目的和意义 1 4 论文的主要工作 通过上一节的具体分析,可以清楚的看到,对超大规模a s i c 设计进行c d v 验证的必要性和可行性。 本文就是基于这样的思想,探索如何才能更好的利用c d v 验证的特点来实 现对一款光传送网芯片的验证,从而充分保证其功能的正确性以及面市的及时性。 文中先是从理论上对基于c d v 验证方法和传统的验证方法进行了分析和比较, 总结出了一套规范化的c d v 验证支撑流程,随后搭建了一个自动化的验证平台, 在该平台上完成了芯片客户到波分侧路径的c d v 验证,达到了1 0 0 的覆盖率。 按照这流程可以对实际芯片的验证工作提供有益的借鉴。 而其中关于验证环境的搭建和测试过程的分析论述,不仅是对基于功能覆盖 率验证理论的证实,而且从验证的思路和方法上对后续芯片有一定的借鉴作用。 1 4 2 论文的章节安排及内容介绍 第一章绪论 主要是论述芯片的应用背景,国内外芯片验证方法的动态,以及c d v 验证 的性能特点,分析当前c d v 对a s i c 的支撑,以及论文的主要工作。 第二章c d v 验证的流程 首先提出了测试点的概念,顾名思义,c d v 就是基于测试点的覆盖率。了解 了测试点的概念后,本章又通过对传统的验证方法和c d v 验证方法进行比较分 析,详细介绍了c d v 验证方法的流程,并分析了c d v 验证对本芯片的指导意义。 第三章芯片的特性分析 主要对芯片的特性进行了相关解释说明,为c d v 中的测试点理解打下基础。 第四章建立o t n 测试芯片的验证平台 针对o t n ( o r l t i c a lt r a n s p o r tn e t w o r k ) 芯片开发的验证平台,采用模块化结构设 计,层次结构清楚,具有良好的可重用性。用该测试平台成功验证了超百万门的 o t n 芯片的功能。 第五章结果分析 本章先对照规格提取出相应测试点,基于验证平台按照c d v 的验证流程完 成了对客户到波分模块的覆盖率统计,并对统计结果进行了分析。 1 0 2 5 g 传输容量的光传送网络芯片c d v 验证 第六章结束语 论文的最后对本文的工作进行了全面总结,指出本文工作的不足之处并对下 一步研究工作做出展望。 第二章c d v 验证流程 第二章c d v 验证流程 本章首先提出了测试点的概念,顾名思义,c d v 就是基于测试点的覆盖率。 了解了测试点的概念后,本章又通过对传统的验证方法和c d v 验证方法进行比 较分析,详细介绍了c d v 验证方法的流程,并分析了c d v 验证对本芯片的指导 意义。 2 1 1 测试点的定义 2 1 测试点 功能覆盖率,顾名思义,是对功能点的覆盖。功能点属于测试点,测试点是 对验证特性的细化,用直观、形象的语言无歧义地描述被测对象的某一处理功能, 是不需再细分的测试项目( 意义已经明确,无歧义) 【2 4 】。测试点主要是从需求规格 出发,得到验证特性,再细化分解得到。如图2 1 所示,说明了从需求规格到测 试点、测试用例的整个映射过程: t e s t l t e s t 2 s p e c l v fe a t ur e1 t e s tc a se2 夕一 t e s tn t e s tc a se1 z v fe a t ur e2 t e s tc a se 3 t e stc a sem v fe a t ur en t e s tc a s en 需求规格啼验证特性啼验证规格测试用例 ( 测试点) 图2 1 需求、验证特性、测试点、测试用例映射图 逻辑需求规格一般可分解为多个验证特性。验证特性是从验证的角度描述需 求,说明了某个需求规格对应需要验证的多个特性,不仅包括需求规格中定义的 逻辑功能、性能,同时还包括综合功能、可靠性、缺省功能特性和协议符合性等。 一个验证特性一般又可以分解为多个测试点。测试点是指一个验证特性需从哪几 个方面来进行验证测试,比如考虑逻辑所处的工作状态、条件,逻辑处理的容错、 容限,各种激励数据的典型值、边界值、异常或者突发流量冲击等。 测试点要具有确定性( 足够细致,没有歧义) 、完备性( 该考虑到的都应该考 1 2 2 5 g 传输容量的光传送网络芯片c d v 验证 虑到,没有重复和遗漏) 、扩展性( 不仅包括需求规格中明确定义的开发规格,还 包含一些没有明确定义的缺省特性) 的特点,它的分解思路是:针对每一验证特 性,考虑各种激励数据情况和逻辑工作状态,分解出多个测试点,测试执行的目 标就是充分验证这些测试点,从而保证逻辑的质量。所有测试点的集合即为验证 规格。 举个简单的例子,例如:t c mt i m 选插a i s 的需求,可以分解三个验证特 性:( 1 ) 选插是否正常;( 2 ) 存在其他t c m 级别的告警,选插是否有影响;( 3 ) 各通 道的选插是否相互影响。 而每个验证特性又可以分为两个测试点考虑:( 1 ) 有t c mt i m 告警后,选择 下插a i s ,是否有相应的告警;( 2 ) 状态( 1 ) 下,关闭选插,告警是否仍然存在;( 3 ) 状态( 1 ) 下,撤去t c mt i m 告警,告警是否仍然存在。其实在应用中可能不会这 样进行一步步的划分,但是这种层次性的思路,不仅可以使测试时条理清楚,而 且有利于后续回归。 当然,除了需求规格,测试点还需从用户手册、项目设计者、系统设计者、 经验案例、协议资料、外围芯片资料中提炼。用户手册是提供给下游用户的说明, 这里都是从应用的角度描述问题,从里面可以考虑所有的应用问题是否都在测试 点中有体现。与项目设计者和系统设计者交流,可以了解一些与项目实际设计和 应用情况相关的信息,这些信息往往在需求规格中不会明确的描述出来,但是对 测试有很好的指导意义。经验案例可以找出类似的设计在哪些地方容易出现问题, 重点关注就可以防止历史重演。协议资料都是通用的、标准的,按照有关的标准 进行就会使设备对接少去很多的麻烦。此外,外围芯片的资料也是重要的,大多 设备不能支持协议的所有内容,因此还要在了解其特性后做有针对性的设计和测 试。 2 1 2 测试点的分类 目前需求规格的分类包括功能、性能、接口、其他( 可靠性、可测性、可重 用性、可扩展性) 等几个方面。对于功能类需求规格,测试点可以从具体功能、 典型值边界值、容限容错、综合处理等方面考虑;具体功能就是一一列出功能需 求的多个小的功能点,把功能细分到最细的测试点,典型值和边界值说明了这个 功能需求要关注哪些方面的典型值和边界值,一般能够明确的就列出具体的典型 值和边界值,有些时候对于不同的设计,典型值和边界值有不同,但最好能够针 对一种情况给出参考的典型值和边界值。容限容错、综合处理和逻辑的性能是息 息相关,因此有关逻辑性能方面的需求规格,在功能需求的容错容限、综合处理 中也能体现:容错容限的概念以前都说的比较多,主要是指一些非法的输入,异 第二章c d v 验证流程 1 3 常的处理,还有激励输入的一些极端情况,例如运行良好后突然关掉时钟等。综 合处理主要是指多种情况的并发出现,例如多种告警同时触发,多通道多模式并 用等。 对于接口类需求规格,主要是参考接口描述的有关技术文档,可以从时序遍 历、信号加扰、信号握手过程中间环节异常等方面进行考虑,而不考虑业务层面 的问题。接口类需求规格是一些比较明确的需求规格,一般直接给出接口信号, 典型时序等,而对于这个接口的具体时序,信号之间的握手关系等细节就可以参 考有关这个接口的技术文档了。 2 1 3 测试点的级别和测试活动 测试过程也是要有一定的策略的,每个测试点的优先级并不同。尤其是在进 度紧张的情况下,对于部分代码修改后的小量级别的回归测试是要进行选择的, 所以为了在编写和执行测试用例的时候作为参考,测试点可分为高、中、低三级, 测试时由“高”级别进行考虑。例如:定义“高 级别为使用最多、最重要的功能 相关的测试点。“低”级别为一些非重要应用对应的测试点( 内部调试用的测试计 数器等) 。重要性介于二者之间的级别为“中 。 这样划分好之后,测试就有一定的针对性的意义了。 此外,对于c d v 的测试,有的测试点是需要随机测试,有的是需要定向测 试,并且有的测试点还是几个功能点的组合。这就要求分清楚测试点的特性,定 向测试的编写定向测试用例;需要随机测试的,确定随机测试的范围,合理安排 随机的颗粒度;组合功能点测试需要罗列出相关功能点,并总结出功能点存在的 所有情况。 从以上的分析不难看出,对于测试点的运作,一方面保证了测试覆盖,使测 试工作清晰、透明。另一方面大大提高回归的效率,并且有助于重用的把握及相 关的处理。 2 2 1 传统的验证方法 2 2 验证流程 传统的验证流程如图2 2 所示。它主要是在前期分析设计的需求、逻辑规格、 设计实现方案等,并提出相应的功能点f e a t u r el i s t ,量化出众多的测试点,接着编 写大量的测试向量t c 进行测试( 基本上是直接测试) ,最后再进行相应的随机测 试。 1 4 2 5 g 传输容量的光传送网络芯片c d v 验证 t 分析设计规格,设计方案 一 , 女 夕 j 提取f e a t u r e 。l i s t i | 弋、,夕 j + 编写验证方案,搭建验证环境 之多 编写完备直接测试向量 图2 2 普通验证方法的验证流程 该验证方法存在的问题主要表现在: 1 ) 在传统的验证方法中,前中期进行的测试基本上是采用直接测试的方法, 逐点确保每一个测试都被覆盖到,于是编写的测试用例特别多。 2 ) 在验证进度的前、中期,验证工程师编写大量的直接测试向量,需要人 的头脑风暴,且花费大量的时间和精力,而不是利用宝贵的时间集中精 力考虑需要验证的功能。 第二章c d v 验证流程 1 5 3 1 编写大量的测试向量,数量应该多少才算充分,是不可度量的,在验证 工程师自己认为测试向量已经足够,或者验证时间已经足够,验证工作 就可以结束,这样最终是否还存在验证工程师没有考虑的测试边界点、 测试盲区,都无人知晓,d u t 的验证质量得不到保证。 4 ) 在后期的随机测试阶段发现许多前、中期的直接测试所没有发现b u g , 也就是说后期的随机测试不光能发现好多直接测试能发现的b u g ,还能 发现好多直接测试不能发现的b u g 。 5 ) 在后期的随机测试中,随机情况很有限,仅仅是随机一定的时间或者一 定的次数后,没有发现问题就可以认为验证已经结束,其实这只能说是 d u t 相对稳定了,并无法证实所有需要验证的边界情况都被覆盖了。 6 )由于测试向量众多,在后期的回归测试需要大量的机器、e d a 工具等资 源,而且回归周期比较长,验证效率比较低。 2 2 2 功能覆盖率驱动的验证方法 基于功能覆盖率的验证模式根据项目规格提取出来的功能点及其实现方案进 行多角度综合检测各种激励、d u t 的响应、d u t 的内部状态等信息的覆盖率情况, 最终输出一份综合的分析报告表,从中可以直观了解到哪些功能己充分覆盖到、 哪些功能点没有覆盖到,它从各个角度上去提示验证工程师哪里真正才是验证的 重点所在,从而能够有效的提高激励产生的效率和设计代码的覆盖程度,大大减 少了反复验证的次数,明显提高验证工作效率,确保验证的高质量。同时覆盖率 的具体数字可以准确、直观地反映出验证的具体工作进度。 基于功能覆盖率分析的验证流程如图2 3 所示,该验证方法前期与传统的验 证方法是相同的,都需要分析设计规格和设计实现方案,提取f e a t u r el i s t ,量化 出相应的测试点,不同的是,该验证方法还需要针对具体的测试点建立其对应的 功能覆盖率表格,也就是在验证的前期就可以建立起验证工作明确的目标,后期 的验证工作就可以紧紧围绕该目标来开展,从而在各个阶段点都可以充分把握好 验证的进度,接着编写对应的验证方案,搭建验证环境,仿真前期主要是进行小 范围的随机测试并观察其相应的覆盖率情况,后期则可进行大范围的随机测试并 收集完善的功能覆盖率报告,最后分析功能覆盖率报告,并有针对性对激励进行 约束,产生高效的激励进行随机测试,直至所有功能点1 0 0 覆盖,至此验证工 作结束。 1 6 2 5 g 传输容量的光传送网络芯片c d v 验证 ? 分析设计规格,设计方案 、q 弋夕 一”j 提取f e a t u r

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论