(微电子学与固体电子学专业论文)视频格式转换芯片图像处理引擎的功能与时序验证.pdf_第1页
(微电子学与固体电子学专业论文)视频格式转换芯片图像处理引擎的功能与时序验证.pdf_第2页
(微电子学与固体电子学专业论文)视频格式转换芯片图像处理引擎的功能与时序验证.pdf_第3页
(微电子学与固体电子学专业论文)视频格式转换芯片图像处理引擎的功能与时序验证.pdf_第4页
(微电子学与固体电子学专业论文)视频格式转换芯片图像处理引擎的功能与时序验证.pdf_第5页
已阅读5页,还剩69页未读 继续免费阅读

(微电子学与固体电子学专业论文)视频格式转换芯片图像处理引擎的功能与时序验证.pdf.pdf 免费下载

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

文档简介

摘要 随着半导体制造和集成电路设计技术的不断发展,在摩尔定律的推动下,芯 片的集成度和复杂度越来越高,集成电路已经进入了v l s i 和u l s i 的时代。随 之而来的功能以及时序验证问题逐渐成为芯片开发的瓶颈。功能验证指验证设计 是否实现了规范的要求,目前功能验证已经占设计资源的6 0 0 0 - - 7 0 ,是芯片设 计中的最大开销。时序验证指对芯片内部的延迟进行查看,检验其是否满足设计 者的约束。 本论文的研究内容来自天津市科委科技攻关基金项目“视频格式转换( v f c ) s o c 芯片的研发”,主要对图像处理引擎进行了时序验证工作并对引擎的功能验 证进行了详细的研究。首先使用了p t 对图像处理引擎进行了静态时序分析,静 态时序分析报告表明,引擎能在设计的时钟下正常工作,并有一定的时钟余量。 然后对视频格式转换芯片及图像处理引擎的功能和架构进行了简单地介绍,并制 定了详细的验证计划。期问针对如何快速地覆盖到所有功能点、加快芯片验证进 度的问题,以约束随机化测试和功能覆盖率收敛技术为指导,提出了基于类定向 测试的芯片验证方法,并详细说明了类定向测试中的权重修正过程。最后以v m m 验证方法学为指导,使用方法学推荐的分层验证平台架构对图像处理引擎在场景 层进行了功能验证。 仿真和实验结果表明,验证平台以功能覆盖率为驱动,集测试矢量生成和响 应检测于一身,通过引入类定向测试自动高效地实现了对图像处理引擎的验证。 从视觉效果上看,引擎成功地实现了不同视频制式间的转换功能;从算法上看, 引擎较好的实现了缩放、肤色调整等复杂算法。 关键词:功能验证静态时序分析约束随机化测试类定向测试v m m a b s t r a c t w i t ht h ed e v e l o p m e n to fs e m i c o n d u c t o rm a n u f a c t u r i n ga n di cd e s i g nt e c h n o l o g y , t h ei ci sb e c o m i n gm o r ea n dm o r ec o m p l e xd r i v e nb ym o o r e sl a w , a n dt h et i m e o fv l s ia n du l s ih a sb e e nt u r n e do n t h ef o l l o w i n gp r o b l e m sw h i c ha r et h e b o t t l e n e c k so fi cr & da r ef u n c t i o n a lv e r i f i c a t i o na n dt i m i n gv e r i f i c a t i o n f u n c t i o n a l v e r i f i c a t i o n ,w h i c hm e a n st ov e r i f yw h e t h e rt h ed e s i g na c h i e v e st h es p e c i f i c a t i o n s ,h a s a c c o u n t e df o r6 0 7 0 d e s i g nr e s o u r c e s t i m i n gv e r i f i c a t i o nm e a n sc h e c k i n gt h e i n n e rd e l a y so fc h i p st ov e r i f yt h a tw h e t h e ri tm e e t st h ec o n s t r a i n t s b a s e do nt h er e s e a r c ho f v i d e of o r m a tc o n v e r tc h i p ( v f c ) d e v e l o p m e n t ” w h i c hi sf u n d e da n di n i t i a t e db yt i a n j i ns c i e n c ea n dt e c h n o l o g yc o m m i t t e e ,t h e t h e s i sp u t si t sf o c u so nt h et i m i n gv e r i f i c a t i o na n df u n c t i o n a lv e r i f i c a t i o no fi m a g e p r o c e s se n g i n e ( i p e ) f i r s to fa l l ,t h es t a i t i ct i m i n ga n a l y s i s ( s t a ) o fi p ew a sm a d e w i t ha t , a n dt h er e p o r t ss h o wt h a tt h ed e s i g nc a nw o r kn o r m a l l yu n d e rt h es p e c i f i e d c l o c k s ,a n dt h e r ea r ea l s os o m ec e r t a i nm a r g i n s a f t e ri n t r o d u c i n gt h ea r c h i t e c t u r eo f v f ca n di p eb r i e f l y , ad e t a i l e dv e r i f i c a t i o np l a nw a sm a d e b yu s i n gc o n s t r a i n e d r a n d o mt e s t ( c r t ) a n dc o v e r a g ec o n v e r g e n c et e c h n o l o g y ( c c t ) a sag u i d a n c e ,a v e r i f i c a t i o nm e t h o do fc h i p sb a s e do nr e s e m b l i n gd i r e c t e dt e s tw a sp r o p o s e dt os o l v e t h ep r o b l e mo fh o wt oc o v e ra l lt h ef u n c t i o n a lp o i n t sq u i c k l ya n ds p e e du pt h e v e r i f i c a t i o np r o g r e s s t h e nt h et h e s i ss p e c i f i e st h ep r o c e s so fw e i g h tc o r r e c t i o ni n r e s e m b l i n gd i r e c t e dt e s tw h i c hi su s e di nt e s t - b e n c h a tl a s t , ah i e r a r c h i c a la r c h i t e c t u r e o ft e s t - b e n c hw h i c hi sr e c o m m e n d e db yv m mi su s e df o rt h ef u n c t i o n a lv e r i f i c a t i o n o fl p eo nt h es c e n a r i ol a y e r t h es i m u l a t i o nd a t aa n de x p e r i m e n t a lr e s u l t ss h o wt h a tt h et e s t - b e n c hd r i v e nb y f u n c t i o n a lc o v e r a g ec a nm a k eag o o dj o i no fs t i m u l u sv e c t o r sg e n e r a t i o na n dr e s u l t c h e c k i n g ,a n dv e r i f yt h ei p ea u t o m a t i c a l l ya n de f f i c i e n t l yb yu s i n gt h er e s e m b l i n g d i r e c t e dt e s t f r o mt h ev i s u a le f f e c t s ,t h ei p ec o n v e r t sd i f f e r e n tv i d e of o r m a t s s u c c e s s f u l l y a n dt h ei p ea c h i e v e st h eg o a lo fp u t t i n gc o m p l e xa l g o r i t h m ss u c ha s s c a l i n ga n d f l e s ht o n ec o r r e c t i o ni n t oo n ec h i p k e yw o r d s :f u n c t i o n a lv e r i f i c a t i o n ,s t a t i ct i m i n ga n a l y s i s ,c o n s t r a i n e dr a n d o m t e 吼r e s e m b l i n gd i r e c t e dt e s t ,v m m 第一章绪论 1 1 课题背景 第一章绪论 随着集成电路设计和制造技术的发展,芯片的集成密度越来越高。2 0 1 0 年 已出现集成度超过1 0 亿支晶体管的高性能c p u ( i n t e l 的p o l a r i s ) ,2 0 2 0 年将达到 7 0 似,根据摩尔定律,这个数字还在不断递增。为了满足市场对于成本、功能 和功耗的要求,s o c ( s y s t e mo nc h i p ) 设计技术已经成为一种发展趋势。 s o c 即系统级芯片,把各种功能整合到芯片上成为一个系统,本质上是在 做高规模的复杂集成电路设计 2 】o 现在的s o c 中,要在芯片上整体实现c p u 、 d s p 、模拟电路、数字电路、存储器及片上可编程逻辑等多种电路,综合实现图 像处理、语音处理、通信协议、通信机能、数据处理等功能。 虽然s o c 集成度高,功能丰富,但相应带来的验证过程就更加繁琐,验证 所需要的矢量也就更多。多个模块集成在一起后,由于不可能预估到所有的边界 可能,导致无法对芯片的输入进行全面的模拟仿真并发现设计中深层次设计缺 陷。尤其是在有限的项目资源和时间的前提下,如何尽早地发现设计中的缺陷并 修复,从而把产品及时地推向市场。随着验证复杂度的不断提高,涌现出来许多 新的验证技术,但设计能力与验证所能提供信心之间鸿沟仍然巨大,目前s o c 的验证需要投入的资源已占整个设计资源的6 0 8 0 【j j 。多次调查显示s o c 项 目中高达7 0 均在第一次流片失败,而功能上的缺陷是其中主要原因。 时序收敛指在集成电路的前端和后端设计中,时序能够满足设计规范的要 求。随着工艺的不断提高,互联线延迟占主导地位,时序收敛问题愈发严重。当 前基于标准单元的深亚微米集成电路设计正接近复杂度、性能和功耗的极限。设 计工具的时序准确性不足和版图设计后期的时序收敛问题已经成为芯片设计项 目成功与否的两大关键障碍。根据市场调研公司c o l l e c ti n t e r n a t i o n a l 的调查,6 0 以上的a s i c 设计都存在时序收敛问题【4 j 。 1 2 验证概述 验证是证明一个设计的功能和行为是否正确并满足规范的过程。对于待测设 计,给定的某个输入将会得到相应的输出,输入到输出的转换即设计。验证则是 第一章绪论 证明这一过程是满足设计要求的也就是说,确保设计是对规范的一种准确表 达,对于设计在超出预定目标之外的行为,可以不用关一l 二, t 5 】。验证在设计过程中 无处不在,而且方式多种多样,最终目的都是尽可能的保证设计的正确性,找到 更多的b u g 。验证过程中所发现的错误主要有人员设计的错误和设计工具引起的 错误等。 验证是并行与设计的,对于每个设计模块,设计者需要首先阅读硬件规范, 解析其中的自然语言表述,然后使用r t l 代码之类的硬件描述语言创建相应的 逻辑。解析过程中总是会有模糊的地方,原因可能是规范文档本身的表述不清楚, 遗漏了细节或者前后不一致。作为验证工程师,工作是阅读同样硬件规范,对其 含义做出独立的判断。拟定验证计划,然后按照计划,创建测试案例来检查r t l 代码是否准确地实现了所有的功能。 目前验证的体系主要由验证平台t e s t b e n c h 和待测设计( d u t ,d e s i g nu n d e r t e s t ) 组成【6 j ,如图1 1 所示。 图l 一1 验证体系的构成 这是验证体系通用的模型,t e s t b e n c h 负责生成测试案例注入待测设计中, 同时监视和采样d u t 的输出,并与理想的响应进行比对。可以看出验证的难点 一方面在于如何生成足够多得激励,用以检测到所有的设计性能;另一面在于如 何把采集到的输出与激励对应起来,并采用合理的响应检测策略进行分析。 目前的验证流程主要由功能验证、等价性验证、时序验证和版图验证等阶段 组成 7 1 ,如图1 2 所示。 第一章绪论 1 2 1 功能验证 图1 2 验证的流程 目前对于硬件设计主要使用的是基于仿真的动态功能验证技术。 功能验证( f u n c t i o n a lv e r i f i c a t i o n ) 是验证中最耗时、最复杂同时也是灵活 性最大的部分。作为前端验证的主要手段,它主要通过对d u t 施加测试矢量, 然后检查其行为是否按照设计规范运作,是验证设计实现的一种方法峭j 。这种方 法的优点是简单、易操作、适用范围较为广泛等,但是缺点也十分明显:验证过 程总是在设计实现结束后进行,设计和验证过程并不同步,浪费了很长的时间; 完全彻底的测试案例很难被开发出来:难以对功能覆盖率进行观测和分析,从面 判断验证的完备性;一些没有提前定义的行为很可能被当做错误报告出来【9 j 。 为了解决上述问题,随着验证技术的逐步发展,在验证语言和各种e d a 工 具的支持下,功能的验证方法也由最初的定向测试,到约束随机化测试,再到覆 盖驱动的验证,一直到基于断言的验证方法,各种验证方法在不断创新发展。 定向测试 定向测试指验证工程师针对设计规范里规定的功能点,直接编写测试矢量 集,并作为激励输入待测设计。定向测试遵守w y t w y v o ( w h a t y o u t h o u g h t o f i s w h a t y o u v e r i f y o n l y ) 原则,仅对定义好的功能点编写测试矢量进行验证。 定向测试具有单一性和目标明确性的特点。为了覆盖尽可能多的设计行为, 需要手动产生大量的测试矢量,时间成本和人力成本极高,仅适用于较简单的设 计。在面向复杂设计的验证平台中,定向测试主要作为以覆盖率为驱动的约束随 第一章绪论 机化测试的补充:当覆盖率收敛速度减缓、验证进度变慢时,使用定向测试对覆 盖盲点编写测试矢量。 约束随机化测试 约束随机化测试( c o n s t r a i n tr a n d o mt e s t ,c r t ) 指对测试用例进行带有约束 的随机化处理,是大规模集成电路仿真验证流程中的重要支撑技术【1 1 1 。 约束随机化测试主要由两部分组成:随机和约束。随机即对测试矢量进行完 全的随机,生成的矢量可以穷尽空间内的所有可能,随着功能点的增多矢量空间 以几何倍数扩增,所以完全随机化所消耗的时间成本极高。约束即通过增加约束 对随机进行必要地限制,把测试矢量的生成从完全随机变为特定区域的随机,使 测试矢量在验证人员所感兴趣的空问游走,提高了验证效率。 在约束随机化测试的验证环境中,需要提前在验证环境中建立参数化配置能 力并对约束进行增加、删减和修改,从而使得测试矢量的生成为约束所驱动并在 约束空间内游走。 覆盖率驱动的验证 、 覆盖率一般表示设计的验证以及进行到了某种程度,是衡量验证进度的重要 量化标准之一。覆盖率由代码覆盖率( c o d ec o v e r a g e ) 和功能覆盖率( f u n c t i o n a l c o v e r a g e ) 组成。一般来说,仿真器可以直接给出代码覆盖率结果,代码覆盖率 主要指设计的硬件代码在执行时实现的比率,可以用来找出冗余代码。值得注意 的是,代码覆盖率达到了1 0 0 仅代表代码全部被执行并不意味着代码实现了设 计全部的功能。设计功能的实现程度一般用功能覆盖率即定义的功能点被覆 盖到的程度来确定【12 1 。通常情况下,对一个覆盖点( c o v e rp o i n t ) 的定义和约束 在验证计划中是被提前定义好的,在建立验证环境时会相应地对覆盖点进行建立 并约束。 功能覆盖率验证方法与c r t 存在内在的关联。当使用约束随机化激励,验 证平台在所有设计状态的空间里游走时,需要使用功能覆盖率来评估当前验证的 进度,判断是否已经达到验证的最终目标0 3 。 在约束随机化激励下,功能覆盖率随着仿真时间的推进而增长,收敛速度相 应逐渐减慢,同时一些边界条件、覆盖盲点的时问成本也越来越高。验证工程师 需要以覆盖率为驱动,引入反馈来修改约束,必要时引入定向测试来加快覆盖率 的收敛 5 】o 这称为“覆盖率驱动的验证”,如图1 3 、1 4 所示。 4 第一章绪论 图1 3 反馈引入对覆盖率的影响 盖率 图1 - 4 覆盖率驱动的验证 基于断言的验证方法 基于断言的验证方法( a s s e r t i o n b a s e dv e r i f i c a t i o n ) 首先在设计代码中插入与 所检查属性对应的断言语句,之后在对设计的仿真过程中通过对断言语句的检查 来判断所定义的功能是否实现【1 4 】。在验证过程中使用断言:能够帮助验证人员更 好地理解实现的设计;可以精准定位错误在设计中出现的位置;能够对设计内部 需要覆盖功能点建模;验证开发过程可以和设计过程同步【1 5 】。这些可以克服我们 实际项目中应用的基于仿真的功能验证平台的缺点。 目前的验证语言主要有s y s t e m v e r i l o ga s s e r t i o n ( s v a ) 、o p e n v e r aa s s e r t i o n ( o v a ) 和p r o p e r t ys p e c i f i c a t i o n tm j ( p s l ) 等。 断言描述了设计意图,用于对设计中的属性( 即1 般为功能点) 进行检查。 相对于硬件描述语言,基于验证语言的断言语句能够更方便地描述输入到输出的 行为、总线协议和信号间一些复杂的关系。断言并非仅供验证人员在整体验证时 使用,设计人员在硬件设计时也可以使用可综合的断言语句来为核心部分提供验 证接e l 。断言一般用来对时序进行检查,可观察性较好,当对固定协议进行时序 第一章绪论 断言时又有可复用性的优点。 断言分为即时断言和并发断言。即时断言基于模拟事件的语义,测试表达式 被立即求值,只能用于动态模拟。并发断言基于时钟周期,在时钟有效边沿根据 调度的变量采样计算相应的测试表达式,可以在动态和静态验证工具中使用。 1 2 2 时序验证 时序验证包括静态时序分析( s t a t i ct i m i n ga n a l y s i s ,s t a ) 和动态时序分析 ( d y n a m i ct i m i n g a n a l y s i s d t a ) ,主要用来避免设计中的时序异制1 7 | 。 传统上是采用动态仿真来对设计的功能和时序进行验证。随着设计向高集成 度和系统化不断发展,验证所需要的测试矢量以指数增长,且这种方法难以保证 足够的覆盖率。在复杂的系统设计中,如果仅采用传统的动态仿真的方法,则时 间以及工作量均难以承受i l8 1 。 静态时序分析可以降低验证的复杂性。它提取整个电路的所有时序路径,通 过计算信号在路径上的传播延迟,找出违背时序约束的错误,主要是检查建立时 间( s e t u pt i m e ) 和保持时间( h o l dt i m e ) 是否满足要求,建立时间和保持时间通过 对最大路径延迟和最小路径延迟的分析得到。静态时序分析的方法不依赖于激 励,且可以遍历所有路径,具有运行速度快、占用内存少的优点,弥补了动态时 序验证的缺陷,适合进行复杂设计的验证【i9 1 。时序分析工具目前主要有 p r i m e t i m e 、t i m ec r a f t 和t i m ed i r e c t o r 等。 动态时序分析即门级仿真,主要用于静态时序分析时被忽略掉的路径的验 证,如错误路径、多周期路径及其异步逻辑等。随着工艺的提高,静态时序分析 无法精确的对串扰等动态效应进行验证,而通过动态时序分析与静态时序分析相 结合的方法不仅可以对建立和保持时间进行验证,还能够利用动态技术来验证串 扰效应以及动态地模拟时钟网络 2 0 1 。 1 3 本文研究内容与章节安排 本文主要研究视频格式转换芯片中图像处理引擎的功能验证与时序验证 第一章,首先介绍了本文的课题背景,随着s o c 系统集成度和复杂度的不 断提高,验证在芯片设计流程中所占的比重越来越高,并直接影响芯片流片的成 功率。之后对验证的基本概念和流程进行了叙述,并重点对功能验证和时序验证 进行了介绍。 第二章,首先对视频格式转换芯片进行了简单介绍,并重点对图像处理引擎 的功能和架构进行了说明。之后对类定向测试的方法进行了分析,在验证计划中 第一章绪论 拟采用该方法加快验证进度。最后根据引擎的所要实现的功能制定了详细的验证 计划。 第三章,以v m m 方法学推荐的分层验证平台结构为指导,详细分析了平台 的架构及其各个部分之间数据的交互。 第四章,使用p t 对图像处理引擎进行了静态时序分析,并对报告结果进行 了详细的分析。 第五章,使用验证平台对图像处理引擎进行验证。首先对类定向测试方法进 行了仿真分析,证明该方法能有效提高覆盖率收敛速度。之后对图像处理引擎的 输出v e s a 时序进行了分析。最后以峰值信噪比和人眼直接观察法对引擎的图像 处理效果进行了分析。 第六章,为本文的总结与展望。 第二章图像处理引擎的功能验证计划 第二章图像处理引擎的功能验证计划 2 1 视频格式转换芯片介绍 视频电子标准协会( v i d e oe l e c t r o n i c ss t a n d a r d sa s s o c i a t i o n ,v e s a ) 是由代 表来自世界各地的、享有投票权利的1 4 0 多家成员公司的董事会领导的非盈利国 际组织,总部设立于加利福尼亚州的m i l p i t a s ,1 9 8 9 年由n e c 及其他8 家显卡 制造商赞助成立,致力于制定计算机和小型工作站视频设备标准,即v e s a 标准 【2 l 】。v e s a 时序标准如图2 1 所示。 竺匠刁豳囫 一肿c 嚆斗嘏:一“a d d r e s 妣”v t 跏絮器嘲s y n c 嚆斗一 _ 竺厂厂 一! 竺厂厂 鬯! 兰! = 厂l 图2 - i 中的v i d e o 信号是r 、g 、b 像素信号。场同步信号v s y n c n 与行同步 信号h s y n c 在形式上是完全一致的,只是二者的高、低电平的维持时间各不相同。 对于场同步信号v s y n c ,可以将信号分为:行有效区和消隐区。在同步信号 的行有效区间内驱动显示器进行显示;在消隐区,没有数据输出,显示黑屏。而 消隐区又分为:同步前肩f r o n t p r o c h 、同步期、同步后肩b a c k p r o c h 。行有效区 分为:顶边框t o pb o r d e r 、有效显示期a d d r e s s a b l ev i d e o 、底边框b o t t o mb o r d e r 。 对于行同步信号h s y n c ,可以将信号分为:视频显示区和消隐区。在同步信 号的视频显示区间内驱动显示器进行显示;在消隐区,没有数据输出,显示黑屏。 而消隐区又分为:同步前肩f r o n tp r o c h 、同步期s y n c 、同步后肩b a c kp r o c h 。 视频显示区分为:左边框l e f t ( t o p ) b o r d e r 、有效显示期a d d r e s s a b l ev i d e o 、右边框 r i g h t ( b o t t o m ) b o r d e r 。 在不同的分辨率下,行、场同步信号的形式是一致的,只是前肩、同步期、 后肩、有效数据区、左边框、右边框、项边框、底边框的保持时间会有所不同。 第二章图像处理引擎的功能验证计划 在视频格式转换芯片中,额外定义了参考信号r e f ,包括场参考信号v r e f 和行参考信号h r e f o r e f 信号的高电平区间即对应v s y c n 和h s y c n 的有效显示期。 视频格式转换芯片主要把模拟视频信号通过a d 转换为数字信号,再通过一 系列的数字信号处理,最后输出特定制式的数字v e s a 视频信号【2 2 1 。视频格式 转换芯片主要由d p l l a d 、模式识别、中央主控状态机、图像处理引擎和i i c 接口构成【2 3 】。视频格式转换芯片的架构如图2 2 所示。 图2 - 2 视频格式转换芯片架构 输入的场同步信号v s y n c 、行同步信号h s y n c 被送入模式识别模块( m o d e d e t e c t ) 进行处理,输入模拟图像信息被送入a d c 转化为数字的信号,p l l 则 负责根据检测到信息产生相应的像素时钟。前级的输出信号分别被送入中央主控 状态机( c e n t e rf s m ) 和图像处理引擎( i m a g ep r o c e s se n g i n e ,i p e ) 。视频格式 转换芯片支持外部的m c u 和内部的l u t 分别通过本地寄存器总线( l o c a l r e g i s t e rb u s ) 对内部的寄存器组进行配置。主控状态机一方面负责对i i c 接e l 和查找表( l o o ku pt a b l e ,l u t ) 进行仲裁,另一方面对图像处理引擎进行控制。 图像处理引擎是视频格式转换芯片的核心,主要负责对前级输入的数字信号进行 处理,并输出符合输出制式要求的v e s a 时序和像素数据。图像处理引擎主要由 缩放模块( s c a l e r ) 、肤色调整模块( f l e s ht o n ec o r r e c t i o n ,f t c ) 和时序生成模 块( t i m i n gg e n e r a t o r , t g ) 组成。缩放模块主要用来满足不同制式间分辨率不同 的要求,f t c 则对图片中接近人体肤色的区域进行调整,t g 则负责生成v e s a 时序。 第二章图像处理引擎的功能验证计划 2 2 图像处理引擎介绍 2 2 1 图像处理引擎的功能 图像处理引擎主要支持以下功能: 同种帧频下不同制式之间的转换 由于面积和功耗的限制,图像处理引擎中没有帧缓存,故而只支持同种帧频 下标准v e s a 制式之间的转换。所支持的输入输出制式如表2 1 所示。 表2 1 图像处理引擎支持的输入输出制式 编号视频制式帧频h z 0 18 0 0 * 6 0 05 6 0 28 4 8 * 4 8 06 0 0 36 4 0 * 4 8 06 0 0 48 0 0 * 6 0 06 0 0 51 2 8 0 拳7 6 8r e d b l a n k i n g6 0 0 6l3 6 0 * 7 6 86 0 0 7l2 8 0 * 7 6 86 0 0 8l0 2 4 * 7 6 8 6 0 0 91 4 4 0 木9 0 0r e d b l a n k i n g6 0 1 014 4 0 * 9 0 06 0 1 112 8 0 * 9 6 06 0 1 21 2 8 0 1 0 2 46 0 1 3 14 0 0 10 5 0r e d b l a n k i n g 6 0 1 4 1 4 0 0 1 0 5 0 6 0 1 51 6 0 0 * 1 2 0 06 0 1 61 6 0 0 * 1 2 0 06 5 1 7 10 2 4 * 7 6 87 0 1 81 6 0 0 * 1 2 0 07 0 1 96 4 0 * 4 8 07 2 2 08 0 0 * 6 0 07 2 2 l6 4 0 * 4 8 0 7 5 2 28 0 0 * 6 0 07 5 2 310 2 4 * 7 6 87 5 第二章图像处理引擎的功能验证计划 2 4 1 2 8 0 7 6 87 5 2 51 1 5 2 * 8 6 47 5 2 614 4 0 9 0 07 5 2 71 2 8 0 * 1 0 2 47 5 2 81 4 0 0 1 0 5 07 5 2 96 4 0 * 4 0 08 5 3 06 4 0 * 4 8 08 5 3 18 0 0 * 6 0 08 5 3 210 2 4 7 6 88 5 3 314 4 0 * 9 0 08 5 3 412 8 0 * 9 6 08 5 3 51 2 8 0 1 0 2 48 5 3 6 1 4 0 0 1 0 5 08 5 支持不同的缩放模式 针对不同的标准v e s a 输入输出制式组合,图像处理引擎支持以下缩放方 式:线性缩放、非线性缩放、加黑边缩放【2 4 1 。图像处理引擎通过检测非线性使能 和加黑边使能信号的状态进一步判断进行何种缩放。 当非线性使能信号有效时,如果输入输出为普屏到宽屏,且水平分辨率和垂 直分辨率均增大时,图像处理引擎进行非线性缩放。 当非线性使能信号无效、加黑边使能信号有效时,如果输入输出为普屏到宽 屏,且水平分辨率增大时,图像处理引擎进行加黑边缩放。 当非线性使能信号无效且加黑边使能信号无效时,图像处理引擎进行线性缩 放。 即三者优先级:非线性 加黑边 线性缩放。 支持f t c 肤色调整功能 f t c 主要原理如下:通过矩阵变换把像素数据从r g b 空间转换到y i q ( y 代表亮度,i 和q 均代表色度) 空间;对于人体肤色,其i 和q 值总是落在i q 坐标系中以原点为中心的矩形区域中的;通过对矩形区域范围进行设定,从而确 定所要处理的像素点:对矩形区域内的像素点可以进行i 和q 值的增减从而获得 相应的处理效果,最后再把处理后的点从y i q 空间转回r g b 空间【2 5 】。i q 矩形 区域的上下限、i q 值的增减以及增减系数既可以通过外部m c u 进行配置,也可 以通过内部的l u t 实现。 第二章图像处理引擎的功能验证计划 2 2 2 图像处理引擎的架构和端口说明 图像处理引擎架构如图2 3 所示。 图2 - 3 图像处理引擎的架构 t i m i n g s i g n a l s a n d r g b 图像处理引擎主要由以下几个模块组成:f i f o ,兴趣区域检测( i n t e r e s t i n g a r e ad e t e c t 。i a d ) ,缩放模块,肤色调整模块,时序生成模块和参数控制模块 ( p a r a m e t e rc o n t r 0 1 ) 组成。 由于图像处理引擎处于三个时钟域:输入像素时钟域,最快时钟域、输出像 素时钟域。i a d 处于输入像素时钟域。当输出制式相对于输入制式水平是放大而 垂直是缩小时,水平缩放计算的一帧图像插值点总数将会高于输出制式一帧图像 总像素点数,此时输出像素时钟将无法满足水平部分的要求。故选择高于所有输 出制式像素时钟的全局最快时钟作为水平部分的处理时钟。输入像素时钟域和最 快像素时钟域之间的通信,需要异步f i f o 。s c a l e r 的垂直部分、f t c 和t i m i n g g e n e r a t o r 处于输出像素时钟。最快时钟域与输出像素时钟域的通信也使用了异 步f i f o ,由于该f i f o 处于s c a l e r 模块中,图中并没有标出。 l a d 模块主要是根据肤色区域和角点的计算,对图片中的兴趣区域进行确定 供非线性缩放时使用。在非线性缩放时,对于兴趣区域引擎将进行线性缩放,非 兴趣区域则进行非线性缩放。l a d 只有在进行非线性缩放时才进行工作。 s c a l e r 模块为缩放模块,主要负责根据输入输出制式对输入图形进行放大或 缩小,一共有三种缩放模式:线性缩放、加黑边缩放和非线性缩放。模块分为水 平缩放部分和垂直缩放部分,在非线性缩放时水平部分采用双三次差值而垂直部 分一直使用线性差值。 人在观赏图片以及视频时,对于图形中的人物尤其是肤色区域较为敏感。 第二章图像处理引擎的功能验证计划 f t c 模块主要负责检测图像中接近人体肤色的像素点并进行相应的调整,使得图 像中人物的肤色更柔和,增加视觉享受。f t c 主要把r g b 数据通过矩阵转换到 y i q 空间,人体肤色像素数据的i 值和q 值一般是固定在一个区间范围内,通过 对范围内的数据进行处理并转换回r g b 空间从而实现肤色调整功能。 时序生成模块负责把f t c 输出的数据进行处理,之后输出符合v e s a 视频 标准的场和行同步信号、参考信号和像素值。 图像处理引擎的端口如表2 2 所示。 表2 2 图像处理引擎的输入输出端口 端口名输出输出位数有效 功能描述 c l ki n i n p u t 1输入像素时钟 c l km o s t i n p u t 1最快时钟 c l ko u t i n p u t l输出像素时钟 r e s e tn i n p u t 1 低电平 全局异步复位 s c a l e re l l i n p u t 1高电平缩放使能,无效时直接输出黑像素 v f e f i n p u t 1输入场参考信号 v s y n ci n p u t l输入场同步信号 h r e f i n p u t 1输入行参考信号 d a t ai n i n p u t 2 4输入像素( r g b ) w i d t l lo l di n i n p u t 1 1输入制式每行像素数( 宽度) h e i g h to l di ni n p u t 1 1输入制式每列像素数( 高度) w i d t hn e wi n i n p u t 1 1 输出制式每行像素数( 宽度) h e i g h tn e wi ni n p u t 1 1 输出制式每列像素数( 高度) w i d 曲v a l i di ni n p u t 1 1输出制式每行有效像素数( 长度) f u n c t i o ni n i n p u t 2高电平 【1 非线性使能【0 】加黑边使能; h dc h a n g ei n i n p u t 1高电平 普屏到宽屏标志位 w hr a t i oo l di n i n p u t 3输入制式宽长比 w hr a t i on e wi n i n p u t 3输出制式宽长比 c o l l c o l 7 i n p u t 1 l 肤色统计块的边界参数 s k i nt o n et h i n p u t 1 6被检测块被判定为肤色块的阈值参数 h a r r i st h i n p u t 1 0 被检测块被判定为角点块的阈值参数 m o d e i ni i n p u t 8输入制式编码 m o d e o u ti i n p u t 8输出制式编码 第二章图像处理引擎的功能验证计划 f t ce ni n i n p u t 1高电平肤色调整使能 ia d d o r s u bi n i n p u t 11 为i 增加,0 为i 减小 qa d d o r s u bi ni n p u t l1 为q 增加,0 为q 减小 ii n fi n i n p u t 8肤色检测区域i 下限 i s u pi ni n p u t 8肤色检测区域i 上限 qi n fi ni n p u t 8肤色检测区域q 下限 qs u pi ni n p u t 8 肤色检测区域q 上限 ic o ei n i n p u t 8肤色调整i 系数 qc o ei ni n p u t 8肤色调整q 系数 wv s y n ci n i n p u t 8输出制式场同步信号脉冲宽度 wh s y n ci n i n p u t 8输出制式行同步信号脉冲宽度 wv b r e fi n i n p u t 8 输出制式场同步信号脉冲+ 后肩 wh b r e fi n i n p u t 8 输出制式行同步信号脉冲+ 后肩 wv r e fi n i n p u t 1 6输出制式场参考信号脉冲宽度 wh r e fi i l i n p u t 1 6 输出制式行参考信号脉冲宽度 wvti n i n p u t 1 6 输出制式场同步信号总宽度 whti n i n p u t 1 6 输出制式行同步信号总宽度 vs y n cpii n i n p u t 1输出制式场同步信号脉冲极性,l 为正 hs y n cpii n i n p u t l 输出制式行同步信号脉冲极性,1 为正 v r e fo u t o u t p u t 1 输出场参考信号 h r e fo u t o u t p u t 1输出行参考信号 v s y n co u to u t p u t l输出场同步信号 h s y n co u to u p u t 1 输出行同步信号 ro u t o u t p u t 8输出r 数据 go u t o u t p u t 8输出g 数据 bo u t o u t p u t 8输出b 数据 2 3 类定向测试 2 3 1 覆盖率驱动的权重约束随机化 功能覆盖率的收敛技术( c o v e r a g ec o n v e r g e n c et e c h n o l o g y , c c t ) 旨在通过自 动实现该循环:产生随机激励_ 功能覆盖率分析、确定覆盖盲点_ 修改约束_ 产 1 4 第二章图像处理引擎的功能验证计划 生随机激励,最终在给定时间内达到较高的覆盖率【2 制。 c c t 的基本原理是根据每次仿真后的c o v e r a g e 信息来控制下一次随机变量 的生成。相对传统简单改变随机种子的方法,c c t 记录当前的功能覆盖率信息: 随机变量的采样值和采样次数、各覆盖组和覆盖点的覆盖率、总覆盖率等,并以 此为依据约束随机变量的生成,提高覆盖盲点被击中的概率,减少重复配置,使 覆盖率快速收敛。 覆盖率为驱动的权重约束随机化方法以c c t 为指导、实时的覆盖率信息为 依据,通过动态的修改权重约束,最终达到加快覆盖率收敛的目的。 当系统的功能点比较少时( 如1 0 0 ) ,可以直接在约束中对各个功能点赋以权 重。每次随机化完成后,依据随机变量的采样值和击中次数等覆盖率信息,相应 的减少对应权重,其他功能点对应的权重保持不变,从而保证下次随机化时,已 被击中的功能点被采样的概率降低、未覆盖到的功能点被采样的概率提高。具体 实现方法如下:初始化时,随机变量的所有可能值( n 种) 赋以相同的初始权重 w e i g h t b : 。每种可能被击中的概率为 ;每a-weight- - w e i g h tn = i n iw e i g h t 1 n 次随机化后,采样值对应的权重w e i g h ti 减少s u b * 2 1 - h i t _ i ,即w e i g h t i = w e i g h ti s u b * 2 1 m t _ i ,式中s u b 为固定的权重减少值,h i ti 为采样值对应的被击中次数。 当系统的功能点较多时( 如1 0 0 0 0 ) ,对所有功能点均赋以权重并加以动态的 约束是不现实的。采用组合随机的方式产生m * n ( 如1 0 0 1 0 0 ) 个功能点,只需 要对m + n ( 10 0 + 1 0 0 ) 个权重值进行修正,这是可以接受的。而且相对于传统的 直接随机,组合随机本身就更加容易击中边界条件、覆盖盲点,收敛速度更快。 当功能点不能用m * n ( m 、n 均不为1 ) 表示时,可以扩大功能点的范围,然后 在覆盖组中用相应语句忽略掉多余的功能点。组合随机中,采样到的功能点唯一 对应一个m 值和一个n 值,每种可能被击中的概率为1 ( m n ) 。显然当一种可 能( m i n i ) 被击中时,就把m i 和n ;对应权重值降低的反馈约束是不可取的,这 样会同时降低m i n 。( s j ) 、m t n j ( t i ) 被击中的概率。可以把与m i 相关的所有 可能被击中作为标志( m a r ki = 1 ) ,之前在覆盖率收敛速度较慢时引入类定向测 试、之后把m j 对应的权重降低,从而加快覆盖率的收敛。 2 3 2 类定向测试方法 类定向测试指在c r t 中通过调整权重分布,直接提高未被击中的若干功能 点的权重,从而增加下次随机化时被击中的概率。相对于直接编写测试矢量集的 定向测试,类定向测试可以在加快覆盖率收敛速度的基础上兼顾对各个功能点之 间的关系进行测试,测试更加全面,人力和时间成本较低。 第二章图像处理引擎的功能验证计划 验证过程中,随着时间推移,

温馨提示

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

评论

0/150

提交评论