(微电子学与固体电子学专业论文)视频信号处理芯片子系统的功能验证.pdf_第1页
(微电子学与固体电子学专业论文)视频信号处理芯片子系统的功能验证.pdf_第2页
(微电子学与固体电子学专业论文)视频信号处理芯片子系统的功能验证.pdf_第3页
(微电子学与固体电子学专业论文)视频信号处理芯片子系统的功能验证.pdf_第4页
(微电子学与固体电子学专业论文)视频信号处理芯片子系统的功能验证.pdf_第5页
已阅读5页,还剩65页未读 继续免费阅读

(微电子学与固体电子学专业论文)视频信号处理芯片子系统的功能验证.pdf.pdf 免费下载

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

文档简介

摘要 功能验证已成为芯片设计的重大瓶颈。据统计,在现代i c 设计中,功能验 证所花费的时间约占整个设计周期的6 0 8 0 ,但却仍有超过2 3 的芯片设计 需要重新流片以纠正功能错误。目前基于仿真的验证依然是业界采用的主要验证 方式,然而传统的基于仿真的验证存在可观察性低、可控性差以及自动化水平低 等缺陷,如何快速有效地实现功能验证平台完成功能验证成为当今i c 设计验证 领域的重要研究方向之一。 本论文属于天津市科技发展计划项目“视频信号处理芯片的研发 中的一部 分,主要研究了视频信号处理芯片子系统的功能验证,提出了一种适合视频信号 处理芯片子系统验证的解决方案,包括验证路线的制定、功能验证方法的确定、 验证流程的规划和验证语言及工具的选择。论文分析了视频处理芯片的架构,并 据此将整个视频信号处理芯片的验证归结为o s d 子系统的验证和格式转换子系 统的验证;根据这两大予系统各自的特点,论文制定了层次化验证和自底向上验 证相结合的验证路线及相应的功能验证方法;借鉴当前流行的验证技术和方法, 论文描述了适合视频信号处理芯片子系统验证的定向测试和约束随机测试相结 合的激励产生方式、基于断言和数据比对的结果检查机制、功能覆盖率和代码覆 盖率相结合的覆盖率机制以及基于v m m 方法学思想的层次化验证平台构建等 验证流程中的关键环节。论文选择s y s t e m v e r i l o g 语言作为视频信号处理芯片子 系统的验证语言、m e n t o r 的q u e s t a s i m6 2 e 作为验证工具。最后根据o s d 子系 统和格式转换子系统的设计规范以及提出的功能验证方案,论文详细讨论了这两 大子系统各自的激励产生方式、结果检查方式以及验证平台架构等验证流程中的 关键环节,对这两大子系统进行了功能验证。 仿真验证的实验表明,采用本文的功能验证方案可以将激励产生、结果检查 和覆盖率衡量机制三者有机的结合在一起,极大的改善了验证过程的可观察性和 可控制性,提高了验证过程的自动化水平,从而有效地缩减了设计的研发周期, 保证了设计的成功流片。 关键词:功能验证s y s t e m v e r i l o g 断言约束随机激励覆盖率视频信号处理芯 片 a b s t r a c t f u n c t i o nv e r i f i c a t i o nb e c o m e st h el a r g e s tb o t t l e n e c ko fd e s i g nf l o w s t a t i s t i c s s h o wt h a ti tt a k e s6 0 t o8 0 e f f o r t s ,b u t2 3o rm o r ec h i p sm u s tb et a p e do u ta g a i n t om o d i f yf u n c t i o n a lb u g s s i m u l a t i o n - b a s e dv e r i f i c a t i o ni st h ep r i m a r ym e t h o do f f u n c t i o nv e r i f i c a t i o n ,w h i l et h et r a d i t i o n a lm e t h o ds u f f e r sf r o ms o m ed e f i c i e n c i e s ( 1 0 w e ro b s e r v a b i l i t y ,c o n t r o l l a b i l i t ya n da u t o m a t i o n ) h o wt oi m p l e m e n tf u n c t i o n v e r i f i c a t i o nq u i c k l ya n d e f f i c i e n t l yi so n ek e yq u e s t i o ni ni cv e r i f i c a t i o nf i e l d b a s e do nt h er e s e a r c ho fv i d e os i g n a lp r o c e s sc h 勿( v s p c ) f r o mt i a n j i n m u n i c i p a ls c i e n c ea n dt e c h n o l o g yd e v e l o p m e n tp r o j e c t , t h i sp a p e rd e s c r i b e st h e f u n c t i o nv e r i f i c a t i o no fv s p cs u b s y s t e m ( v s p s ) an e ws t r a t e g yf o rt h ev e r i f i c a t i o n o fv s p si sp r o p o s e di n c l u d i n gv e r i f i c a t i o nr o u t e ,v e r i f i c a t i o nm e t h o d ,v e r i f i c a t i o n f l o w , v e r i f i c a t i o nl a n g u a g e & t 0 0 1 t h ep a p e ra n a l y s e sv s p c ,a n dt h e ns e p a r a t e si ti n t o o s da n df o r m a tc o n v e r s i o ns u b s y s t e m a c c o r d i n gt ot h ef e a t u r eo ft w os u b s y s t e m s , t h e p a p e re s t a b l i s h e s ar o u t ec o m b i n e d l a y e r e d v e r i f i c a t i o nw i t h b o t t o m u p v e r i f i c a t i o na n da p p r o p r i a t ev e r i f i c a t i o nm e t h o d r e f e r r i n gt ot h ec u r r e n tp o p u l a r v e r i f i c a t i o nt e c h n o l o g y , t h ep a p e rd e s c r i b e ss o m ek e yp o i n t so fv e r i f i c a t i o nf l o w i n c l u d i n gs t i m u l u sg e n e r a t i o nc o m b i n e dd i r e c tt e s tw i t hc o n s t r a i n tr a n d o mt e s t ,r e s u l t c h e c k i n gc o m b i n e da s s e r t i o nw i t hd a t ac o m p a r i s o n ,c o v e r a g em e t r i c sc o m b i n e d f u n c t i o nc o v e r a g ew i t hc o d ec o v e r a g ea n dl a y e r e dt e s t b e n c he s t a b l i s h m e n tb a s e do n v m mm e t h o d o l o g y t h ep a p e rc h o o s e ss y s t e m v e r i l o ga sv e r i f i c a t i o nl a n g u a g ea n d q u e s t a s i m6 2 ef r o mm e n t o rg r a p h i c sa ss i m u l a t i o nt 0 0 1 f i n a l l y , a c c o r d i n gt od e s i g n s p e c i f i c a t i o no ft w os u b s y s t e m sa n ds t r a t e g ya b o v e ,t h ew a yo fs t i m u l u sg e n e r a t i o n , r e s u l tc h e c k i n ga n dt h ea r c h i t e c t u r eo ft e s t b e n c ha r ee x p a t i a t e d ,a n df u n c t i o n v e r i f i c a t i o no ft w os u b s y s t e m si sc a r r i e do u t s i m u l a t i o nr e s u l ts h o w st h a tt h ev e r i f i c a t i o ns t r a t e g yc a nm a k eag o o dj o i no f s t i m u l u sg e n e r a t i o n ,r e s u l tc h e c k i n ga n dc o v e r a g em e t r i c s ,i m p r o v et h eo b s e r v a b i l i t y , c o n t r o l l a b i l i t ya n da u t o m a t i o no fs i m u l a t i o np r o c e s s ,r e d u c et h ed e v e l o pc y c l e ,a n d g u a r a n t e et h es u c c e s s f u lt a p e - o u t k e yw o r d s ;f u n c t i o nv e r i f i c a t i o n ,s y s t e m v e r i l o g ,a s s e r t i o n ,c o n s t r a i n t r a n d o m - s t i m u l u s ,c o v e r a g e ,v i d e os i g n a lp r o c e s sc h i p 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工作和取得的 研究成果,除了文中特别加以标注和致谢之处外,论文中不包含其他人已经发表 或撰写过的研究成果,也不包含为获得墨鲞盘鲎或其他教育机构的学位或证 书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在论文中 作了明确的说明并表示了谢意。 学位论文作者签名:素垫亟誊 签字日期: 洲扩年石月 日 学位论文版权使用授权书 本学位论文作者完全了解苤鲞盘鲎有关保留、使用学位论文的规定。 特授权苤鲞盘堂可以将学位论文的全部或部分内容编入有关数据库进行检 索,并采用影印、缩印或扫描等复制手段保存、汇编以供查阅和借阅。同意学校 向国家有关部门或机构送交论文的复印件和磁盘。 ( 保密的学位论文在解密后适用本授权说明) 学位论文作者签名:起虹誊 签字日期:幻书年( ,月飞l e t 垦| 币敛锣:易、j b 勺z 导师签名:瑷一乙第 f 签字日期:2 峭年g 月日 第一章绪论 1 1 课题背景及来源 第一章绪论 随着半导体工艺水平步入深亚微米阶段,并正向9 0 n m 以下水平发展,芯片 的生产能力正在不断提高,设计能力已经落后于生产能力,并且两者之间的差距 仍在逐步扩大( 如图1 1 所示) ,为了满足嵌入式系统市场对于成本、功能和功耗 的要求,s o c ( s y s t e mo n a c h i p ) 设计技术已经成为一种发展趋势。众所周知,迄 今为止在集成电路发展过程中,摩尔定律( 硅片上的晶体管的集成程度在每两年 就会翻一番) 一直起作用,因此s o c 的规模和功能在不断急剧膨胀,使s o c 的设 计验证日益重要。在目前s o c 设计中,功能验证所消耗的资源已经占整个开发 资源的6 0 0 o - 8 0 ,并且随着芯片规模的不断扩大,这个比例还在增加,功能验 证已经成为目前s o c 设计流程中的最大瓶颈1 1 1 。 芯片 小时 1 9 9 01 9 9 52 0 0 0 图1 1 设计能力与制造能力的差距 早在19 9 9 年虚拟插座接口联盟( v s i a ) 举行验证专题研究组( v e r i f i c a t i o n w o r k s h o p ) 会时,众多世界级的验证专家得出“验证很棘手”的结论。数周之后, 经过相当深入地探讨,又得出“验证不仅是很棘手,而且是非常棘手 的结论t 2 | 。 在目前s o c 芯片设计中,至少有2 1 3 的芯片设计需要重新流片1 3 j 。在所有需要重 新流片的原因分析中,一家公司的统计数据表明:2 0 0 1 年,在所有故障和失败 中,4 7 的故障与逻辑或功能错误相关;而到了2 0 0 3 年,逻辑和功能故障的比 例已经攀升到了6 7 。这说明由于集成电路内容的增加,验证复杂性处于飚升状 态,如果不能确保验证的完备性和充分性,就只能后期更改,但后期修改不仅要 第一章绪论 承担重新流片带来的昂贵费用,而且还可能会因为市场原因而变得不现实。目前 s o c 验证领域虽然已经在验证技术、验证方法学、测试码提取、验证描述语言及 验证评估等方面都取得了很大的进步,但总体而言验证技术还是落后于设计和制 造能力,模拟和验证工作依然是整个s o c 学科发展的制约瓶颈,给提高设计生 产率造成了障碍【4 j 【5 1 。如何快速有效地实现功能验证平台完成功能验证成为当今 i c 设计验证领域的重要研究方向之一。 本论文源于天津大学a s i c 设计中心承担的天津市科技发展计划项目 “视频信号处理芯片的研发”( 现己结题) 。课题的任务是研发出一款基于可编程 逻辑器件实现的视频信号处理的s o c 芯片,从而将众多格式的输入信号转换成 特定格式的输出信号,以便实现输入信号到显示终端之间的无缝连接。作者参与 了课题验证方案的制定并对其进行了功能验证。 1 2 功能验证概述 功能验证用于证明设计目的与设计实现的一致性。功能验证可以分为两类: 基于仿真的验证和形式化验证【6 】o 1 2 1 基于仿真的验证 基于仿真的验证是将一组输入激励施加到设计模型上,使其工作运行并观察 模型的响应的一种方法。 图1 2 基于仿真验证的一般流程 基于仿真的验证的一般流程如图1 2 所示,它的出发点是设计规范,根据设 计规范分析需要测试的功能建立验证环境。在此验证环境中,激励的产生和响应 2 第一章绪论 比较是不可缺少的两个环节。由于动态模拟本身固有的不完备性,在实际应用中 需要结合覆盖率评估技术( 代码覆盖率和功能覆盖率) 来衡量动态模拟的进展情 况,并由此来指导激励的生成,对未被覆盖的部分加以验证,并进行递归验证, 直到达到规定的覆盖率指标。对于响应比较而言,其正确性通常依赖于参考模型, 或者层次化设计中依赖于上层设计,或者回归测试中依赖于前期版本的数据,这 需要根据具体情况决定。模拟验证领域中的研究,主要集中在激励产生和覆盖评 估两个方面。 基于仿真的验证的优点是简单并且不受设计规模的影响,是目前功能验证的 主要手段。但它也存在明显的缺陷,例如难以开发完全彻底的测试案例,尤其是 一些边缘案例;难以分析、判断它的功能覆盖率和测试的完备性等等1 7 j 。所以基 于仿真的验证应该同其他验证技术结合起来解决验证工作中遇到的问题。 1 2 2 形式化验证 形式化验证是一种静态的功能验证方法,它用严格的数学推理来证明设计实 现是否部分满足或者全部满足系统规范所描述的特型8 j 【9 j 。由于形式化验证是对 设计进行数学分析,是一种数学证明的方法,而不是进行模拟,因而不需要模拟 激励。形式化验证方法的强大优势在于,对于它所证明的任何属性,都可以保证 10 0 的正确。图1 3 展示了一般形式化验证工具的验证流程,它通过穷举设计 的所有可能的工作路径来判断设计属性是否正确,这种方法导致了形式化验证只 能用来验证设计规模有限的设计。 图1 3 形式化验证的一般流程 目前形式化验证方法种类较多,但针对功能验证的主要有等效性检查、模型 检查和定理证明。 第一章绪论 1 ) 等效型检查 等效性检查是指通过比较两个结构来检查它们是否等价,或者用数学证明的 方法证明两者逻辑上的等价性,它的基本原理是依据是数学的定理和公理以及设 计实现所利用的标准单元库的精确描述,建立两个被比较模型之间的关系。等效 性检查方法的自动化程度很高,不需要用户的干预,而且处理规模比模型检验要 大很多,是最成熟的形式化验证方法。许多大的e d a 公司都有等效性检验工具 推出,如s y n o p s y s 的f o r m a l i t y 和c a d e n c e 的a f f i r m a 等。等效性检查的不足之 处是:如果两个设计模型同时存在错误,则等效性检查无效。 2 ) 模型检验 模型检验又称特性检验,是采用更为抽象的形式描述语言对芯片的信号行为 进行描述,构成断言,并对设计的断言特性进行证明,从而检查设计的正确性。 当模型检验发现设计中的错误时,会给出一个反例,以帮助分析;若没有给出反 例,则可以1 0 0 相信该设计属性是正确的。随着设计复杂度的提高,设计中的 状态数目呈指数增长,模型检验对设计状态空间进行遍历的做法很容易遇到“状 态空间爆炸。因此,模型检验对于以控制为主的设计验证比以数据通路为主的 设计验证更为有效,这是由于后者一般有很大和较深的状态空间,验证要花费很 多的存储器和处理时间。但随着一些简化技术和状态表示、操作方法的提出,模 型检验方法的处理规模已经有了很大进步。模型检验的自动化程度很高,但设计 属性的描述仍然需要人工干涉,有时设计模型的抽象和化简也要人工的干预。 3 ) 定理证明 定理证明用形式逻辑同时描述设计的规范和实现,然后用理论证明的方法来 验证两者在逻辑上的相关性和相似性,是形式验证方法学发展最早的一个分支。 在定理证明中,系统及其需满足的属性都用数理逻辑的形式化语言描述,一个形 式化描述的系统包括一组公理和演绎规格,从系统的公理找到对属性的证明i l u j 。 定理证明系统的变化很大,定理证明不需要验证测试,但需要特性的公式表达, 并且不受输入或状态空间的限制,因此适合于数据通路的设计和高层应用的验 证,例如浮点部件和复杂的流水线控制。定理证明可用于特性检验,或者两个模 型的等价检验。定理证明的主要缺点是自动化不如模型检验好,因为用户必须用 定理证明器的命令来构造证明过程;另一个缺点是在对某事件的证明失败时,验 证系统无法自动跟踪,只能通过人为方法。 以上介绍了功能验证的两种方法。这两种方法中,形式化验证对其所证明的 属性可以保证1 0 0 正确,但由于其存在状态空间爆炸的可能性,还不能应用于 大规模的设计,特别是功能复杂的s o c 芯片;基于仿真的验证虽然是目前i c 设 计的主要验证方式,但其本身存在一定的缺陷,所以可以把形式化验证作为基于 4 第一章绪论 仿真的验证方法的补充,以便加速验证工作的进度,提高验证工作的质量。 1 3 论文内容及章节安排 本论文通过对当前各种i c 验证技术的探讨,提出了一种适合视频信号处理 芯片子系统验证的功能验证方案,然后利用提出的验证方案并结合o s d 子系统 和格式转换子系统的具体特点,详细讨论了激励产生、结果检查和测试平台架构 问题,对这两大子系统进行了完备性验证。论文的章节安排如下: 第一章为绪论部分,介绍课题背景及来源,分析了两种主要的功能验证技术, 并介绍了本文的研究内容及章节安排。 第二章介绍视频信号处理芯片的子系统规划及验证方案,在介绍视频信号处 理芯片的基础上将视频信号芯片的验证归结为o s d 子系统的验证和格式转换子 系统的验证,进而讨论了这两大子系统验证过程中采用的验证路线、验证方法及 验证流程中相关环节的策略制定,最后分析了验证中采用的语言和工具。 第三章为o s d 子系统功能验证,结合提出的验证方案完成对o s d 子系统 的功能验证。 第四章为格式转换子系统功能验证,结合提出的验证方案完成对格式转换 子系统的功能验证。 第五章总结和展望。 第二章视频信号处理芯片的子系统规划及验证方案 第二章视频信号处理芯片的子系统规划及验证方案 本章首先根据视频信号处理芯片的整体架构,将视频信号处理芯片的验证归 结为o s d 子系统和格式转换子系统的验证,随后描述了视频信号处理芯片子系 统验证过程中采用的验证路线、功能验证方法以及验证流程,并借助于v m m 方 法学的思想构建了一个层次化的验证平台,最后论述使用的验证语言及验证工 具。 2 1 视频信号处理芯片的子系统规划 2 1 1 视频信号处理芯片概述 视频信号处理芯片( v i d e os i g n a lp r o c e s sc h i p ) 是天津大学a s i c 设计中心 承担的天津市科技发展计划项目,该芯片是一款基于可编程逻辑器件实现的低功 耗s o c 芯片,如图2 - 1 所示。该芯片包括以下功能模块:数据存取模块( 视频前 置缓存、存储器管理单元、外部存储器接口、视频处理缓存) 、视频处理模块( 去 隔行、帧频变换、尺寸缩放) 、图像增强处理模块( 图像对比度,亮度调节、t 校 正、y u v 与r g b 色度空间的相互转换) 、时序控制模块( 视频模式识别、显示 时序控制、中央控制状态机、时钟管理单元) 及o s d 子系统( 1 2 cs l a v e r 、o s d 模块显示和视频叠加模块) 。 出_ 慝田斛 瑚雌鳟 图2 - 1 视频信号处理芯片功能模块划分 第二章视频信号处理芯片的子系统规划及验证方案 芯片的主要功能和设计指标如下: 支持不同制式( p a l 、n t s c ) 的i t u rb t 6 0 1 的视频输入源,视频输 出为2 4 位r g b 单像素输出,显示分辨率可达w x g a 的1 2 8 0 x 7 6 8 6 0 h z 规格。 支持高质量的视频处理,完成视频图像的帧插入、行插入、点插入功能, 视频处理包括:运动自适应去隔行、帧频变换、图像尺寸缩放处理、自动视频模 式识别、8 位可编程丫校正、色度空间转换( 至r g b ,r g b 至y u v ) 、图 像亮度对比度调节。 支持单窗口、可编程、透明度背景色调节等效果的o s d 菜单显示。 支持1 2 c 总线接口、具有可配置1 2 8 m 的标准s d r a m 芯片接口、3 位与 m c u 的中断申请接口。 2 1 2 视频信号处理芯片的子系统规划 为保证视频信号处理芯片功能的正确性,需要对它进行功能验证。视频信号 处理芯片的处理对象是视频信号,如果进行整个芯片级的动态验证,不仅要验证 芯片是否可以支持不同输入制式的视频信号,以便实现不同的缩放形式,而且还 要验证o s d 子系统设计指标中规定的各项功能是否达到了;在这些测试例的驱 动下,要保证验证的完备性,需要采用随机化激励的验证方式,这个过程将涉及 到海量数据的视频处理( 据统计需要处理的视频数据高达几百帧甚至上千帧) , 就目前我们的条件来说,进行这样的动态仿真面临着很大的挑战( 主要体现在海 量数据处理引起的仿真效率低下) 。因此视频信号处理芯片的验证只能采用 f p g a 的验证方式,以便提高仿真验证的效率,但是当芯片设计存在错误时不便 于快速定位设计中错误的位置。因此,只能将动态功能验证的重点放到芯片的子 系统级。 根据设计规范,视频信号处理芯片的功能可以总括为两大部分:第一是格式 转换功能,即将低帧频、隔行扫描和低分辨率的数字视频信号转换为高帧频、逐 行扫描和高分辨率的数字视频信号,并对数字信号进行亮度对比度调整、g a m m a 校正和色度空间转换,以便数字视频信号可以以良好的画质在特定的显示器上显 示;第二是人机交互控制功能,即通过正确设计o s d 菜单显示,使用户可以根 据自身需要对实现格式转换功能的某些参数进行调节,进而改变视频图像的显示 格式。从这个角度,视频信号处理芯片可分为格式转换子系统( 实现格式转换功 能) 和o s d 子系统( 实现人机交互功能) 两大子系统,o s d 子系统通过控制片 外m c u 将相应寄存器的值送到格式转换子系统中,以便对格式转换子系统处理 的视频图像进行调节。如果我们可以保证格式转换子系统和o s d 子系统的功能 是正确性的,则在进行芯片f p g a 验证时,查错的重点只须放到片外m c u 设计 7 第二章视频信号处理芯片的子系统规划及验证方案 的正确性上即可,从而可以解决f p g a 不便于定位设计错误的问题;同时将芯片 分为两大子系统分别进行验证,可以有效避免因大量数据处理引起的仿真效率低 下问题。 由于空间所限,本论文不对视频信号处理芯片的f p g a 验证进行介绍,而将 讨论的重点放在格式转换子系统和o s d 子系统的功能验证上。 2 2 视频信号处理芯片的子系统验证路线 2 2 1 验证路线概述 到目前为止,业界用于进行功能验证的技术主要有以下几种l l u : 1 ) 自项向下的验证 使用这种验证路线的前提是在进行设计对象的验证之前已经拥有了设计对 象的系统模型。这个系统模型的建立就是将采用系统级语言( c 、c + + 或其他语 言) 创作的设计对象中各个组成元素的系统级模型集成到一起的。验证系统级模 型的功能就是对其运用系统及测试平台加以检验,然后通过若干个抽象层次将设 计对象逐步分解,在分解过程中需要加入一些设计的细节描述,直至完成细节设 计,并且在随后得到验证。分解设计可能会需要对验证环境作相应的变化以完成 对细节的设计。但是验证这些细节设计可以需要引入特定的工具。自顶向下验证 方法的主要工作负荷在于对全系统级验证。随着设计规模的增长,对细节模型运 行全系统测试将不再可行。在此情形下,可以考虑选用的方案有:采用仿效、快 速原型系统或硬件加速器的仿真环境,或者将设计对象划分成若干个功能块【l 】。 2 ) 自底向上的验证 自底向上的验证路线是当今众多设计机构广泛采用的验证路线。它首先对底 层子模块进行完备性验证,然后将这些子模块进行整合成更大的模块进行新一轮 的完备性验证。这个过程反复进行,直到整合成整个系统进行最后的完备性验证 为止。与自顶向下的验证一样,对整个系统的验证需要快速的仿真设备以获得需 要的仿真能力。 3 ) 增量式验证 在许多设计中,设计对象的绝大部分都可能是对已有的设计或者是一个预先 集成好的平台的复用。在这些情况下,很大部分设计的功能都可以认为正确,只 需对增加的那部分设计的功能进行验证即可。这种验证方法的关键在于确认设计 对象中新增加的部分是否给系统带来了新的功能。 4 ) 层次化验证 8 第二章视频信号处理芯片的子系统规划及验证方案 与自项向下验证路线的出发点相同,这种方法假定验证在高层次模型进行验 证。当对设计对象进行分解后,创建接口抽象模型以便进一步进行系统内部模块 的验证。同时我们可以直接对各模块进行单独验证。在很多情况下,这种技术可 以有助于消除在较低的抽象级别验证整个系统的需要。但在决定验证的层次时需 要考虑到折中的原则,较小的划分比较容易验证,因为它可以提供更大的可控性 和可蕊察性,建立感兴趣的条件和状态组合,也比较容易观察结果是否与期望的 相同,但是需要建立较多的测试平台;较大的划分虽然可以减少测试平台的开发, 但它却是以牺牲可控性和可观测性为代价的1 1 a 。 2 2 2 视频信号处理芯片子系统的验证路线 视频信号处理芯片子系统的验证采用的是层次化验证和自底向上验证相结 合的验证路线。图2 - 2 展示的是视频信号处理芯片子系统验证路线,图中箭头方 向代表自底向上的验证路线,可以看出格式转换子系统的验证和o s d 子系统的 验证采用的是动态的验证技术,而视频信号处理芯片的验证采用的是f p g a 验 证,并且视频信号处理芯片的验证是在两大于系统验证完成后进行的。由于视频 信号处理芯片功能的正确性取决于格式转换子系统和o s d 子系统功能的正确 性,下面详细介绍一下这两大子系统的验证路线。 i ;t a g e i s t a g e i i t s t a g e f p g a t 证 图2 - 2 视频信号处理芯片子系统的验证路线 1 ) 格式转换子系统的验证路线 由前面的分析知,格式转换子系统包含视频信号处理芯片中的数据存储模 块、视频处理模块、图像增强模块和时序控制模块等功能块,并且每个功能模块 又包含了各自的实现子模块。格式转换子系统的验证划分为三个阶段,如图2 - 2 第二章视频信号处理芯片的子系统规划及验证方案 左半部分所示。验证的第一阶段是对图中所示子模块进行验证。验证过程中并不 是对每一个功能模块都需要进行验证的,考虑到去隔行、尺寸缩放等多项具有自 主知识产权的i p 核,需要对这些模块进行重点验证:另外,模式识别模块因为 后续研发的需要扩展了很多功能,因此需要对其进行完备性验证;至于其他的一 些模块只是涉及对一些i p 的调用,所以没有必要再对这些i p 进行验证了。第一 阶段完成后,进入图中所示第二阶段的验证,这一阶段的验证主要是将各子模块 整合成一个个功能块,对各功能块进行验证,查看各功能块的功能是否正确。第 二阶段验证完成后,进入第三阶段的验证,即对格式转换子系统的验证。这一阶 段主要验证各功能块之间的接口协议以及格式转换子系统的功能实现。 2 ) o s d 子系统的验证路线 由前面的分析知,o s d 子系统的功能是能够正确显示o s d 菜单,并实现o s d 菜单和视频图像的叠加。从这个角度,可以将o s d 子系统的验证分成两个阶段, 如图2 2 右半部分所示。第一阶段完成对视频叠加模块的验证,以确定o s d 菜 单和视频图像的叠加能够正常实现;1 2 cs l a v e r 模块由于采用的是i p 核,因此没 有必要对其进行单独验证。按理说也应该在第一阶段对o s d 模块进行单独验证, 但考虑到o s d 模块是o s d 子系统的主体,o s d 模块与其他模块之间的通讯协 议实际上也可以看成是o s d 子系统与其他模块之间的通讯协议,因此将完成 o s d 菜单功能正常显示的o s d 模块的功能验证放到第二阶段的验证过程中,即 对o s d 子系统进行验证。 由于空间所限,本论文仅对格式转换子系统和o s d 子系统的功能验证进行 介绍,对其底层各子模块的验证这里就不进行介绍了。 2 3 芯片子系统的功能验证方法 2 3 1 功能验证方法概述 根据d u v 内部数据的可观察性和可控制性的程度,功能验证可通过以下三 种方法实现:黑盒法( b l a c k b o x ) 、白盒 法( w h i t e b o x ) 和灰盒法( g r e y b o x ) 1 1 3 j 。 1 ) 黑盒验证 黑盒验证也称功能测试或数据驱动测试,它是指在不知道设计内部实现细节 的情况下的验证。在验证时,将d u v 看作一个黑盆子,在完全不必关心或考虑 设计的内部结构和内部状态的情况下,验证者在d u v 接口进行验证,它只检查 d u v 功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输 入数据以产生正确的输出信息,并且保持外部信息的完整性。 1 0 第二章视频信号处理芯片的子系统规划及验证方案 黑盒验证的优点是测试用例和实现方式无关,可以让验证工程师在不了解设 计实现的情况下,从规格出发去检查设计工程师的工作,从而有利于提高验证的 可信度:缺点是缺乏可观察性和可控制性,通常很难将电路驱动到预定的状态组 合或隔离某些功能,难于观察设计的各个部分对激励的响应情况以确定模拟失败 时的问题所在。 2 ) 白盒验证 白盒验证也称结构测试或逻辑驱动测试,它已知产品内部工作过程,可通过 测试来检测产品内部动作是否按照规格正常进行。这种验证按照系统内部的结构 测试程序,检验系统中的每条通路是否都能按预定要求正确工作,而不考虑它的 功能。 白盒验证的优点是对设计内部结构和实现具有完全的可观察性和可控制性, 从而可以迅速设置感兴趣的状态和输入,或隔离一种特殊的功能,然后随着验证 的进行观测输出结果,检查任何不同于预期行为的差异。缺点是这种方法是与特 定实现紧密相连的,设计的修改意味着对测试平台的修改。 3 ) 灰盒验证 灰盒验证是黑盒验证和白盒验证的折中,它是在已知设计细节的情况下采用 黑盒验证的测试用例,从而弥补了黑盒验证缺乏可控性和可观测性的缺陷,同时 又保留了白盒验证所不具有的良好的可移植性。 2 3 2 芯片子系统的功能验证方法 考虑到上述三种功能验证方法的优缺点,在对视频信号芯片的两大子系统一 一视频格式转换子系统和o s d 子系统进行验证时,可分别采用下面的功能验证 方法: 1 ) 格式转换子系统的功能验证方法 对格式转换子系统来说,它主要包括数据控制模块、视频处理模块、图像增 强模块和时序控制模块。在确定功能验证方法时,可以将整个格式转换子系统看 作一个白盒,以便对其具有完全的可观察性和可控制性,而将其中的各子模块看 成一个个灰盒,以便可以及时处理由于各子模块间的通信协议不一致造成的问 题。 2 ) o s d 子系统的功能验证方法 对o s d 子系统来说,它主要包括1 2 cs l a v e r 模块、o s d 模块和视频叠加模 块。其中1 2 cs l a v e r 模块可以看成是外部m c u 控制器与o s d 模块之间的接口模 块,并且它的设计采用的是i p 核,所以可以完全将其看成是一个黑盒;o s d 模 块和视频叠加模块两者则实现了o s d 子系统的全部功能,因此可将这两个模块 第二章视频信号处理芯片的子系统规划及验证方案 看作两个灰盒。由于o s d 子系统包含的模块较少,并且它们之间交互协议比较 简单,所以对其验证时可以将整个子系统看作一个灰盒。 2 4 芯片子系统的验证流程 视频信号处理芯片子系统的验证流程如图2 3 所示。对每个子系统进行验证 时都包含验证计划和验证实现两个环节。其中验证计划确定了验证对象,并且定 义了完成这些验证需要使用的验证技术,最终建立测试平台;而验证实现则是对 验证执行的过程,并最终给出验证的完备性的指标。下面详细叙述验证的流程。 图2 3 视频信号处理芯片子系统的验证流程 2 4 1 确定验证目标 确定验证目标是整个验证的基础,也可称为确定验证对象,即将所需验证的 功能点进行详细的分析和分类,得到功能列表,并在功能列表中详细标明每个功 1 2 第二章视频信号处理芯片的子系统规划及验证方案 能点需要达到的验证目的。 为了便于对照,功能列表应与设计规格书作交叉索引。不同的功能适合的验 证层次也不同。有些功能在模块级验证中就可以进行验证,那么就没有必要在系 统级进行验证了;而某些功能的覆盖必须在系统级验证中才能体现出来,那么对 这些功能就只能用系统级验证进行验证。所以在确定验证目标时要注明每个功能 点的验证层次。验证平台的抽象层次决定了其是否能处理从字节到数据包甚至更 高级别的数据类型。高的抽象层次在继承、多态性和向下兼容低级抽象层次上有 优势。提高抽象层次不仅仅是对数据进行封装,采用总线功能模型和效用包,对 于包含复杂总线的设计非常有意义。 由于验证目标的确定与设计规范密切相关,o s d 子系统和格式转换子系统的 验证目标将在第三章和第四章分别叙述,这里就不详细说明了。 2 4 2 激励生成策略 功能验证约占整个设计周期的6 0 一8 0 ,其中验证向量的开发占据相当大 的一部分,同时验证向量的质量直接影响到整个验证过程是否能达到预期的覆盖 率、是否能给设计者足够的信心流片( t a p eo u t ) 。所以验证向量的开发既是验证 过程中最耗时的一步,又是最关键的一个环节,也是最迫切需要解决的一个问题。 目前业界常用的激励生成策略有以下几种: 1 ) 定向测试 定向测试的激励通常由设计者完成,根据应用需要可以通过指定测试向量( 即 验证者直接指定设计各输入管脚的值) 、捕获测试激励( 利用跟当前设计类似的芯 片运行过程中捕获需要的激励) 和事务( 指在测试用例和代测试的芯片引脚之间 进行抽象化,从而简化测试激励的产生) 三种方式产生定向测试的激励。显然, 它是根据设计已知的测试空间开发出相应的激励,而不是根据未知的测试空间, 如图2 - 4 ( a ) 所示。因此,利用这种激励只能验证设计的典型行为,而不能验证所 有可能的行为。即使是对已知测试空间的测试也要花费很长时间,一个小小的设 计就可能需要上百次不同的测试矢量的测试。而当设计的规模和功能逐渐增大和 变的更加复杂时,我们就可能需要成千上万的定向激励来验证设计的功能。随着 逻辑越来越复杂,验证空间也会相应增加,这不仅需要使用大量的人力,而且随 着代码行数的增多也会显著增加代码出错的概率【l4 1 。因此出现了随机化测试。 2 ) 随机测试 相对于定向测试激励来说,随机化激励可以仅用几行代码就能产生大量的激 励数据,通过为设计提供随机激励信号来扩大验证的测试空间。随机测试有助于 发现隐藏测试范例和设计错误。在随机验证环境中,验证环境知道如何应用每一 高攀然勰嚣熘叭蝴一。当 1 4 第二章视频信号处理芯片的子系统规划及验证方案 1 ) 肉眼观察 此种方法通过对仿真结束后产生的波形或输出文件进行人工检测来确定结 果的正确性。这种方法仅适合小型模块的验证,当设计规模超过几千门时,这种 方法的弊端就会暴露出来。首先,当待观测的信号量较大时,很难分析多个信号 的交互过程;其次,人工检测不能重复彻底的进行,如果设计进行了一点改动, 我们很难保证结果分析的完整性,并且这种方法不支持自动回归测试。 2 ) 与“黄金( g o l d e n ) 模型”比较 此种方法主要用于响应检测的数据比对方面,它通过将仿真产生的结果与 “黄金模型”产生的结果进行比较来确定结果的正确性。通常“黄金模型”使用 c c + + 等高级语言开发,并实现对应的r t l 模块的功能,但它针对的是r t l 模块 的事件处理精度而不是周期处理精度。比较的方式可以是实时的,即在将激励同 时加到“黄金模型”和r t l 模块中比较结果;也可以将黄金模型产生的结果先保 存到一个中间文件当中,然后在测试平台中调用这些结果与r t l 的结果进行比 较。前一种方式的优点在于能够做到实时比对,占内存较小,控制起来比较灵活, 但因为软硬件的联合仿真,仿真速度相对较慢;后一种方式由于是对“黄金模型” 和r t l 模块分别处理,仿真速度相对较快,但是由于通过文件传输信息,对仿真 的内存占用很大。 3 ) 断言( a s s e r t i o n ) 断言是对设计对象的属性特性或行为特性的判断性表述,它表现为一组布尔 型的表达式【l8 1 。断言可用于响应检测的控制时序方面,它在确认错误及错误区域 化的方面,有显著的效用。我们可以断言置于设计之中以检查设计的运行是否符 合预期行为。除此之外,在结果检测中使用断言还可以改进事件发生的可观测性, 并利用其快速定位错误的特性,缩短整个设计周期,使除错更为便利。 上面对三种业界常用的响应检测策略进行了比较,可以看出一种优秀的响应 检查策略着眼点在于验证环境能够自动和动态的检测期望的结果,同时可以在较 短的时间内定位设计的错误,以便于进行有效的回归测试( r e g r e s s i o nt e s t ) , 因此在确定视频信号处理芯片两大子系统的响应检测策略时,我们从协议检查和 数据检查两个方面入手,并分别采用不同的结果检查策略: 协议检验:控制时序的正确性是任何设计的核心,协议检验的目标就是控制 时序,通过在设计中使用断言响应检测策略可以快速定位设计错误,缩短查错时 间。 数据检验:保证数据的完整性是任何设计的最终目标,通过与“黄金模型” 进行实时比较,可以快速发现设计中算法部分存在的问题,以便于及时的更正。 第二章视频信号处理芯片的子系统规划及验证方案 2 4 4 验证平台设计 设计验证平台的目的是为对使用硬件描述语言( h d l ) 设计的电路进行仿真验 证,测试电路的功能、部分性能是否与预期的目标相符,从而对设计的正确性进 行验证。在设计规模不断增长的情况下,使用验证平台可以显著提高验证的效率, 如表2 1 所示。第3 列给出了典型的s o c 验证过程中主要任务所占的时间百分比, 其中开发和调试测试这个部分最耗时间;第4 列给出了使用验证平台时,s o c 验 证过程中主要任务所占的时间百分比,可以看出使用验证平台可以减少2 5 的开 销【1 9 】。 表2 1s o c 中主要任务开销 1 、传统的功能验证平台 图2 - 5 自核对式测试平台 常用的传统测试平台为自核对式测试平台,如图2 5 所示。此测试平台向被 测设计对象施加输入激励,对其输出进行采样,并将其输出与期望结果相比较, 如果采样出来的输出与期望结果不一致,那么自核对式测试平台将生成错误报 告。 第二章视频信号处理芯片的子系统规划及验证方案 自核对式测试平台虽然提供了结果检查机制来修正设计中的错误,但它只是 通过单纯的使用激励生成和响应检测模块来构建测试平台的。这种构建测试平台 方式对简单设计的验证也许是可行的,但随着设计规模越来越大,产品面世的时 间越来越短,这种传统验证平台的弊端日益显露,主要体现在以下几个方面【2 0 】: 1 ) 可重用性差。由于传统的验证平台的构造和使用都处于信号级层面,这种 单一层次的结构会带来不可重用的问题。一组激励生成模块和响应模块只是针对 某一个d u v 的某一个测试例而设计的,不具有模块的可重用性。即使是同类产 品的开发中,各自所需的验证环境也会由于功能和所使用的总线协议的一些差别 而无法做到项目之间的重用。 2 ) 开发代码量大。由于在系统开发过程中,需要完成模块级、芯片级和系统 级的验证,并且

温馨提示

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

评论

0/150

提交评论