




已阅读5页,还剩60页未读, 继续免费阅读
(微电子学与固体电子学专业论文)cioq交换网输入缓存的验证环境实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 摘要 伴随半导体工艺水平的逐步提高,包括a s i c , 可重用i p 、s o c 等在内的集成 电路芯片,其设计规模越来越大、复杂度越来越高,加上低成本、低功耗等考虑, 这些都对芯片设计的能力提出了更高的要求,进而对于a s i c 的验证保障工作也提 出了更高的挑战。网络类芯片做为a s i c 设计中最复杂的芯片之,其性能要求与 上市速度的紧迫使得验证工程师必须提供更有效、更完整的验证思路与方案。 本文基于一款分组传送芯片,对其片内的输入交换缓存进行了验证环境的搭 建,并结合片上c i o q 交换网络的功能说明了各环境组件的实现思路,进而说明 了对输入交换缓存功能的测试思路,以期实现对设计进行一个高效、完整的验证 工作。 本文首先对基于排队机制的分组交换技术做了介绍,随后引出本课题芯片上 交换网络的简要结构和输入交换缓存的验证环境结构。接着通过4 章的内容对验 证环境各组件的实现以及其实现所基于的思想进行了叙述,以说明本课题中的环 境组件实现以及蕴含其中的验证思路如何有效支撑了对设计功能的验证工作。此 部分的工作对后续同类功能芯片设计的验证实现提供了一些有效的思路,以提高 芯片验证工作的正确性和效率。 关键词:交换结构交换缓存验证测试平台 a b s t r a c t a b s t r a c t w i t ht h er a p i dd e v e i o p m e n to fs e m i c o n d u c t o rt e c h n o l o g y , t h es c a l eo f i c ( i n t e g r a t e dc i r c u i t ) ,i n c l u d i n ga s l c ( 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 ) , s o c ( s y s t e m o n a c h i p ) ,i p ( i n t e l l e c t u a lp r o p e r t y ) a n ds oo n ,h a v eg r e a t l yi n c r e a s e d , a n dt h el o g i co nc h i ph a sb e c o m em o r ea n dm o r ec o m p l e x ,c o n s i d e r i n gt h e r e q u i r e m e n tf o rl o w c o s ta n dl o w - p o w e ri na d d i t i o n ,t h ei cd e s i g nh a sb e c o m em o r e d i f f i c u l t a n dt h e n , t h ee f f o r to fv e r i f i c a t i o nw i l 1m e e tb i gc h a l l e n g e t h ec h i pf o r n e t w o r ki so n eo ft h em o s tc o m p l e xi c s ,a n db e c a u s eo fi t sh i 曲p e r f o r m a n c ea n d u r g e n tr e q u i r e m e n to ft i m e t o m a r k e t ,t h ev e r i f i c a t i o ne n g i n e e r sm u s tp r o v i d eam o r e e f f e c t i v ea n dc o m p r e h e n s i v em e t h o d b a s e do no n et y p eo fp t n ( p a c k e tt r a n s m i s s i o nn e t w o r k ) c h i p ,t h i st h e s i s d e s c r i b e st h ev e r i f i c a t i o ne n v i r o n m e n tf o rt h ei n p u t - s w i t c h - m e m o r ya n dr e a l i z a t i o no f v a r i o u se n v i r o n m e n t a lm o d u l e sc o n c e r n i n gt h ef u n c t i o no fc i o qs w i t c h i n gn e t w o r k o nc h i p f u r t h e r m o r e ,t h et e s tm e t h o df o rt h ei n p u t - s w i t c h m e m o r yi si l l u s t r a t e da sa s t e pt o w a r dae f f e c t i v ea n dc o m p r e h e n s i v es o l u t i o nf o rv e r i f i c a t i o n f i r s t l y , t h i st h e s i sg i v e sai n t r o d u c t i o nt op a c k e ts w i t c ht e c h n o l o g yb a s e do nt h e q u e u i n gm e t h o d ,t h e ni n t r o d u c e st h es t r u c t u r eo fs w i t c h i n gn e t w o r ko nt h ec h i pa n d t h es t r u c t u r eo fv e r i f i c a t i o ne n v i r o n m e n tf o rt h ei n p u t s w i t c h m e m o r y s e c o n d l y , t h e f o l l o w i n gf o u rc h a p t e r sd e s c r i b et h ec o n t e n to ft h et e s t b e n c ha n dt h ec o n c e p to nw h i c h i tb a s e si no r d e rt od e s c r i b et h er e a l i z a t i o no ft h ee n v i r o n m e n tm o d u l e sa n dh o wt h e c o n c e p to fv e r i f i c a t i o ns u p p o r t st h ed e s i g nv e r i f i c a t i o n t h i sp a r tp r o v i d e ss o m e e f f i c i e n ti d e a sf o rt h ev e r i f i c a t i o no fs u c c e s s i v ec h i pd e s i g n sw i t ht h es i m i l a rf u n c t i o n t h e s ei d e a sw o u l de n h a n c et h ev a l i d i t ya n de f f e c t i v e n e s so f c h i pv e r i f i c a t i o n k e y w o r d :s w i t c hf a b r i c s w i t c hm e m o r yv e r i f i c a t i o nt e s t b e n c h 西安电子科技大学 学位论文独创性( 或创新性) 声明 秉承学校严谨的学分和优良的科学道德,本人声明所呈交的论文是我个人在 导师指导下进行的研究工作及取得的研究成果。尽我所知,除了文中特别加以标 注和致谢中所罗列的内容以外,论文中不包含其他人已经发表或撰写过的研究成 果;也不包含为获得西安电子科技大学或其它教育机构的学位或证书而使用过的 材料。与我一同工作的同志对本研究所做的任何贡献均已在论文中做了明确的说 明并表示了谢意。 申请学位论文与资料若有不实之处,本人承担一切的法律责任。 本人签名:雀任以日期彳,罗 西安电子科技大学 关于论文使用授权的说明 本人完全了解西安电子科技大学有关保留和使用学位论文的规定,即:研究 生在校攻读学位期间论文工作的知识产权单位属西安电子科技大学。学校有权保 留送交论文的复印件,允许查阅和借阅论文:学校可以公布论文的全部或部分内 容,可以允许采用影印、缩印或其它复制手段保存论文。同时本人保证,毕业后 结合学位论文研究课题再撰写的文章一律署名单位为西安电子科技大学。 篇耋! 呵秒镬 导师签名:1 秒参 日期砷i 夕 日期秒尹j 尸 第一章绪论 第一章绪论 1 1a s i c 开发面临的问题 随着现代生活的日新月异,人们对电子类产品及网络类服务等的要求也是越 来越高。多功能、高速度、高q o s ( q u a l i t yo f s e r v i c e ) 等等优质体验需求不断提 高。s o c ( s y s t e m o nac h i p ) 、可重用i p ( i n t e l l e c t u a lp r o p e r t y ) 、a s i c ( a p p l i c a t i o n s p e c i f i ci n t e g r a t e dc i r c u i t ) 【l 】等芯片做为这些服务项目的核心实现内容,其规模也 在不断扩大,同时要求的速度比原来更快,提供的容量比原来更大。这在原来的 半导体工艺处于亚微米时代的时候几乎是不可想象的。而如今,随着9 0 n m 、6 5 n m 工艺的成熟应用,甚至更高精度的工艺也已经开始进入产能阶段,大规模、超大 规模集成电路的实现成为可能【2 捌。伴随工艺的提高、规模的扩大,对a s i c 的设 计降1o 】工作也提出了更高要求。 在高复杂度的工艺基础上,动辄上千万门甚至近亿门的芯片每一次的投片成 本就需要数十万到数百万美金。倘若将芯片设计中的错误留到回片之后,除了重 新掩模、流片的高昂费用外,丢失的几个月或更久的市场机会对芯片来说更可能 是灾难性的。 验证工作在如今的芯片开发过程中面临越来越大的挑战【1 1 以2 1 。不光是功能正 确性的验证,验证时间的缩减同样重要。在大规模a s i c 的开发工作中,通常验 证工作需要消耗整个设计努力的大约7 0 ,甚至更高。芯片设计团队中一般都包 含专职的验证工程师,并且业界公认的合理配备,验证人员与设计人员的比例在 1 5 到2 倍,甚至更高。 验证工作已成为a s i c 开发的瓶颈,推行验证与设计分离是必然选择。 需求一溉c 脚撒卅计f 现 验证方轴验主实施一结束 图1 1 验证与设计分离 仿真验证需要完成的工作主要包括【1 3 。1 4 】:制定验证计划、提取测试点、制定 验证方案、搭建验证环境、仿真验证及d e b u g 、仿真报告及验证结束质量标准。 2 c i o q 交换网输入缓存的验证环境实现 验证计划需要根据项目组的总体计划制定,验证计划的制定主要包括以下几个基 本步骤的时间:测试点的提取、验证环境的搭建、仿真验证的执行、覆盖率分析、 输出验证报告。 功能验证做为芯片验证工作中最重要的一个部分,其目标是追求“0 ”漏测,为 了达到这个目标,就需要对每个规格点有细节的认知,下图就是通过测试点的提 取来分解需求规格。 v - s p e c l vf e a t u r e1 一 t e s tp o i n t1 d i r e c l t c l v - s p e c 2j e a t u r e2 太 t e s t p o i n t2 彳 d i r e c l t c 2 t e s tp o i n t 3 弋 r e c t t e s t c a s e s vf e a t u r en t e s t p o i n t m 多 r a n d o m t c l r a r i d o m t c 2 t e s t p o i n tn r a td o r a t e s t c a s e s 验证规格一验证特性测试点一测试用例 图1 2 规格、验证特性、测试点、测试用例的映射关系 需求规格一般可分解为多个验证特性( v e r i f i c a t i o nf e a t u r e ) ,验证特性是从验 证的角度描述需求,说明了某个需求规格对应需要验证的多个特性( 方面) 等。 它不仅包括需求规格中定义的芯片功能、性能,同时还包括综合功能、容限容错、 可靠性、缺省功能特性和协议符合性等。一个验证特性一般又可以分解为多个测 试点,测试点是指一个验证特性需要从哪几个方面来进行验证测试。测试点需要 用直观、形象的语言无歧异地描述某一个功能点,该考虑到的都应该考虑到,不 能重复和遗漏,不仅包括需求规格中明确定义的开发规格,还包括一些没有明确 定义的缺省特性。如:各种激励的典型值、边界值、异常等。每条测试点要求有 测试用例覆盖,一个测试用例可以覆盖多个测试点。测试用例的描述应该能反应 测试的手段、方法等,且保证用例代码与用例描述的一致性。 除此之外,在芯片验证过程中,还需要采用包括代码覆盖率、功能覆盖率、 形式验证、后仿真、f p g a 测试等等手段,在每一个环节严把质量关,保证芯片 验证工作的完备性。并且在质量保证的基础上,采用各种方法技巧提高验证效率。 根据不同的芯片项目,其对验证的需求也是不同的,对协议处理比较多需要 方便操作数据或表项的验证语言,如c + + 、s y s t e m v e r i l o g ,对算法处理要求比较 高的芯片项目需要有强大算法的验证语言,如s y s t e m c 巧1 ,等等。考虑对验证语 第一章绪论 言需求的同时还要考虑验证平台的继承和扩展,如果有可继承和扩展的验证环境 将大大减少验证环境的工作量【峥1 7 】。 所谓没有绝对完美的芯片验证解决方案,只有适合于当前芯片项目的验证方 案,这正是大多数验证工程师一致的观点。验证的挑战在于决定应该对设计施加 什么样的输入和对正确工作的设计所期望的输出是什么,而不是验证环境或验证 方案本身。本文一方面会对实现的验证环境给出一个整体的介绍,另一方面,也 是重点内容,即根据被测设计所实现的功能来介绍验证环境都实现哪些检查功能 及其检查方法的适用性。 1 2 课题来源 随着t r i p l ep l a y 、e t h e r n e tb u s i n e s ss e r v i c e 、3 g 、宽带等新兴业务的不断发展, 网络对数据传送的要求越来越高【l 9 1 。这些要求主要集中在如下方面:高带宽利 用率,高可靠性,低成本,良好的扩展性,灵活方便的业务调度,灵活的q o s 控 制,良好的管理机制。 现有的数据传送网络主要由两大阵营组成,一是以t d m 为主的传输设备, 包括m s t p 设备,二是以纯分组交换为主的数通设备。t d m 技术应用比较早, 标准和技术都比较成熟,但是其存在固有的缺陷:带宽利用率低,可扩展性差, 价格昂贵,对新型业务支持比较弱等。数通设备近些年来在传送领域应用比较多, 但是也存在其一些固有的缺陷:可靠性不高,可管理性比较差,可维护性较差等。 图1 3 给出了驱动光传送网络应用的8 个主要因素。 下一代光组蕊技术的应罱驱动力摊名 a p p l i c a t i o nd r i v e r so fn e x t - g e no p t i c a ln e t w o r k i n gt e c h n o l o g y 尺a n k i p t v 和视频需求l p t va n dv i d e oo nd e m a n d 1 点到点以太网p o i n t - t o - p o i n t # :t h e r n e t 2 v o i p3 多点以太网m u l t i p o i n te t h e r n e t 4 甚高速因特网接入 v e r yh i g hs p e e di n t e r n e ta c c e s s 5 可管理的v p nm a n a g e dv p n 6 业务连续性i 灾难恢复 b u s i n e s sc o n t i n u i t y d i s a s t e rr e c o v e r y7 3 g 业务w h o l e s a l eb a c k h a u lo f3 gt r a f f i c 8 s o u r c e :h e a v yr e a d i n gs u r v e yo fo v e r6 0o p e r a t o r sw o r l o w i o e m a r c h2 0 0 6 图1 3 驱动光传送网络应用的8 个主要因素 在传输市场,尤其是移动与专线传送市场,纯t d m 架构的传统设备己经面 4 c i o q 交换网输入缓存的验证环境实现 临较大的竞争压力,压力不仅来自于新形态的传输设备,而且还有纯分组设备。 一些业界极具影响力的运营商已经明确提出了传送分组化这个概念和需求。 业界其它厂家推出的分组传送设备中基本上都是使用商用芯片,主流为网络 处理器+ 流量管理器+ 分组交换网。此类架构无法实现真正的t d m 分组统一交换。 而目前可获得的商用芯片无法在分组技术上提供类似s d h 的电信级特性,例如 o a m a p s 等。 本项目就是在现有背景下,提出了一个分组传送芯片组的方案,在支持多业 务传送的基础上,提供s d hl i k e 的可靠性、可管理性和可维护性等特性。芯片 组的业务处理芯片支持二层交换、三层路由、m p l s 交换和v p n 等业务,而交换 芯片支持t d m 和纯分组统一交换,应用该芯片组可以满足未来传送需求和业务 需求,构建新型的传送设备形态。 本文中验证环境就是针对芯片组中一颗a s i c 芯片的交换缓存上行( 即输入 缓存) 部分而搭建的,完成了芯片输入缓存部分的功能验证工作。 1 3 论文内容及章节安排 本章中首先介绍了当今a s i c 设计的复杂性与芯片验证工作的面临的挑战与 关注点,接下来对项目芯片的背景简要介绍。第二章将介绍按排队机制划分的分 组交换结构,并引出芯片中交换网划分,然后对本文介绍的验证环境及其实现平 台进行说明。第三章到第六章分别叙述了验证环境中激励、b f m 和功能分析组件 所实现的功能及为何这样实现的原因,随后根据以此验证环境的不足,介绍了还 有哪些补充措施。最后在第七章结束语,对本文的环境实现和思路进行了小节并 指明不足,进而提出了对后续芯片验证工作的展望。 第二章输入缓存及其验证环境架构简介 第二章输入缓存及其验证环境架构简介 2 1 基于排队机制的分组交换结构介绍 光传输技术的飞速进步以及网络业务量的爆炸性增长迫使路由交换设备必须 能够支持更高的端口速率和提供更大的交换容量,然而网络各个环节的发展并不 均衡,其中路由交换设备受限于每1 8 个月增大一倍的摩尔定律,其发展速度远远 滞后于传输设备的发展速度,为了应对这一局面,并行分布式处理机制势在必行。 2 0 0 0 年s u n d e ri y e r 和n i c km c k e o w n 提出并行分组交换( p p s ) 结构【2 0 】,引起学 术界的极大关注,与此相关的研究迅速展开并且成果颇丰1 2 卜2 9 1 。不同的通信网络 由于所支持业务的特性不同,因此采用的交换方式也各不相同,目前在通信网中 所采用的交换方式主要有电路交换、分组交换和光交换。一些综述性论文对现有 交换结构进行了分类比较【挣3 1 】,根据不同的分类规则,某一特定的交换结构可以 属于多个不同的类别,因此并没有一种统一的分类标准。本文的课题基础是并行 分组交换技术的交换结构,其交换网络是依照带c r o s s b a r 的三级交换结构而实现 的,其中运用了类c i o q 结构模型。下面根据排队机制的不同,分为输出排队 ( o u t p u tq u e u i n 岛o q ) 、输入排队( i n p u tq u e u i n 岛i q ) 和联合输入输出排队 ( c o m b i n e di n p u ta n do u t p u tq u e u i n g ,c l o q ) 三种排队方式,对基于c r o s s b a r 的交 换结构做一简要介绍。 2 1 1 输出排队( o u t p u tq u e u i n g ,o q ) 输出排队交换结构模型如图2 1 所示,分组进入输入端口不需要等待,直接 由交换单元交换到对应输出端口进行排队。由于输出排队交换结构的分组只在输 出端口缓存队列排队等待发送,这样就避免了由交换单元内部冲突引发的额外延 迟,所以输出排队交换具有最低的交换时延,通过调度算法可以方便的用于提供 服务质量控制。基于输出排队交换结构己经提出许多经典算法,不仅复杂度适中, 图2 1 输出排队交换结构模型 6 c l o q 交换网输入缓存的验证环境实现 而且可以为业务流提供吞吐量、速率以及时延等多方面的服务质量保障【3 2 1 。 虽然输出排队交换结构在提供服务质量保障方面极具优势,但当多个输入端 1 2 到达的分组同时需要传送到相同的输出端口时,要求交换单元和存储单元都必 须能够提供足够的内部连接带宽和存储带宽。对于一个输出排队交换结构,极端 情况下个分组可能同时需要传送到同一个输出端口进行缓存排队。完成这一过程, 交换单元必须工作于线路速率的n 倍,存储单元在完成个分组写入同时还必须支 持一个分组的读取输出,因此存储带宽需要达到线路速率的n + i 倍。这使得输出 排队交换结构的实现代价较高,当交换端口速率较高或者数量较多时甚至无法实 现。假设一个端口速率为的输出排队交换结构,交换单元的工作速率需要达到, 同时存储单元的存储带宽需要达到,这在目前的器件水平下是一个突破极限的挑 战。由此可见输出排队交换结构的可扩展性较差,不适合用于大容量交换结构的 构建。但对于端口速率和交换容量要求较低的情况下,如边缘路由器中的应用, 输出排队交换结构由于其在提供服务质量保障方面的性能优势,因而仍在商用路 由交换设备中广为使用,而且在研究领域常常被用作新型交换结构的性能参考。 2 。1 。2 输入排队( i n p u tq u e u i n g ,i q ) 输入排队交换结构模型如图2 2 所示,分组到达其输入端口进行缓存排队并 向交换单元提出交换请求,经交换单元仲裁通过,由输入调度算法进行调度送往 交换单元,然后交换到相应的输出端口输出。比较输出排队交换结构而言,输入 排队交换结构的交换单元和存储单元均只需工作于线路速率,因而对于构建大容 量交换结构是一种十分经济的解决方案。为了提高交换单元的带宽利用效率,输 入排队交换结构通常基于定长分组进行交换调度。变长分组到达交换结构时需要 先被切片为定长分组,完成交换后再重组为原始分组。以线路速率传输一个定长 分组所需的时间被称为一个时隙( s l o t ) 。由于交换单元和存储单元仅工作于线路 速率,基于输入排队交换结构的调度算法在每个时隙从一个输入缓存单元中最多 只能读取一个定长分组送往输出端口输出,并且在每个时隙从所有输入端缓存单 元调度送往一个输出端口的定长分组数量最多为一个。 o u t p u t1 oo 辩 o u t p u t n oo 图2 2 输入排队交换模型 第二章输入缓存及其验证环境架构简介 为了便于实现,输入排队交换结构的输入缓存单元一般采用先入先出的缓存 队列。由于每个输入端口仅有一个缓存队列,当两个队列首部包要到同一个输出 端口时就会发生队首阻塞( h o l ,h e a d o f - l i n eb l o c k i n g ) 3 3 】,而队列后部要到空闲 输出端口的包也无法发送。如图2 3 所示,输入队列1 和输入队列2 的队首同时 是去向输出端口l 的分组,假设此时允许输入队列2 队首的分组通过,那么输入 队列1 的队首将继续等待,此时输出端口2 是空闲的,而输入队列1 的第3 个分 组( 去向输出端口2 ) 也不能被调度。理论分析表明在均匀的贝努利业务条件下, 由于队头阻塞将导致输入排队交换结构的吞吐量仅能达到约5 8 6 ,而在非均匀 的突发业务条件下,吞吐量还可能进一步降低【3 4 】。 呛,d 屺o - 幻o - 幻( 3 - 图2 3 h o l 示意图 为了克服队首阻塞( h o l ,h e a d o f - l i n eb l o c k i n g ) 这一缺点,研究人员提出了 虚拟输出排队( v o q ,v i r t u a lo u t p u tq u e u i n g ) 1 3 ”6 】机制,用于解决交换结构的队 头阻塞问题。虚拟输出排队机制是在每个输入端口处针对不同的输出端口分别设 置缓存队列,即对于输入排队交换结构,每个输入端口放置n 个对应于不同输出 端口的缓存队列,这样每个缓存队列中所有分组具有相同的输出端口,也就避免 了队头阻塞的发生。通过使用头尾指针,一个输入端口的n 个缓存队列可以在物 理上共享一个存储器。虚拟输出排队机制看似复杂,但由于一个时隙每个输入端 口最多只能有一个包到达和一个包离开,因此存储器带宽的要求与单一缓存队列 时一样,具体结构模型如图2 4 所示。 图2 4v o q 排队模型 o u t p u t1 o u t p u t n c i o q 交换网输入缓存的验证环境实现 2 1 3 联合输入输出排队( c i o q ) 联合输入输出排队( c o m b i n e di n p u ta n do u t p u tq u e u i n g ) 交换结构模型如图 2 5 所示( 注:加入v o q ,v i r t i a lo u t p u tq u e u i n g 和v i q ,v i r t i a li n p u tq u e u i n g 的概 念) ,分组到达其输入端口进行输入缓存排队并向交换单元提出交换请求,经交换 单元仲裁允许通过后,由输入调度算法进行调度送往交换单元,然后被交换到相 应的输出端口进行输出缓存排队,再由输出调度算法进行调度输出。联合输入输 出排队交换结构对输入排队机制和输出排队机制进行了折中,通过适当的加速将 交换结构中拥塞的分组分别缓存于输入端缓存队列和输出端缓存队列,既不需要 很大的加速比p7 1 ,便于扩展,又可以在一定程度上避免交换单元拥塞而引发的额 外延迟,提高交换的性能。 当联合输入输出排队交换结构的加速比为s 时,在每个时隙从一个输入缓存 单元中最多可以读取s 个定长分组送往输出端口输出,并且在每个时隙从所有输 入端缓存单元调度送往一个输出端口的定长分组数量最大可以为s 。对于n x n 的 联合输入输出排队交换结构,其加速比的值应介于s 和n 之间,当s = i 时该结构 简化为输入排队交换结构,当s = n 时该结构简化为输出排队交换结构。p r a b h a k a r 和m c k e o w n 首先证明了联合输入输出排队交换结构当加速比s = 4 时可以模拟先 入先出的输出排队交换结构,s h a n g - t s ec h u a n g 等得出了进一步的结论,他们证 明最小加速比仅需为2 i n 。本文中讨论的交换网就是基于此交换结构模型。 一一 i n p u t n班 o u b u t n 一一 图2 5 联合输入输出排队模型 2 2 本文中c i o q 交换网络的划分及功能简介 本芯片中的交换缓存s m ( s w i t c hm e m o r y ) 包括上行( i n g r e s ss m ,即输入 缓存) 及下行( e g r e s ss m ,即输出缓存) 两部分,加上交叉芯片s c ( s w i t c h c r o s s b a r ) ,共同构成一个c i o q 交换网络。 第二章输入缓存及其验证环境架构简介 2 2 1 输入缓存( s m i ) 2 2 2 功能简介 凰+ + 阿蔗飞 倒|l i l 兰! u ; ii s l l e幽矗tu j b 恤 图2 6 s m i 接口简图 对照前面c i o q 交换结构的描述,本文中的输入缓存( s m i ) 接收上游t m ( t r a f f i cm a n a g e m e n t ,流量管理模块) 送过来的信元,在缓存内部完成排队、向 s c 侧提请求、响应仲裁、组装t m 信元和开销信息为m 2 c 信元发送出去的过程。 当没有t m 信元需要发送的时候,s m i 会自动产生空闲信元向s c 发送,保持通 信。另外还有给t m 侧的s 1 b p ( 一级反压) 和s m e 送进来的s 3 b p ( 三级反压) 等信息的交互,等等。在后续验证环境各组件的功能介绍中还会对输入缓存的功 能进一步说明。本文中的s m i 兼容了芯片的新老两个版本模式( 简记为v 1 、v 2 模式) ,在不影响验证环境说明的情况下,未做过多区分。 2 3 1p b 平台 2 3s m i 验证环境架构 本文中的验证环境是基于p b 平台搭建的,现就p b 平台的架构做一简要介绍。 信号层( s i g n a ll a y e r ) :h d l 代码,在仿真器中运行。信号层的b f m 或 m o n i t o r 通过p l i 接口任务与功能层、调度层、软件层实现数据交换。 功能层( f u n c t i o n a ll a y e r ) :实现业务功能的验证,包括参考模型r m 、结 果校验器c h e c k e r 和记分牌s c o r e b o a r d 。 调度层( s c h e d u l el a y e r ) :实现端口、流量的调度功能和q o s ( q u a l i t yo f s e r v i c e ) 分析功能。 数据层( d a t al a y e r ) :实现激励数据的产生功能。 测试用例层( t e s t sl a y e r ) :实现测试用例。 软件层( s o f t w a r el a y e r ) :实现寄存器配置、软件模拟功能。 l o c i o q 交换网输入缓存的验证环境实现 覆盖率层( c o v e r a g el a y e r ) :实现对数据层、功能层、信号层和软件层的 规格覆盖率数据收集。根据覆盖率情况可以控制数据层的数据产生,也 可以控制测试用例层的测试用例执行。 图2 7 基于p b 的t e s t b e n c h 功能层次图 2 3 2s m i 的验证t e s t b e n c h s m i 所划分的几个模块几乎任意两个都有信号交互,并且在测试模块功能和 异常情况测试的时候,很多都需要在其它数据流和信号配合的情况下来关注个别 相关信号或功能,因此在考虑搭建验证环境的时候,认为对s m i 的各一级模块搭 建环境的工作量投入与实际产出不成正比,所以只针对s m i 的顶层措建了验证环 境。当需要对内部信号产生所需激励来测试特定情况的时候,通过在环境中添加 部分控制开关和直接对内部信号做控制来实现。s m i 集成验证t e s t b e n c h 的总体 结构如图2 8 所示。 图2 8s m i 集成验证t e s t b e n e h 总体结构图 第二章输入缓存及其验证环境架构简介 验证环境的搭建使用了三种语言,v e r i l o g 、c + + 和t c l 脚本语言。下面对 t e s t b e n c h 中的各组件简要介绍一下。 1 d u v 简介 d u v ( d e s i g nu n d e rv e r i f i c a t i o n ) 是需要被验证的逻辑模块,本文中即s m i 。 2 g e n e r a t o r 和b p p r o c 简介 g e n e r a t o r 和b p p r o c 是用t c l 语言实现的。 g e n e r a t o r 是环境的激励模块,其激励包含输入s m i 的信元、反压信息、链路 状态信息等内容,属于数据层( d a t al a y e r ) 组件。 b p p r o c 组件通过处理t m b f m 上报上来的s m i 的一级反压信息,来控制环 境中t m 信元的流量信息( 即控制t m b f m 从g e n e r a t o r 申请到的不同种类的t m 信元的流量) ,与环境中设置的端口、子端口、数据流及流量控制等共同构成调度 层( s c h e d u l el a y e r ) 组件。鉴于b p p r o c 实现的功能主要针对输入信元激励数据 的产生,就放在g e n e r a t o r 组件中加以介绍。 3 b f m 、m o n i t o r 简介 环境中的b f m ( b u sf u n c t i o n a lm o d e l ) 【3 8 - 3 9 】和m o n i t o r 组件都是用v e r i l o g 语言实现的,属于信号层( s i g n a ll a y e r ) 组件。结构图中的c l k r s t b f m 提 供时钟、复位和同步信号;b f mt x 为发送b f m 的集合,从激励模块获得数据, 按照与d u v 的接口时序向d u v 发送数据,另外可以看到d u v 对b f mt x 也有 数据输出,此部分内容将在4 2 节t mb f m 的介绍中提及;b f mr x 为接收b f m , 包含一组例化的l i n k b f mr x ,负责接收s m 向s c 侧输出的信元数据; m p ib f m 是模拟c p u 功能,按照c p u 与d u v 的接口时序,对d u v 内部的寄 存器进行读写操作;m o n i t o r 检视d u v 中的信息上报给功能分析组件进行分析, 包括s dm o m t o r 等。 4 c + + 组件简介 c h 组件主要起到功能层( f u n c t i o n a ll a y e r ) 的作用。 p r e p r o c 组件将激励数据进行预处理,然后按照需要的数据格式将激励数 据注册到s c o r e b o a r d 中,供c h e c k e r 使用; s c o r e b o a r d 是一个记分牌,存储了p r e p r o e 送过来的注册数据信息和 c h e c k e r 检查后的结果信息; c h e c k e r 组件实现了数据检查功能: o f m 是其它c + + 功能模块的总称,其中包括寄存器变量信息存储、模拟 c i o q 交换网输入缓存的验证环境实现 s c 侧仲裁的产生等功能模块。 对照基于p b 平台的t e s t b e n c h 功能层次图来看本文验证环境的结构,不难发 现,功能层组件中没有一个一般意义上的r m ( r e f e r e n c em o d u l e ) ,取而代之的 是p r e p r o c 组件,这是由s m i 的工作方式决定的,在第五章开始部分会给出进一 步说明。在环境使用中,这些c + + 组件是在i n g s m e n v 组件中被例化使用的。 另外有一个不属于组件i n g s m e n v 的c + + 组件未标明在环境结构中, i n g s m m a i n 组件。环境中定义了几个t c l 扩展命令,用于在t c l 脚本下调用c + + 组件中的方法,以达到对c + + 组件中变量的控制或完成数据的传输处理。 i n g s m m a i n 组件提供了这样一个t c l 与c + + 组件的扩展接口,通过t c l 扩展命 令来触发i n g s m m a i n 组件中的方法,再通过触发的这些方法来调用h a g s m e n v 组 件中的方法,对其变量进行操作。本文将只就其中的一个t c l 扩展命令 r e g i s t e r r e f r e s h 进行介绍( 见5 2 3 节) ,以说明类似应用。 2 3 3 三类不同组件在p b 环境中的交互 基于p b 平台搭建的验证环境,数据在c 卜+ 组件、t c l 组件和v e r i l o g 组件中 交互,其数据传递是经p b 平台的处理后通过环境中的端口来过渡的。文中定义 的一些端口可以参照表2 1 。 表2 1 验证环境中的端口信息 琴缆鞴窘弩 劳。,“_ 镒:襻髻妻罗翟? 。“警端若褥镜爵墨。警:谚霉:师u 铂端口类型一 一。缸r ,一、r 茹菇岛# 铭弘瓤爰毒莓,戥备”,;,j tw l以扩+ ,氛。岫,蛎气茹g ;b 茹嚷知二癌釜,:氛“* 毒锄;菇抖,j r 偿砖。一:吐吲辨醅勰;# 二; 、l # 一,? 。、一 c p u c f gc p u _ p o r t 0 寄存器配置数据 t mt x t x _ p o r t 1发送t m 信元 l i n kr x r x _ _ p o r t x接收m 2 c 信元 i n s e r t _ b p _ t x t x _ p o r t x 发送下插m 2 c 信元的三级反压信息 e r xl i n ks t at x t x _ p o r t x 发送下插m 2 c 信元的接收链路状态 i t xl i n ks t a 仪 t x _ p o r t x 发送s c 反馈的发送链路状态 g r a n t _ t x t xp o r tx 发送仲裁信息 q m i _ b p _ t x t x _ p o r t x 发送反压s m i 队列的反压信息 几种组件的交互主要体现在两个过程上:激励驱动过程、功能分析和结果校 验过程。激励驱动过程见图3 2 及说明。 功能分析和结果校验过程是在b f m 或m o n i t o r 的参与下,由参考模型r m 、 记分牌s c o r e b o a r d 和结果校验器c h e c k e r 来完成,其过程如图2 9 所示。 第二章输入缓存及其验证环境架构简介 图2 9 功能分析及结果校验过程示意图 功能分析过程:在仿真时间t l 时刻,b f m 或m o n i t o r 将发送数据通过p l i 函数传递给参考模型r m ,并调用参考模型r m ,参考模型完成预期结果分析和 预期出口分析,并将这些结果注册到s c o r e b o a r d 中。 结果校验过程:在仿真时间t 2 时刻,b f m 或m o n i t o r 将接收数据通过p l i 函数传递给结果校验器c h e c k e r ,并调用结果校验器c h e c k e r 。结果校验器首先从 s c o r e b o a r d 中获取预期结果,再和实际接收到的数据进行比较,并将比较结果注 册到s c o r e b o a r d 中。 b f i v i 与平台通过p l i 接口任务交互数据和控制信息,c + + 与t c l 间的交互 需要用到平台提供的a p i 函数,本文用到的几个p l i 接口任务和a p i 函数说明见 附录a 。 第三章g e n e r a t o r 组件 第三章g e n e r a t o r 组件 g e n e r a t o r 是本文验证环境的激励组件,用于产生测试过程中需要的各种激励 数据。在测试过程中根据激励数据应用方式的不同,可以大体分为三种测试方式: 随机测试、定向测试和约束性随机测试。 随机测试是通过完全随机的测试向量数据,来遍历各种需要测试的条件,通 过覆盖率收集等手段来确认激励的覆盖情况。此种测试利于检查设计针对各种不 同的测试向量组合的响应情况,可以不用通过人工手动来覆盖到全部需要检测的 情况。但是,其不利的因素也是明显的,当需要测试的向量数量较多时,完成一 轮随机覆盖将要花费很长的时间。定向测试则与随机测试相反,其数据的产生大 都是通过手动约束,来针对特殊场景进行测试。此类测试可以很快达到测试向量 的预期组合,来检查设计对关注的激励的响应情况,但倘若缺陷正是来自对那些 未做出约束的激励的响应,那么很可能导致测试无法完备。约束性随机测试则是 随机测试和定向测试的结合体,在测试向量的产生中对部分需要特别定义的向量 来做约束,其余的向量数据进行随机,一方面可以对测试向量的组合情况达到一 个较好的覆盖,另一方面对某些需要重点关注的场景也进行了准确的测试,更有 利于保障测试完备性、提高测试效率。 本文中激励数据的使用重点是约束性随机,同时,结合覆盖率的随机测试和 针对特殊场景的定向测试也有很多应用,共同保证测试的完备与高效性。 3 1c e u g e n 激励模块介绍 3 1 1 信元数据结构描述 本文中的激励数据是使用t c l 脚本语言产生的,首先定义激励数据的结构, 再根据数据结构定义生成基于此结构的激励过程。c e l l g e n 模块按照t m 侧输入 信元的格式,将信元中的各个域分别加以定义,并根据测试需求来对所关注的域 进行约束,从而产生需要输入的各种信元。下面只介绍其中两类信元的数据结构 ( 做了部分省略和变通) 。 表3 1
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 租赁设备包清工合同样本
- 工业机器人技术与应用模拟习题与答案
- 植物学习题库含答案
- 线上升国旗课件
- 水电工程承包合作合同
- 2024年2月份暗物质探测器共有权分割技术标准协议
- 机电安装工程合同补充条款范本
- 肩关节镜手术护理
- 给排水工程承包合同范本
- 2024年3月份墙体广告动态紫外线消毒集成协议
- 日常保安服务投标技术方案(技术标)
- 行政复议法-形考作业1-国开(ZJ)-参考资料
- 中国军事武器
- 八年级语文(完整版)标点符号及使用练习题及答案
- 金属非金属地下矿山人员定位系统建设规范
- 中考语文专题复习十议论性文本阅读市赛课公开课一等奖省名师获奖课件
- 喷塑车间安全培训
- 2024活跃用户研究报告(小红书平台)-千瓜-202404
- 市场营销策划(本)-形考任务二(第五~七章)-国开(CQ)-参考资料
- 2024年煤矿探放水考试题库附答案
- 技能成才强国有我
评论
0/150
提交评论