




已阅读5页,还剩59页未读, 继续免费阅读
(微电子学与固体电子学专业论文)基于iip模块的覆盖率驱动验证技术.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 摘要 随着a s i c 设计规模和复杂度的不断增加,验证已经成为制约大规模芯片设计 的主要瓶颈之一。如何将验证时间降低到一个合理的程度,以及如何确保验证的 完备性,是验证工作面临的两个主要难题。 为此,本文采用基于覆盖率的验证方法,对一款分组传送芯片中的三层转发 模块i i p 进行了验证,论文的重点是寻找验证时间和验证质量之间的平衡点。论文 详细阐述了基于覆盖率的随机验证过程以及验证环境的搭建,提出从代码覆盖率 和功能覆盖率两方面保证验证的完备性和可度量性。 包括本文的验证工作在内,目前该芯片的验证工作已经全部结束,经f p g a 上 板测试,证明功能运行良好并且即将投片。本文的研究工作,从验证思路和方法 上,对下一个版本以及其他相关芯片有一定的借鉴意义,可以有效地提高验证质 量,降低芯片开发成本,缩短开发周期。 关键词:验证l i p 模块分组传送芯片覆盖率驱动 a b s t r a c t a b s t r a c t w i t ht h ei n c r e a s e m e n to fa s i cs c a l ea n dc o m p l e x i t y , v e r i f i c a i t o nh a sb e c o m eo n e o ft h em a j o rb o t t l e n e c k si nt h ed e s i g np r o c e s s h o wt ol o wd o w nt h ev e r i f i c a t i o nt i m e , a sw e l la sg u a r a n t e eo fv e r i f i c a t i o nc o m p l e t e n e s sa r em a i np r o b l e m sf a c i n g t h e r e f o r , t a k i n gt h ev e r i f i c a t i o no fi i pm o d u l ei ng r o u p i n gt r a n s m i s s i o nc h i pf o r e x a m p l e ,t h i st h e s i sr e p r e s e n t sf o c u s e do nh o w t of i n dt h eb a l a n c ep o i n tb e t w e e nt h e v e r i f i c a t i o nq u a l i t ya n dt h ec o s tt i m ei nt h eb a s i so fc o v e r a g ed r i v e nv e r i f i c a t i o n m e t h o d o l o g y , a n de l a b o r a t e st h er a n d o mv e r i f i c a t i o np r o c e s sb a s e do nt h ec o v e r a g e a n dt h eb u i l d i n go ft h ev e r i f i c a t i o ne n v i r o n m e n t ,p r o p o s i n gt og u a r a n t e et h ev e r i f i c a - t i o nc o m p l e t e n e s sa n dm e a s u r e m e n ti nb o t hs i d e so ft h ec o d ec o v e r a g ea n df u n c t i o n a l c o v e r a g e i n c l u d i n gt h ev e r i f i c a t i o no fi i pi nt h i st h e s i s ,t h ev e r i f i c a t i o np r o c e s so f t h ec h i p h a sa l r e a d yb e e nc o m p l e t e da n dt h et e s tw h i c hu s e st h eh a r d w a r ef p g ab o a r da l s o p r o v e st h a tt h ec h i pi sw e l l - o p e r a t da n da b o u tt ob et a p e do u t ,w h i c ha l s oh a sa nu s e f u l r e f e r e n c es i g n i f i c a n c ef o rt h en e x tv e r s i o na n ds o m eo t h e rr e l a t e dc h i p si nt h ev e r i f i c a - t i o nm e t h o d o l o g y t h ep r a c t i c ee x p e r i e n c ei nt h i st h e s i sc a ni m p r o v et h ev e r i f i c a t i o n q u a l i t y , r e d u c et h ed e v e l o p m e n tc o s ta n ds h o r t e nt h er e s e a r c hc y c l e k e y w o r d :c o v e r a g e d r i v e n l i pm o d u l e g r o u p i n gt r a n s m i s s i o nc h i p v e r i f i c a t i o n 西安电子科技大学 学位论文独创性( 或创新性) 声明 本人声明所呈交的论文是我个人在导师指导下进行的研究工作及取得的研究 成果。尽我所知,除了文中特别加以标注和致谢中所罗列的内容以外,论文中不 包含其他人已经发表或撰写过的研究成果;也不包含为获得西安电子科技大学或 其他教育机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做 的任何贡献均已在论文中做了明确的说明并表示了谢意。 申请学位论文与资料若有不实之处,本人承担一切相关责任。 本人签名:王l 次 西安电子科技大学 关于论文使用授权的说明 本人完全了解西安电子科技大学有关保留和使用学位论文的规定,即:研究 生在校攻读学位期间论文工作的知识产权单位属西安电子科技大学。本人保证毕 业离校后,发表论文或使用论文工作成果时署名单位仍然为西安电子科技大学。 学校有权保留送交论文的复印件,允许查阅和借阅论文;学校可以公布论文的全 部或部分内容,可以允许采用影印、缩印或其他复制手段保存论文。( 保密的论文 在解密后遵守此规定) 本学位论文属于保密在一年解密后适用本授权书。 本人签名:王玉次 导师签名:移瓣 第一章绪论 1 1 课题背景和研究意义 第一章绪论 随着a s i c 设计和s o c 设计的规模及复杂度的不断增加,推动着设计方法的不 断变革。i c 行业中的设计和验证领域的发展也现不平衡的趋势,如图1 1 所示,验 证的发展水平落后于设计的发展水平,出现了设计和验证之间的鸿沟。如何来验 证这些大规模和高复杂度设计的正确性所面临的挑战也越来越大【1 1 。 复 杂 度 2 0 0 0 2 0 0 42 0 0 7 图1 1 设计和验证之间的鸿沟 j a n i c kb e r g e r o n 在他的( ( w r i t i n gt e s t b e n c h ) ) 一书中写到:“真正的问题不是如 何设计一个时钟速度6 0 0 m h z 、规模1 2 百万门的i c ,而是如何验证它【2 j 。”验证的目 的是确保设计对象满足在功能规约中所定义的功能要求,它是保证集成电路设计 正确性的关键。验证已经成为集成电路设计流程中开销最大的工作。目前,验证所 花费的时间大约占集成电路设计周期的7 0 - 8 0 ( 逻辑电路设计只占3 0 左右) 【3 】。在国外,目前的工程项目中,一个项目组中的验证工程师的人数已经远远超过 了设计工程师。在国内一些大型i c 设计公司,这个比例也达到了1 :1 ,而且有继续 提高验证人员比例的趋势。 如何将验证时间降低到一个合理的程度,以及如何确保验证的完备性是验证 工作面临的两个主要难题。在2 0 0 3 年m e n t o r 公司的研究报告就已经显示1 4 j ,所有的 芯片设计中,有6 0 的芯片需要至少重新流片一次,而就这些重新流片的设计而 言,其中6 2 是由功能错误造成的。而这种情况在近几年是有增无减,由此可见, 在i c 发展的今天,芯片验证已经成为一个瓶颈。造成这种局面的原因:方面, 设计的规模正如摩尔定律所指出的呈指数增长【5 】。如果用设计中的状态数目来衡量 2 一 基于i i p 模块的覆盖率驱动验证技术 功能复杂度的话,则设计的功能复杂度随着设计规模又呈指数增长。如此惊人的 速度,对于验证技术的处理能力提出了极大挑战。另外一个方面,历史上对设计 流程中的其他环节( 布局布线、设计自动化等) 关注颇多,而对验证重视不够, 这也是造成验证成为目前的瓶颈的原因之一。 在逻辑设计阶段,如果没有进行充分的功能验证,设计中存在的逻辑性错误 就很难在后面的物理设计阶段被发现,而只能在流片之后才会被测试出来,这就 导致设计成本的攀升和芯片上市时间( t i m e t o m a r k e t ) 的延迟。从成本和上市时间 的角度来考虑,通过功能验证发现逻辑性错误在整个设计流程中至关重要。图1 2 表明了发现设计错误的数量、发现设计错误的代价和设计阶段三者之间的关系【6 j 。 错 误 的 数 且 里 创 意 级 规 范 级 设 计 级 芯 片 级 系 统 级 客 户 级 间 图1 2 发现错误的数量、修改错误代价和设计阶段的关系 从图1 2 可以看出,在整个设计流程中设计错误发现的越晚,用于修改错误的 代价就越高。在创意阶段修改错误只需修正设计方案,其代价是稍微延迟芯片开 发进程,而对开发费用几无影响;在芯片级或系统级发现设计错误,用于修改错 误的代价会大幅提高:需要更多的错误隔离时间、更复杂的纠错过程,严重时, 甚至需要系统设计人员重新设计芯片的实现算法,从而严重影响芯片开发进度; 在客户端发现设计错误,后果是灾难性的,可能要重新设计芯片,阿时还会给芯 片生产商的信誉带来负面影响。芯片的b u g 每向后推迟一道工序被发现,它所消耗 的资源可能是它之前一个环节发现同样b u g 的数倍。所以如何在芯片的验证环节, 更早的发现b u g ,成为芯片验证的一个重要课题。然而另一个方面,芯片的验证工 作是没有终结的,如何在验证时间和验证的完备性之间寻找一个平衡点,已经成 为验证人员的重要职责。先进的验证环境的设计与实现是目前验证技术的重点之 一门j 。在目前设计架构的复杂性下,采用随机生成测试并且只有少量功能覆盖点的 第一章绪论 传统方案已经过时。因此,必须要有高效的设计验证方法来将设计错误发生的可 能性降低到最小,同时又要缩短产品面市时间,从而实现最优的经济目标。 本论文的选题来源于海思半导体公司自主研发的一款分组传送芯片,该芯片 可以完成网络升级中向分组化传送的平滑过渡。本文通过对该芯片中三层路由交 换模块的验证方法的研究以及工程实践,提出从代码覆盖率和功能覆盖率两方面 保证验证工作的完备性和可度量性,降低验证成本。 1 2 验证语言和验证方法研究现状 验证语言是搭建验证环境的基础,2 1 世纪初期是系统级设计语言发展变化最 迅速的时期。各种验证语言如雨后春笋,现有的验证语言可以分成3 类瞄j 。 第一类是通过对于经典语言的扩展得到的语言如s y s t e m v e r i l o g p j 。 s y s t e m v e r i l o g 在向高层次发展方面,对于原来的v e r i l o g 进行了根本性的修改。 它混合了v e r i l o g ,c c + + 和c o d e s i g na u t o m a t i o n ss u p e r l o g 给设计者提供了最强 的能力。s y s t e m v e r i l o g 是对于i e e e1 3 6 4 2 0 0 1v e r i l o g 的扩展,以便辅助提供产生 并验证抽象的系统结构级的模型。在接口方面突出的特点是在高层抽象可以实现 模块的连接。类似于c 语言的结构,如断言结构支持性质的检验。 第二类是利用软件领域的语言和方法,如c c + + ,j a v a ,u m l 等等。主张用 c c 抖作为系统级设计语言的人们认为随着时间的推移,最终将会利用c 的自动 编译程序和其他自动化的工具来实现从c c + + 的模型到芯片的编译。在目前工具 不完善的情况下必须进行人工逐步求精的设计。也就是说,目前c c + + 要扩展硬 件表达成分而不是只在算法级描述。例如s p e c c ( t h eu n i v e r s i t yo fc a l i f o r n i a ,i r - v i n e ) ,a r d w a r e c ( s t a n f o r du n i v e r s i t y ) h a n d e l c ( 原先是在o x f o r du n i v e r s i t y ,现在转 移到e m b e d d e ds o l u t i o n sl t d ) s y s t e m c + + ( cl e v e ld e s i g ni n c ) s y s t e m c ( s y n o p s y s i n c ) c y n l i b ( c y n a p p s ) 等。可以把这些语言分成2 类:一类是在标准c 语言上进行 扩充,以s p e c c 为代表;另一类是利用c + + 可扩充性,以s y s t e m c 为代表,它提 供一组硬件的基本元件,这些元件可以扩充,以便在更高的层次上支持硬件。这 2 种互补的方法都在4 个层次上即算法、模块、按照周期( c y c l ea c c u r a t e ) 和寄存器 传输( r t l ) 级别上支持硬件描述。有领先的e d a 厂家管理和支持,并与商用的综 合工具相结合。它支持通用的软件和硬件开发环境。 与c 相比,c + + 显然是比较好的选择。因为c + + 是可以扩展的,也因为硬件 中的并发概念易于用类库表示,c + + 面向对象的本质与h d l 的分层次特性可以很 好地对应。 4 一 基于l i p 模块的覆盖率驱动验证技术 人们也在讨论j a v a 是否可以作为系统及语言和高级硬件描述语言的问题。文 献 1 0 指出,l a v a l o g i c 先提出j h d l ,他把j a v a 语言的描述转换成为综合的h d l 程序,再用所提供的工具变成门级的描述。拥护j a v a 作为系统级描述语言的人认 为j a v a 可以提高描述和运行效率,与现在的h d l 相比,能够以很简短的程序表 达高层的概念。c c + + 具有内在的表达并发能力,相反j a v a 可以用线程显式的表 达并发。但是j a v a 不支持模板和操作符过载,因此可能产生大量的过程调用。 第三类是全新的系统级语言。例如r o s e t t a ,用这一个语言,用户可以描述几 乎任何工程领域的行为和限制,包括模拟、数字、软件、微流体和机械等。但是 并不能代替和实现v e r i l o g ,v h d l 和c 等。它由美国d a r p a 开发,目的是给设 计者提供描述大型的、复杂的计算系统,特别是混合多种技术的系统的能力,它 可以在高层次上定义、捕获和验证系统的限锘! 条件和需求条件及其部件。 o p e n v e r a1 0 是s y n o p s y s 捐献出来公开的验证语言。对于模拟,它已经具有 描述断言的能力。s y n o p s y s 公司和i n t e l 公司的f o r s p e c 相结合后产生的o p e n v e r a 2 0 也能够支持形式化验证。和i n t e t 公司联合推出o p e n v e r a f o r e s p e c 作为工业标 准的断言语言,但是因为对于工程师来说难以接受,因此被拒绝。但是其概念还 是有特点的。它的目标是作为一种支持模拟和形式验证的性质描述语言。 由于设计能力和验证能力之间的鸿沟越来越大,如果在验证方法上没有突破 性的改进,验证将成为半导体产业继续发展的巨大障碍。近年来,验证方法的改 进主要体现在产生了一些新的特别的验证方法,比如基于断言的验证、功能覆盖 率、可约束的随机激励等等。 目前的设计验证方法迅速发展,主要的表现是【1 1 】: ( 1 ) 形式化方法取得了长足进展,特别是等价性检验已经集成到标准验证流 程中。它的概念由来己久,但是在近两年才开始走上商业化的道路。在2 0 0 0 年的 d a c 会议上,还只有近5 家公司推出自己的形式验证工具。而在2 0 0 2 年d a c 会议上,就发展到3 0 多家公司,同时业界标准也开始成形。 一方面,形式验证作为功能验证的补充,提供了一种可行且实际的解决方案。 形式验证并不是把激励加到设计中、同时将设计的结果与预期结果进行比较,而 是去检查设计并从数学上证明它的功能特性。与只报告错误的模拟不同,形式验 证能找出这些错误。当发现错误时,形式验证可产生反例来展示错误情况,从而 使设计者能更快的完成验证任务。 另一方面,形式验证也有其致命的不足。这种验证方法只适合于模块级或中 小系统级的验证。由于形式验证存在状态空间爆炸性增长的可能,当系统变复杂 时,验证将占用较多的计算机资源,耗时增加。当系统复杂程度超出状态空间搜 索的半径所能覆盖的范围时,形式验证已无法完成验证任务。形式化方法还需要 和传统的方法相结合才能发挥作用【1 2 1 。 第一章绪论 ( 2 ) 功能覆盖率使用会越来越多,功能验证需要达到量化的水平。工业上主流 电子系统的基于仿真的功能验证方法仍然是,通过对编写的模型运行大量的向量 进行仿真,并修改仿真中出现的错误。至今为止,逻辑仿真的方法依然在工业设 计中占主导地位。尽管耗费大量人力和时间编写测试向量,测试的覆盖率依然比 较低,所造成的结果是即使是用几个月的时间编写向量和进行仿真,依然对逻辑 功能正确与否没有足够的信心,而且在发现设计错误的时候需要很长的时间进行 调试以追踪错误产生的原因。另外,这种验证方法的惯性很多,就是说要放弃这 种验证方法而验证中运用新的更有效的方法,会付出高昂的代价,这也是形式验 证和半形式验证没有在工业中得到广泛应用的原因。通过功能覆盖率的使用,验 证人员使用可约束的随机测试用例,可以缓解这一问题。 ( 3 ) 基于断言的验证是结合形式化验证和传统的模拟验证可行的途径【l3 1 。支 持这种途径的统一的设计和验证语言是s y s t e m v e r i l o g 。它是在新的v e r i l o g 语言 标准上扩充系统描述构件而开发的一种过渡性的系统级设计语言。该语言可以统 一的描述复杂的设计和测试方案( t e s t b e n c h e s ) 。s y s t e m v e r i l o g 支持多级接口设计 和断言,充分利用了当前的设计验证技术和实践。它后向兼容v e r i l o g ,具有继承 性,与其同时成为一个结合设计和验证的语言。该语言已经得到很多e d a 厂商 和用户的支持,预计将会流行起来。 目前验证工作的问题主要体现在以下3 个方面【1 4 】: ( 1 ) 验证的自动化程度。验证是烦琐而复杂的过程,提高验证的自动化程度, 可以极大地降低验证过程的投入。如图1 3 所示的是随着逻辑门数量的增加,达 到验证目的所需要的最少的仿真之中个数。可以看出,在验证过程中,逻辑们的 增加会导致仿真所需的周期数3 个数量级的增长。 验证仿真所需 的时钟周期数 i m bl o m bi o o m b 逻辑门个数 图1 3 仿真周期数v s 设计门个数 6 一 基于l i p 模块的覆盖率驱动验证技术 所以,在如此长的仿真周期中,人工干预和检查逻辑错误的可能性是非常低 的,必须设计合理的方法和利用有效的工具提高设计的自动化。 ( 2 ) 高效率的验证方法需要更抽象的语言支持,同时还需要从低级语言向高 级语言转换的工具。从软件的发展过程可以看出,由机器码到汇编语言,再到c 语言,对软件的描述方法是一个逐步抽象的过程,而语言的发展是推动这个过程 的原动力,它极大地提高了开发的效率。这些语言虽然在一定程度上能改善这种 情况,但仍然不能成为最终的解决方案。 ( 3 ) 验证成本的限制,这其中包括昂贵的工具和人工成本。 通过对现有验证技术以及今后几年验证技术发展的研究不难发现验证发展的 几个趋势:形式验证和半形式验证在验证过程中占的比例越来越高;而相对于传 统验证方法中所关注的代码覆盖率和状态机覆盖率,功能覆盖率在验证中使用的 比例越来越大;可重用的部分在验证中的比例越来越大。 出于节约验证成本和提高验证效率等各方面原因考虑,本论文的i i p 模块基 于公司自主研发的验证平台p o w e r b e n c h ,使用c + + 等高级语言,搭建了支持自动 化比对的验证环境。并且p o w e r b e n c h 可以直接按照验证人员定义的功能覆盖率 目标来产生随机激励,编程量比较小,有利于验证效率的提高。 1 3 基于覆盖率的验证方法 事实上,传统的验证过程已经使用了功能覆盖率的概念。为了验证一个设计, 验证组长必须编写验证需求文档,以确定需要验证的测试用例。这份文档的内容 包括:所有测试用例的名称,测试用例的执行过程( 也可以说是激励输入) ,还有 就是测试用例的完成情况( 也可以说是设计的实际输出) 。验证工程师的任务就是 要在投片之前把这些测试用例一个个的完成。实际上,这样的一份文档就是一个 功能覆盖率模型【1 5 】。当需要测试的情况的填写很多时,这张表格会变得很大,用 人工的方式管理很容易出错。 覆盖率是衡量测试完备程度的指标。在硬件语言进入集成电路设计流程后, 覆盖率参数被应用于功能验证当中。由于硬件描述语言的硬件特性和功能特性, 覆盖率又被赋予了新的概念,除了代码覆盖率,又产生了其他一些覆盖率参数, 如翻转覆盖率、状态机覆盖率、结构覆盖率、断言覆盖率等等,特别是功能覆盖 率,在验证中的使用比例越来越大。覆盖率驱动的验证方法流程如图1 4 所示: 第一章绪论 编写验证需求文档 上 搭建包含功能覆盖率模型的测 试平台 上 在自动统计功能覆盖率模型驱 动下,通过随机激励、定向激 卜 励等手段保证功能覆盖 毛 验证完成 7 一 图1 4 基于覆盖率的验证方法流程图 从图1 4 可以看出:基于覆盖率的验证方法与传统的验证方法相比,多了衡 量验证过程的策略,也就是通过计算覆盖率情况来衡量被验证对象正确性的可信 程度。而覆盖率所达到的程度,也被作为评价验证完整性的标准,以指导下一步 需要用什么样的测试向量,当达到预期的覆盖率,这时候验证过程才会停止。 其次,在传统的验证方法中,验证的激励主要是手写测试向量和测试用例, 验证人员需要耗费大量的时间去编写测试向量和测试用例。而基于覆盖率的验证 方法中,验证的激励主要以可约束的随机向量为主,然后根据仿真过程中的覆盖 率分析,对随机向量的约束进行修改或是补充定向用例,以达到更高的覆盖率, 这样就可以迅速达到很高的覆盖率,提高验证的效率。 再次,传统的直接测试的验证方法,响应的检查也是直接的,即每个向量和 测试用例的响应都是预先算出,然后再和仿真结果相比较。而基于覆盖率的验证 方法激励是随机的,很难预先知道仿真结果,所以结果的正确性检查主要依赖于 r m ( 参考模型) 的对比。而且,这些随机激励也会更贴近实际应用中可能出现的激 励情况,有利于在仿真阶段就发掘出深层次的问题。 正因为基于覆盖率的验证方法有着种种优势,在i p 模块的验证中,主要采 用代码覆盖率和功能覆盖率来保证验证的完备性。 基于i i p 模块的覆盖率驱动验证技术 1 4 主要工作和论文结构安排 本文对分组传送芯片中的上行路由处理模块( e pi p 模块) 使用基于覆盖率的 验证方法,详细阐述了如何寻找验证时间和验证质量之间的平衡点,提出了从代 码覆盖率和功能覆盖率两方面保证验证的可度量性。 芯片验证的首要任务:就是要提高验证质量和缩短验证时间。通过采用一些 新的验证度量技术,如覆盖率驱动的验证和有约束的随机验证,可以大幅度提高 验证的质量并缩短总的验证时间。本文的主要研究工作如下: ( 1 ) 分析了国内外对芯片验证技术的研究现状,以及存在的问题; ( 2 ) 研究了i i p 模块所在的交换芯片的应用,以及i 口模块本身的应用情况; ( 3 ) 阐述了基于覆盖率驱动的验证思想,研究了验证环境的搭建,并且进行 了整套验证环境的编码和调试; ( 4 ) 通过实际运行测试用例,得出了i i p 模块的覆盖率,并且提出从模块功能 出发构造可约束的随机激励可以直接减少测试用例数目,提高验证效率;通过对 i i p 模块的覆盖率统计结果进行分析,提出了代码覆盖率和功能覆盖率对于保证验 证的完备性和可度量性的重要性; ( 5 ) 阐述了随机验证方法的理论基础,提出随机验证方法与效率提升的关系, 在很大程度上降低了芯片验证成本。 通过本论文的研究工作,对功能覆盖率和代码覆盖率进行了详细的阐述,包 括覆盖率模型搭建,覆盖率点设置,覆盖率结果收集,完成了基于覆盖率的验证 工作,有效的提高了验证的质量,同时提升了效率,缩短了验证时间,对后续相 关芯片的验证工作有一定的借鉴意义。 本文共分为五章,具体安排如下: 第一章:绪论。阐述了本论文的课题背景和研究意义,并综述了国内外验证 方法的研究现状和存在的问题,提出了本论文的主要工作和章节安排。 第二章:l i p 模块应用背景。介绍了使用i i p 模块的芯片应用背景,对l i p 模 块需要处理的报文格式和路由原理进行了研究,本章的研究工作是后文工作的基 础和依据。 第三章:验证环境。包括激励构造的设计、参考模型设计、结果分析模块、 总线功能模型等验证环境各个组建的搭建过程,以及基于功能覆盖率的测试点提 取和用例设计情况。 第四章:覆盖率及随机验证方法。通过对代码覆盖率和功能覆盖率的理论研 究,并结合先前项目的实践应用,分析了i i p 模块在代码覆盖率达到1 0 0 的情况 下功能覆盖率的覆盖情况,说明功能覆盖率的价值,以及这两种覆盖率是互为补 第一章绪论 充的关系:分析了i i p 模块定向测试的用例个数和功能覆盖率情况以及随机测试 的用例个数和功能覆盖率情况。说明基于c d v 的随机测试技术的优势。 第五章:结束语。对全文进行总结,并提出研究中存在的问题以及下一步主 要工作。 9 一 第二章i i p 模块应用背景 第二章i i p 模块应用背景 数据传送分组化已经成为传送网络发展的必然趋势,分组传送对提高带宽利 用率、传输速度都有很大的改善,而且具有明显的价格优势。三层路由是分组传 送芯片处理的重要业务功能。 2 1 分组交换芯片应用背景 现有的数据传送网络主要由两大阵营组成,一是以t d m 为主的传输设备, 包括m s t p 设备,而是以纯分组交换为主的数通设备。t d m 技术应用比较早, 标准和技术都比较成熟,但是其存在固有的缺陷:带宽利用率低,可扩展性差, 价格昂贵,对新型业务支持比较弱等。数通设备近些年来在传送领域应用比较多, 但是也存在其一些固有的缺陷:可靠性不高,可管理性比较差,可维护性较差等。 在传输市场,尤其是移动与专线传送市场,纯t d m 架构的传统设备已经面临较 大的竞争压力,压力不仅来自于新形态的传输设备,而且还有纯分组设备。一些 业界极具影响力的运营商已经明确提出了传送分组化这个概念和需求。 而另一方面,p 数据业务的发展非常迅速,使得电信网络承载的业务类型发 生了根本性变化,分组化已经成为传送网络发展的迫切需求和现实选择【l 6 1 。 目前,随着业务d 化的加速发展,对运营商的传送网络提出了新的要求,这 主要体现在以下三个方面。 首先,i p t v 、视频等宽带d 业务的迅速发展,对光传送网络带宽的需求变 得越来越大。目前,电信网中以g e 1 0 g e 、2 5 g 1 0 g 4 0 g p o s 接口为代表的大颗 粒带宽业务大量涌现,飞速增长的流量需求直观地反映在光传送网层面。根据 市场预测,未来5 年之内,光传送网地带宽将以每年5 0 以上的速度增长;2 0 1 0 年,骨干网截面带宽流量将达到5 0 t b i t s 以上,其中9 7 以上为数据带宽【1 州。 其次,p 业务量由于本身的不确定性和不可预见性,对网络带宽和动态分配 要求也越来越迫切。光传送网需要对大量的大颗粒带宽p 业务进行高效的调度、 传输和管理,才能满足带宽运营的需要。 再次,基于p 的语音、视频业务由于实时性的需求,对光传送网的时延抖动、 丢包率等提出了更高的q o s 要求。 因此,分组传送传送成为现实选择。在电信网络p 化不断深入的大背景下, 作为近年来发展较快的传送网络,其中很大一个特点就是分组化。i d c 预测,在 未来5 年内,分组化传送网设备市场将超过传送的s d h s o n e t 设备市场,大部 1 2 基于i i p 模块的覆盖率驱动验证技术 分运营商最终必将从m s t p 迁移到分组传送网,而这个转变正受到下一代宽带应 用的推动,包括视频、语音、高速数据的三重播放业务。新业务要求对目前传输 网络进行大量升级或新建叠加网,以满足更高带宽的需要,而语音和视频等对实 时性敏感的业务,对传输性能有严格的要求,传统的“尽力而为型”的承载网络 无法满足,同时,传送网络必须可以进行快速灵活的业务调度、完善便捷的网络 维护管理。而p t n 一方面继承了面向m s t p 网络在多业务、高可靠、可管理和时 钟等方面的优势,另一方面又具备以太网的低成本和统计复用的特点,是构建下 一代网络核心部件,代表了运营商网络转型的趋势。 同时,分组化传送网络设备市场的发展也是循序渐进的过程。激进的传送网 升级方案蕴藏着巨大风险,适时引入从t d m 平滑演进至分组的统一的p t n 传送 层,或是从传统的以太网技术逐渐发展到p b t 和t m p l s 协议为核心,可以支持 电信级和可维护性以太网业务的承载,同时可兼容t d m 业务的以太网解决方案。 i i p 模块所在的这款分组交换芯片组可以完成网络升级中的这种平滑过渡。新 的传送设备,特点是可以配置为传送全t d m 业务,也可以配置为传送全数据业 务,或者配置为部分t d m 业务加上部分数据业务。可以说该技术在国外己开始 得到应用,并且可能发展成下一代传送设备的核心主流技术。芯片组的业务处理 芯片支持二层交换、三层路由、m p l s 交换和v p n 等业务,而交换芯片支持t d m 和纯分组统一交换,应用该芯片组可以满足未来传送需求和业务需求,构建新型 的传送设备形态。 2 2 路由器的应用背景 在以前的网络中,网桥的应用较为广泛。但网桥互连也带来了不少问题:一 个是广播风暴,网桥不阻挡网络中广播消息,当网络的规模较大时( 几个网桥, 多个以太网段1 ,有可能引起广播风暴( b r o a d c a s t i n gs t o r m ) ,导致整个网络全被广 播信息充满,直至完全瘫痪。第二个问题是,当与外部网络互连时,网桥会把内 部和外部网络合二为一,成为一个网,双方都自动向对方完全开放自己的网络资 源。这种互连方式在与外部网络互连时显然是难以接受的。问题的主要根源是网 桥只是最大限度地把网络沟通,而不管传送的信息是什么。由于网桥的种种局限 性,网络中路由器的应用逐渐被越来越广泛的应用,它主要处理数据报文中的口 数据包头,尤其是不同网络( 如i n t e m e t ) 之间的互联需要路由器【1 7 】。 图2 1 给出了路由器在网络中的层次位置,它是应用在七层网络结构中的第 三层,即网络层中的。路由器的路由原理基于网络层p 报文头,通过目标p 寻 址,作出转发决定。路由器的转发功能,就是i i p 模块实现的。 第二章i i p 模块应用背景 图2 1i i p 模块在网络中的应用层次 i i p 模块是分组传送网络中分组交换芯片转发引擎部分的一个重要的业务模 块。它的主要功能是路由转发,主要处理p 报文,这个模块的主要功能是处理p 报文头,进行包头合法性检查,特殊包捕获,单播处理和多播处理。 2 3i p v 4 报文格式 i i p 模块主要处理d v 4 格式的报文,如上文提到的,皿模块的包头合法性检 查、特殊包捕获等功能的实现都是基于p v 4 的报文格式进行的。在i i p 模块中会 对通过p v 4 报文头的各个域进行分析,对于包头非法或是属于特殊包的报文会进 行丢弃或是上交c p u 的处理。因此对i p v 4 报文格式的研究是i i p 模块功能分析 的基础。具体报文格式如图2 2 所示【1 8 】: 一 r 8 888 h e a d e r t o t a ll e n g t h v e r s i o n t y p eo fs e r v i c e l e n l r t h i d e n t i f i e r f l a g sf r a g m e n t e do f f s e t t i m e t o l i v ep r o t o e o lh e a d e rc h e c k s u m s o u r c ea d d r e s s d e s t i n a t i o na d d r e s s o p t i o n s p a d d i n g 图2 2p v 4 报文格式 1 4 基于i i p 模块的覆盖率驱动验证技术 i p v 4 报文中的各个域含义如下: 版本号( v e r s i o n ) :长度4 比特。标识目前采用的p 协议的版本号,一般的值 为o 1 0 0 ( i p v 4 ) ,i p v 6 的值( 0 11 0 ) 。 口包头长度( h e a d e rl e n g t h ) :长度4 比特。这个字段的作用是为了描述口包 头的长度,因为在口包头中有变长的可选部分。p 包头最小长度为2 0 字节,由 于变长的可选部分最大长度可能会变成2 4 字节。 服务类型( t y p eo f s e r v i c e ) :长度8 比特。这个子段实际上可以拆分成两个部 分:p r e c e d e n c e 和t o s 。定义p 协议包的处理方法,它包含如下子字段: ( 1 ) 过程字段( 优先权) :3 位,设置了数据包的重要性,取值越大数据越重要, 取值范围为:o ( 正常) 7 ( 网络控制) 。 ( 2 ) 延迟( 时延) 字段:1 位,取值:o ( 正常) 、1 ( 期特低的延迟) 。 ( 3 ) 流量( 吞吐量) 字段:1 位,取值:o ( 正常) 、1 ( 期特高的流量) 。 ( 4 ) 可靠性字段:1 位,取值:o ( 正常) 、1 ( 期特高的可靠性) 。 ( 5 ) 成本( 开销) 字段:1 位,取值:o ( 正常) 、1 ( 期特最小成本) 。 ( 6 ) 未使用( 保留位) :1 位,恒设为o 。 t o s 目前不太使用。而p r e c e d e n c e 则用于q o s 应用【1 9 。 p 包总长( t o t a ll e n g t h ) :长度1 6 比特。p 包最大长度6 5 5 3 5 字节。 标识符( i d e n t i f i e r ) :长度1 6 比特。该字段和f l a g s 和f r a g m e n to f f e s t 字段联 合使用,对大的上层数据包进行分段( f r a g m e n t ) 操作。如果数据包原始长度超过 m t u ,那么将他分段为更小的数据包。然后路由器在每片数据包的标志字段打上 相同的标记,以便接收设备可以识别出属于一个数据包的分段。分段的数据包不 会在数据链路的另外一端重新组合,直到最终目的地才会重组。 标记( f l a g s ) :长度3 比特。该字段第一位不使用。第二位是不分段d f 位, d f 位设为1 时表明路由器不能对该上层数据包分段。如果一个上层数据包无法 在不分段的情况下进行转发,则路由器会丢弃该上层数据包并返回一个错误信息。 第三位是m f 位,当路由器对一个上层数据包分段,则路由器会在除了最后一个 分段的d 包的包头中将m f 位设为1 。这个可以在网络上用于测试m t u 值。在 i o s 系统中,可以用p i n g 工具对d f 位设置。 分段序号( f r a g m e n to f f s e t ) :长度1 3 比特。该字段对包含分段的上层数据包 的口包赋予序号。由于口包在网络上传送的时候不一定能按顺序到达,这个字 段保证了目标路由器在接受到p 包之后能够还原分段的上层数据包。到某个包含 分段的上层数据包的p 包在传送是丢失,则整个一系列包含分段的上层数据包的 d 包都会被要求重传。 生存时间( t t l ) :长度8 比特。当口包进行传送时,先会对该字段赋予某个 特定的值。当口包经过每一个沿途的路由器的时候,每个沿途的路由器会将口 第二章i i p 模块应用背景 包的t t l 值减少1 。如果t t l 减少为o ,则该p 包会被丢弃。这个字段可以防 止由于故障而导致口包在网络中不停被转发。 协议( p r o t o c 0 1 ) :长度8 比特。标识了上层所使用的协议。 头部校验( h e a d e rc h e c k s u m ) :长度1 6 位,由于p 包头是变长的,所以提供 一个头部校验来保证p 包头中信息的正确性。 起源和目标地址( s o u r c ea n dd e s t i n a t i o na d d r e s s e s ) :这两个地段都是3 2 比特。 标识了这个口包的起源和目标地址。 可选项( o p t i o n s ) :这是一个可变长的字段。该字段由起源设备根据需要改写。 可选项目包含以下内容: 松散源路f l j ( l o o s es o u r c er o u t i n g ) :给出一连串路由器接口的p 地址。口包 必须沿着这些口地址传送,但是允许在相继的两个口地址之间跳过多个路由器。 严格源路i 扫( s t r i c ts o u r c er o u t i n g ) :给出一连串路由器接口的口地址。d 包必 须沿着这些p 地址传送,如果下一跳不在口地址表中则表示发生错误。 路由记录( r e c o r dr o u t e ) :当p 包离开每个路由器的时候记录路由器的出站接 口的p 地址。 时间戳( t i m e s t a m p s ) :当邛包离开每个路由器的时候记录时间。 2 4 路由原理 路由器转发d 分组时,只根据p 分组目的d 地址的网络号部分,选择合适 的端口,把口分组送出去。同主机一样,路由器也要判定端口所接的是否是目的 子网,如果是,就直接把分组通过端口送到网络上,否则,也要选择下一个路由 器来传送分组。路由器也有它的缺省网关,用来传送不知道往哪儿送的d 分组。 这样,通过路由器把知道如何传送的p 分组正确转发出去,不知道的口分组送 给缺省网关由器,这样一级级地传,p 分组最终将送到目的地,送不到目的地的 p 分组则被网络丢弃了。路由动作包括两项基本内容:寻径和转发。寻径即判定 到达目的地的最佳路径,由路由选择算法来实现。由于涉及到不同的路由选择协 议和路由选择算法,要相对复杂一些。为了判定最佳路径,路由选择算法必须启 动并维护包含路由信息的路由表,其中路由信息依赖于所用的路由选择算法而不 尽相同。路由选择算法将收集到的不同信息填入路由表中,根据路由表可将目的 网络与下一站( n e x t s t e p ) 的关系告诉路由器。路由器间互通信息进行路由更新,更 新维护路由表使之正确反映网络的拓扑变,并由路由器根据量度来决定最佳路径。 这就是路由选择协议( r o u t i n gp r o t o c 0 1 ) ,例如路由信息协议( r i p ) 、开放式最短路径 优先协议( o s p f ) 和边界网关协议( b g p ) 等。 转发即沿寻径好的最佳路径传送信息分组。路由器首先在路由表中查找,判 1 6 基于l i p 模块的覆盖率驱动验证技术 明是否知道如何将分组发送到下一个站点( 路由器或主机) ,如果路由器不知道如 何发送分组,通常将该分组丢弃;否则就根据路由表的相应表项将分组发送到下 个站点,如果目的网络直接与路由器相连,路由器就把分组直接送到相应的端 口上。这就是路由转发协议( r o u t e dp r o t o c 0 1 ) 。路由转发协议和路由选择协议是相 互配合又相互独立的概念,前者使用后者维护的路由表,同时后者要利用前者提 供的功能来发布路由协议数据分组。 从概念上说,口路由选择是简单的,特别对于主机来说。如果目的主机和源 主机在一个共享网络上,那么数据报文就直接送到目的主机上。否则,主机把数 据报文发往一默认的路由器上,由路由器来转发该数据报。路由器在内存中有一 个路由表。当收到一份数据报并进行发送时,它都要对该表搜索一次。当数据报 来自某个网络接口时,口首先检查目的的口地址是否为本机的p 地址之一或者 p 广播地址。如果确实是这样,数据报就被送到由口首部协议字段所指定的协 议模块进行处理。如果数据报的目的不是这些地址,那么( 1 ) 如果口层被设置成 路由器的功能,那么就对数据报进行转发;否则( 2 ) 数据报被丢弃。 i p v 4 路由转发功能( 单播、多播) 是路由器必备功能。通过在路由器间运行 内部网关或者外部网关路由协议,建立网络拓扑,也就是各路由器内的路由转发 表项。路由转发表项经由高层协议、适配层和驱动逐层下发到芯片的转发表和路 由表中,由芯片完成高速的三层硬件转发,即根据目的地址查表,得到输出路由 端口和下一跳p 地址或者隧道指针
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- (2025年标准)股权转让协议合伙协议书
- 小学二年级上科学教学计划
- 2025年女性职场进阶女性活动中心招聘笔试全真模拟题集
- 2025年商业谈判技巧与策略文档实战模拟预测试题
- 2026届辽宁省大连市旅顺口区第三高级中学高二化学第一学期期末检测模拟试题含答案
- 节后安全知识培训课件
- 2025年电子商务案例分析中级电商运营笔试模拟题集
- 2026届四川省成都市温江区化学高二上期末质量检测模拟试题含答案
- 智慧城市不良事件报告制度与流程
- (2025年标准)购物店转让协议书
- 结构施工图审图要点
- 电影赞助招商方案
- 医务人员人文素养提升系列讲座
- 危险化学品的安全储存和使用
- 精神障碍社区康复服务 基本情况登记表(模板)、精神障碍社区康复服务协议(模板)
- 一种新型离心擒纵式速度稳定机构的制作方法
- 世界和中国芍药栽培区的分布及地理气候因子的综合分析
- 口腔科车针分类
- 急性st段抬高型心肌梗死
- 幼儿文学课件完整版
- GB/T 21709.8-2008针灸技术操作规范第8部分:皮内针
评论
0/150
提交评论