




已阅读5页,还剩58页未读, 继续免费阅读
(电路与系统专业论文)多媒体soc芯片中gpu的功能验证平台设计.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
浙江大学硕士学位论文 摘要 摘要 在集成电路设计中,验证的工作量占到了全部设计工作量的7 0 。在各种形 式的验证中,功能验证是十分重要的一种。快速、有效的建立功能验证平台是集 成电路验证领域一项十分重要的研究课题。 本论文课题来源于一款多媒体s o c 芯片的设计项目,主要研究了其子系统 ( 模块) g p u 的功能验证平台的设计,并在f p g a 硬件平台实现了功能验证平 台。论文概述分析了功能验证的基本概念以及技术特点,介绍了g p u 的结构和 数据流,并以上述两者为出发点对g p u 的功能验证进行了规划,提出了功能验 证方案。论文介绍了验证平台的构成,包括内存及其接口解决方案、总线转换模 块及总线功能模型的设计。 本文最终以r t l 仿真和f p g a 硬件平台两种形式实现了功能验证平台,并 采用软硬件协同的方式对g p u 进行了功能验证。这一方面弥补了r t l 仿真速度 慢的缺点,另一方面也弥补了f p g a 硬件平台上可控制性和可观察性差的缺点, 提高了验证效率。 关键词:功能验证,a m b a 总线,j t a g ,总线功能模型,g p u ,f p g a 浙江大学硕士学位论文 a b s t r a e t a b s t r a c t i ni cd e s i g n , v e r i f i c a t i o na c c o u n t sf o r7 0 o fa l ld e s i g nw o r k f u n c t i o n a l v e r i f i c a t i o ni sa l li m p o r t a n to n ei nv a r i o u sf o r m so fv e r i f i c a t i o n r a p i da n de f f e c t i v e e s t a b l i s h m e n to ff u n c t i o n a lv e r i f i c a t i o np l a t f o r mi sav e r yi m p o r t a n tr e s e a r c ht o p i ci n i cd e s i g n b a s e do nt h ep r o j e c to fam u l t i m e d i as o cc h i pd e s i g n , t h i sp a p e rm a i n l yd e s c r i b e t h ef u n c t i o n a lv e r i f i c a t i o np l a t f o r mf o rg p u o n eo ft h es u b s y s t e m s ,a n df i n a l l y r e a l i z e st h ep l a t f o r mo nf p g a n l ep a p e ra n a l y z e st h eb a s i cc o n c e p ta n dt e c h n i c a l f e a t u r e so ff u n c t i o n a lv e r i f i c a t i o n i n t r o d u c e st h es t r u c t u r ea n dd a t a f l o wo fg p u t h e p a p e rm a k e sap l a nf o rf u n c t i o n a lv e r i f i c a t i o no fg p u ,d e s c r i b e st h ec o m p o n e n t so f t h ef u n c t i o n a lv e r i f i c a t i o np l a t f o r m i n c l u d i n gd d ri n t e r f a c es o l u t i o n , b u sc o n v e r t e r m o d u l ea n db u sf u n c t i o nm o d e l n 伦p a p e rf i n a l l y r e a l i z e st h ef u n c t i o n a lv e r i f i c a t i o np l a t f o r m u s i n g i 玎l s i m u l a t i o na n df p g a t h ep a p e ra c h i e v e st h ef u n c t i o n a lv e r i f i c a t i o no fg p ub a s e d o nt h ec o - w o r k i n go fr t ls i m u l a t i o na n df p g ah a r d w a r es i m u l a t i o nw h i c hm a k e su p t h es h o r t c o m i n go ft h et w om e t h o d s ( s l o ws p e e df o rr t ls i m u l a t i o n , u n e a s yt o c o n t r o la n do b s e r v ef o rf p g as i m u l a t i o n ) 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 , a m b ab u s ,j t a g ,b u sf u n c t i o nm o d e l ,g p u , f p g a i i i 浙江大学硕士学位论文 致谢 致谢 两年多研究生阶段的学习,不仅使我在学术上受益良多,而且在思想上和人 生的态度上有了更清晰和深刻的思考与认识。借此机会,我要向所有教导和帮助 我的老师、同学、朋友及家人表示深深的感谢。 首先我要向我的导师王维维老师表示衷心的感谢。王老师既是我的导师,又 是我的班主任。他不仅在学习上为我提供了良好的环境,而且在生活和思想给予 了我无私的指导和帮助。 其次我要特别感谢我的指导老师潘赞老师。潘老师学术造诣高深,在我两年 多的研究生阶段中一直给予我学习上的指导,使我能够在学术上不断取得进步。 除此之外,潘老师更是我思想上的导师,不仅为我排解思想上的困惑,更为我的 人生指明了方向。 感谢丁勇老师在学习和生活中对我的指导和帮助。丁老师对我的论文进行了 悉心的指导,使我能够顺利完成论文。 感谢程爱莲师姐、万民永师兄和王一木师兄在学习中对我的指引和帮助,感 谢他们能够不厌其烦地对我学习中遇到的问题答疑解惑。 感谢郑宁、孙纲德、宋文华、叶森、张渊、贾梦楠、刘晓东、张东、刘钧石 等同学对我的支持和帮助,他们构成了我研究生阶段最美好的回忆。 在文中引用了部分兄弟院校的研究成果,在此表示感谢。 最后,我想对一直关心、支持我的家人和朋友表达衷心的感谢。 曹晓阳 2 0 1 2 年2 月于杭州 浙江大学硕士学位论文 第l 章绪论 第1 章绪论 1 1 课题背景及来源 1 1 1 设计能力与制造能力的差距 从1 9 4 9 年第一个晶体管的诞生至今,集成电路技术【1 】冈依照着摩尔定律快速 的发展着。半导体工艺尺寸不断减小,片上晶体管数量和芯片复杂度不断增加。 集成电路的规模也经历了小规模、中规模、大规模、超大规模、的演变。 1 0 9 1 0 8 1 0 7 1 0 6 昌体管 数量1 0 5 1 0 4 10 3 1 0 2 1 0 1 1 0 0 份 图1 1 摩尔定律 单纯从半导体制造技术的发展来看,芯片的集成度在未来数十年仍将按照摩 尔定律增长。但不幸的是,我们的设计效率却在拖后腿。图1 2 显示了集成电路 软硬件设计效* - 9 摩尔定律之间的差距【3 】 闻时 n n 曷蜀高t 1 _ 岛n _ 品 距 。嚣 差计设 8 品 件 硬 磊 软 2 蓉p 图 n 蜜i _ 国- 留o pp _ 爵p 浙江大学硕士学位论文 第1 章绪论 正因为如此,集成电路的设计方法也不得不发展和创新。传统的全定制设计 方法已经不能适应集成电路发展的需求,取而代之的是基于口可重用的半定制 设计方法,即我们通常所说的系统级芯片设计 2 1 1 4 5 】【6 】( s y s t e mo nc h i p ,s o c ) 。 借助计算机辅助设计工具( e d a ) ,设计者可以基于各种经过验证的i p 来构 造芯片级的系统。这种设计方法的有点在于:1 ,设计者不用考虑i p 的内部结构, 只需要懂得如何使用i p 就行,从而将更多的精力放在系统层面的设计上;2 ,经 过验证的i p 可以被复用,从而减少设计的工作量,继而增加设计效率。 尽管如此,从图1 2 中可以看出,设计能力与摩尔定律依然有着差距。我们 仍需从设计的各个方面进行改进、创新以适应技术的发展。 1 1 2 数字i c 设计流程 按照所设计系统的性质,可将集成电路设计流程分为数字集成电路设计流程 7 1 和模拟集成电路设计流程。当然,在一个实际的系统中,一般会同时包含数字 部分和模拟部分。但往往在一个s o c 系统中,数字部分会占据绝大部分的设计 工作,因此设计工作的重心往往在数字设计方面。本次论文也仅涉及数字i c 的 设计及验证。 如前所述,目前的数字i c 设计已经不是传统全定制的功能模块的逻辑设计, 而更多的倾向于基于i p 复用的系统级集成与实现,也就是常说的s o c 设计。设 计的形式在发生变化,设计者的关注点从逻辑设计提升到了系统集成,但是数字 i c 的设计流程却并未发生太大变化。图1 3 展示了通用数字i c 的设计流程。 图1 3 数字l c 设计流程 浙江大学硕士学位论文 第1 章绪论 数字i c 的设计不是一个单向的,一往无前的流程。虽然其总体的方向是沿 着如图1 3 中白色箭头所指的方向,从系统功能定义直到量产的一系列过程。但 是在过程中会有一些反复,如虚箭头所示。例如,f p g a 原型验证中会发现r t l 实现过程中的一些问题,因此我们需要对r t l 实现做出一些改动等。 依据蝴蝶效应,初始的误差可能会在后期带来巨大的差距。因此在数字i c 设计流程中,最关键的就是前面的几个步骤。详尽准确的系统功能定义是整个系 统设计的基础,所有的设计工作及验证工作都以此为出发点。r t l 实现及f p g a 原型验证是系统功能定义的具体体现,是我们所设计的系统的实体,它们必须要 完整的反映系统功能定义。前三步的设计属于数字i c 设计的前端,也是最耗时 的步骤。这三个步骤是人为参与度最高的,而后面的流程大多基取决于工具。所 以前三个步骤是i c 设计流程中最核心,最关键的部分。 1 1 3 课题来源 作者在过去的一年中参与了一款多媒体s o c 芯片的设计工作。课题的工作 是设计一款6 5 n m 工艺下的多媒体s o c 芯片,该芯片内置c p u 以及g p u ,可用 于移动多媒体终端的图像、视频处理。作者参与了s o c 芯片中子系统( g p u 等) 的验证方案的制定,为其设计功能验证平台,并且实现了r t l 仿真和f p g a 原 型验证。 1 2 功能验证概述 1 2 1 验证和功能验证 验证的概念不是i c 设计中独有的, 述,数字i c 设计的流程始于系统规范, 而是深入现实生活的各个角落。如前所 即对系统功能的定义。如何检验设计工 程师依据自己主观理解所设计的系统是否符合规范? 这是一个十分重要而关键 的问题。不能解决这一问题,那么所设计的系统的可信度就会非常低,因而验证 是必不可少的。 有统计表明,当前i c 设计中,验证的工作量占了所有工作量的7 0 左右【8 1 。 验证所需的人力、物力远远超过设计所需。对于集成电路产业,尤其是 t i m e t o m a r k e t 的消费类电子产业来讲,如何提高验证效率、缩短验证时间始终 是一个关键问题。 浙江大学硕士学位论文 第1 章绪论 1 ) 并行化 并行化是提高效率的常用手段。在验证中,有些工作是可以并行进行的,例 如软件平台的仿真和硬件平台的仿真可以同时进行,这样就可以有效的节省时间。 软硬件协同也可以算是并行化的一种。 2 ) 抽象化 从验证计划的制定到最终验证的实现,是一个自上而下的过程。并且,验证 系统是分层次的。采用面向对象的封装,将验证平台的底层细节进行封装,而在 最高层次提供简单、抽象的接口,就可以有效的减少验证的工作量。 3 ) 自动化 在设计以及验证中,将全部或部分的过程实现自动化,不仅能够提高效率, 而且可以减少人为的错误。目前有很多脚本工具,如p e r l 、t c l 、s h e l l 等,可以 很容易的实现一些自动化的文本分析、流程控制等工作。 在验证中,遵循上述指导原则,就可以有效的提高验证效率。 r t l 编i 马 图1 4 功能验证路径 功能验证是验证的内容之一,同时也是最关键的内容。其目的在于检验设计 是否符合规范。图1 4 展示了功能验证的路径。设计者按照规范进行r t l 代码的 编写,在主观上设计者会认为其编写的代码在功能上符合规范,但这是没有保证 的,因此必须对r t l 进行功能验证。但有一点必须明白,那就是,功能验证只 能尽可能的展示r t l 与规范相符合,但却没法证明这一点。 功能验证可以分为基于模拟的验证和形式验证两类阿1 0 1 。 1 2 2 基于模拟的验证 功能验证的众多方法中,基于模拟( 仿真) 的验证是使用的最多、最重要的 一种方法。其基本思路即是在模拟器上模拟实际电路的工作环境对被测设计进行 验证。图1 5 展示了基于模拟的验证的基本方法,即我们常见的测试平台。 4 浙江大学硕士学位论文 第1 章绪论 图1 5 基本测试平台 图1 6 则展示了基于模拟的验证的标准流程。 基于模拟的验证包括测试用例、测试平台、黄金模型( 参考模型) 、仿真器 四个部分。 图1 6 基于模拟的验证 其基本步骤是: ( 1 ) 根据设计规范和测试规范,建立测试平台,设计测试用例( t e s t c a s e ) 以产生测试激励和响应检查; ( 2 ) 在模拟器上进行模拟,将测试用例产生的激励输入到硬件描述语言代 码模型的被测设计中; ( 3 ) 将输出与标准结果相比较,从而达到功能验证的目的。 图1 6 中包含了总线功能模型【】( b u sf u n c t i o nm o d e l ,b f m ) ,其作用在于对 待测设计的复杂总线接口进行封装,为激励的输入以及响应的输出提供一个简单 方便的接1 2 ,具体将在后续章节介绍。 浙江大学硕士学位论文 第i 章绪论 模拟器在软件环境下可以采用v c s 、m o d e l s i m 等,主要目的在于提供代码 编译的环境以及事件的驱动,而在硬件环境下则不需要。 基于模拟的验证一般有三种实现方法【8 1 :黑盒法、白盒法、灰盒法。 黑盒验证 采用黑盒法进行功能验证时,验证者并不需要关注被验证对象的内部结构, 验证实例的设计也与验证对象的具体实现方式、内部结构、模块构成等无关,只 依据设计规范来产生。验证者只了解被验证对象的边界行为,而并不知晓设计者 对于验证对象内部行为的期望。这就是黑盒验证的有点,测试用例与实现形式无 关,因此黑盒验证是真正的一致性验证。其缺点在于,在大规模设计中,这种方 法很难检查出验证对象内部的缺陷。 系统功 能定义 验证 过程 图1 7 黑盒验证 白盒验证 白盒法,顾名思义,其对设计内部结构和实现具有完全的观测能力和控制能 力。其测试平台及实例的设置与验证对象的特定实现是相关联的,其优点就是可 以很快速的设置感兴趣的状态或输入,观测输出结果,以验证是否与预期相符合。 但确定就在于测试平台与设计实现相关,设计的修改也意味着测试平台需要进行 修改,验证的可重用性和可移植性不高。 6 浙江大学硕士学位论文 第l 章绪论 系统功 能定义 验证 过程 图1 8 白盒法 灰盒验证 灰盒法是前面两种方法的折中,像黑盒验证方法一样,灰盒方法通过设计的 顶层接口进行观察和控制。同时,针对特定实现的特殊功能进行专门的验证。典 型的灰盒方法是对设计做某些非功能性的修改以提高可观测性和可控性,例如, 增加可以通过软件访问的寄存器以控制或观测内部状态、加速实时计数器、强制 引发异常或修改待处理数据的数量以减少验证时间。这些增加的寄存器或功能在 正常的操作中不会起任何作用,但在首个原型系统的集成阶段非常有用。 1 2 3 形式化验证 形式化验证是采用数学推理和分析,而非模拟的方法来证明设计是否满足系 统规范的特征。形式化验证的优势在于,其证明的结果可以保证l o o 的正确性。 但由于采用了穷举的方式进行验证,当被测设计的复杂度提高时,数学证明的状 态空间也将成爆炸性的增长。因此,形式化验证仅适用于小规模的设计。 形式化验证的方法目前有很多种,常见的如等效性检查、模型检查和定理证 明等。关于形式化验证的更多内容可以参考相关文献,由于不是本文的重点,因 此不详述。 形式化验证的一般流程如图1 9 所示。 浙江大学硕士学位论文第1 章绪论 图1 9 形式化验证流程 1 3 论文内容及章节安排 本文通过对当前i c 验证方法的探讨,提出一种适合多媒体s o c 芯片子系统 ( g p u ) 的功能验证平台,以总线转换模块、d d r 3 解决方案等为基础,详细讨 论了包含激励产生、结果检查的测试平台架构,提供了r t l 仿真和f p g a 原型 验证两种形式的验证平台,并对子系统g p u 进行了验证。秉承当前i c 设计的主 流思想,我们将以基于i p 的芯片级系统集成为基本设计思路,尽量使用可靠以 及可重用i p 来构造我们的平台。 论文的章节安排如下: 第一章为绪论,介绍课题背景及来源,对功能验证的概念以及三种验证方法 ( 黑盒法、白盒法、灰盒法) 做了概述和分析,并介绍了论文研究内容及章节安 排。 第二章论述了多媒体s o c 子系统g p u 的功能验证方案设计。对课题的g p u 结构做了简要介绍,分析了g p u 系统数据流,并以此为依据设计了功能验证方 案。同时,对作为验证系统必要部分的内存及其接1 :2 解决方案做了简要介绍。 第三章论述了测试平台的构成之一一一总线转换模块的设计。详细介绍了总 线协议、模块结构、设计思路及过程,并介绍了与之关系密切的总线功能模型。 第四章介绍了g p u 功能验证平台的整体实现、r t l 仿真、f p g a 硬件平台, 并展示了仿真结果和硬件效果图,对两种仿真的实际性能做了简述和比较。 第五章,总结与展望。 浙江大学硕士学位论文 第2 章多媒体s o c 中g p u 的功能验证方案设计 第2 章多媒体s o c 中g p u 的功能验证方案设计 2 1g p u 概述 g p u 1 2 1 ,全称g r a p h i cp r o c e s s i n gu n i t ,图形处理器,是专门用于处理图形 数据的运算单元。g p u 的主要作用是进行多边形转换和光源处理( t r a n s f o r ma n d l i g h t i n g ,t & l ) 。图2 1 展示了课题中设计的g p u 的流水线结构。 从i 主机 b f u 寄 存器 d 撇 j 原始藏 1 点数据 r _ 1 1 体i 顶点着i l 色器| i 经过处理的 广_ 土二; _ 叫几何光l 一 鼬l yz 缓冲 一栅单元l 一 厂j l _ 1 故理坐捶r 1 l 2 | 尝嗣色器| 一波单元i 糍徉 缓存 匹- 一 i 像素处1 黼色禧援瀑摩缰存 一 一i 帧缓 理单元i 一 i 冲区 图2 1g p u 流水线结构 、 灰色阴影区域是g p u 的核心部分。 d m a 具有a x i 主机接口,它从d d r 中获取原始顶点数据和几何体数据, 分别交给顶点着色器和几何光栅单元。 顶点着色器实现各种复杂顶点运算,主要包括顶点位置的矩阵变换、光照运 算、纹理坐标的生成与转换以及应用程序指定的特殊的顶点操作等。它将经过处 理的顶点数据进一步交由几何光栅单元处理。 几何光栅单元主要完成以下工作:( 1 ) 剪裁,将视区范围外的顶点和多边形 剪切掉;( 2 ) 背面剔除,将图形背面的多边形剔除;( 3 ) 坐标系规划;( 4 ) 视点 变换;( 5 ) 光栅化,即将多边形,主要是三角形( 由三个顶点组成) 栅格化;( 6 ) 插值,用三个顶点的颜色等信息进行插值,每个栅格相当于一个像素,就是利用 三个像素插出一堆像素。 像素着色器将来自于几何光栅单元的像素与来自纹理缓存并经过滤波的纹 9 浙江大学硕士学位论文 第2 章多媒体s o c 中g p u 的功能验证方案设计 理像素进行一些运算,比如a l p h a 测试和混合,雾化等效果。 纹理滤波单元完成纹理滤波。 像素处理单元就是对每个像素进行操作,主要有模版测试、深度测试,混合 及抖动。 最后处理结果经l 2 缓存写入帧缓冲区,并由d m a 将处理结果搬回d d r 。 除了上述单元,g p u 内部还要一些其他控制和运算逻辑用于协调g p u 的数 据流,但在这里并未列出。所有这些单元内部都有一些可配置的寄存器,这些寄 存器中存储了各个单元正确运行所需的必要配置信息和参数。这些配置寄存器都 具备总线接1 :3 ( b u si n t e r f a c eu n i t ,b i u ) ,可以通过a h b 总线对其进行访问。 2 2g p u 系统数据流 要明白g p u 的验证,首先要清楚g p u 运作时的数据流。这里的数据是广义 的概念,包含了g p u 的配置数据、指令、处理的数据等。数据流大致如下图所 示, | 震数据流 图2 2g p u 运行数据流 对于图2 2 的解释如下: ( 1 ) 向内存( d d r ) 特定位置写入g p u 运行所需的指令及要处理的数据; ( 2 ) 对g p u 相关寄存器进行配置,以保证其处于正常的运行模式下; ( 3 ) g p u 从d d r 中读取指令,并根据指令读取相应的数据进行处理; ( 4 ) g p u 将处理结果写入d d r ; ( 5 ) 将处理结果从d d r 读出。 其中,对g p u 的配置( 数据流2 ) 是通过g p u 的a h b 接口进行的,g p u 的指令及处理数据的读写则是通过a x i 总线进行的。 l o 浙江大学硕士学位论文 第2 章多媒体s o c 中g p u 的功能验证方案设计 2 3g p i j 功能验证规划 我们在这一节对g p u 功能验证做出一些方案上的规划,其目的在于为验证 方案的具体设计设定指导原则,“凡事预则立,不预则废”,没有一个好的规划做 指导,后续的工作效率就会很低。验证规划的依据和出发点主要来自两个方面: ( 1 ) 功能验证的基本概念和基本原则;( 2 ) g p u 自身的特点。 2 3 1 验证对象 从2 1 和2 2 对g p u 的介绍,我们可以看出,g p u 是通过d d r 内存与外界 进行指令或数据的交换的。因此,g p u 的运行必然是g p u + d d r 构成的一个子 系统,而我们将以这个子系统( 后面将称为g p u 系统) 作为功能验证的对象。 作为验证对象,无论采用何种功能验证的方法,首先我们还是要把它当作一 个黑箱来处理。那么,此时我们最关注的是验证对象的对外表现,最直观的就是 其接1 2 特点。明确验证对象的接口是必不可少的一步,这关系到后续整个验证平 台的方案设计。 综合图2 1 和图2 2 ,g p u 系统对外表现为a h b 从机接1 2 ( 用作寄存器配 置) 和a x i 从机接1 2 ( 与d d r 部分关联,用作读写d d r ) 。另外还有一个a p b 从机接1 :2 用作s y n o p s y s 内存接1 :2 解决方案的控制端口,这在随后的章节中将会 具体介绍。这三个接1 :2 都是a m b a 总线规范定义的总线接1 2 ,三个接口相互之 间没有关联性,分属不同的时钟域。 a h b 从机接口和a p b 从机接口用途基本相同,都是用作系统内部配置寄存 器的控制,对时钟频率的要求不高,一般1 0 3 0 m h z 即可。 a x i 从机接口用作d d r 内存的传输接1 :2 ,经常用来读写大规模数据。d d r 3 的数据传输速率至少在8 0 0 m b p s ,由于d d r 3 是8 - b “预取,并且是双边沿数据 操作,因此a x i 的时钟频率应该在2 0 0 m h z 左右。 2 3 2 功能验证方法 在第一章中,我们对功能验证进行了概述。功能验证分为基于模拟的验证和 形式化验证。采用形式化验证时,当被测设计的复杂度提高时,数学证明的状态 空问也将成爆炸性的增长。形式化验证仅适用于小规模的设计,并不适合g p u 系统,因此我们将采用最常用的基于模拟的验证。 在基于模拟的验证中,根据规范设计多组激励和期望响应,被测设计对激励 浙江大学硕士学位论文 第2 章多媒体s o c 中g p u 的功能验证方案设计 做出响应,比较期望响应和实际响应,从而得出验证结果。期望响应的生成一般 由参考模型( 黄金模型) 来实现。 所谓黄金模型,是一种专门面向功能验证而设计的代码,代码可以是c 语 言、s y s t e mv e r i l o g 等任意形式的语言编写的。其目的在于,当对待测设计施加 相同激励时产生预期的结果,该结果可以做为t e s t b e n c h 检查器的预期响应参与 比较。黄金模型侧重于设计的逻辑功能,而不是功能实现的细节。对于g p u 的 验证,我们为g p u 设计了c 语言模型作为黄金模型。 测试用例中包含了测试激励以及标准响应。一个测试用例只验证待测设计的 一部分功能。要完整验证设计规范规定的待测设计的功能往往需要多组测试用例 来实现。 每个测试用例有其特定的验证目的,其激励和标准响应的设计是根据验证目 的和设计规范而定义的,而标准响应则往往通过黄金模型产生。当然,标准响应 也必须符合验证目的和设计规范,这也是检验黄金模型的一种基本手段。测试用 例主要是由验证工程师手工编写的。 在本次g p u 的功能验证平台设计中,测试用例以及黄金模型将由其他工程 师设计完成,因此我们将会把重点放在验证平台的整体设计上。 基于模拟的验证可以采用黑盒法,白盒法、灰盒法等方式实现。在项目中, g p u 的开发者和其验证平台的设计者是并行化的开展工作的。验证平台设计者 并不清楚g p u 的具体技术细节和内部详细构造,而只知道其端口特性。因此, 验证平台的设计将遵循黑盒法的实现方式,将g p u 系统作为一个黑盒来对待。 在实际设计时,g p u 开发者可能会在g p u 内部增加一些专门用于验证的寄存器 或模块,这些寄存器或模块在代码中通过一些预编译控制项来开关,并且对g p u 功能不产生任何影响,从而使黑盒法转换为灰盒法。 总之,我们将采用基于模拟的验证来进行功能验证,具体实现方法是采用黑 盒法。 2 3 3 软件平台v s 硬件平台 功能验证平台可以以软件的形式即r t l 仿真的形式实现,也可以在硬件平 台上实现。 浙江大学硕士学位论文第2 章多媒体s o c 中g p u 的功能验证方案设计 赋圈 模拟器 v c s l i l o d e ls ;m 基于碜铎驱 动的模襁 调试 ;鲞螽仿真波形 i 1 图2 3r t l 仿真流程 图2 3 展示了r t l 仿真的一般流程,被测设计和测试平台都以硬件描述语言 的形式存在,整个测试平台代码经过编译器编译生成可执行的仿真文件。在编译 时可以和其他一些辅助工具一起编译,例如d e b u s s y 的p l i 库,可用于记录仿真 中各信号的波形。常见的编译工具如v c s 、m o d e l s i m 等。 接下来一步,执行仿真文件,系统自动调用相应的模拟器进行仿真。仿真的 过程实际是对设计中各个逻辑运算的过程,一般采用基于事件驱动的模拟。所谓 事件,指的是模块线网中某一点的值的变化。事件有两个要素:值和时间,即在 某一事件线网的值发生了变化。事件发生后会在系统内部产生传播,从而引起一 系列其他事件的发生。模拟器记录各个事件的时间和值,并将事件按照时间顺序 放入“时间轮”。“时间轮 是类似f i f o 的一种数据结构,它可以有效的控制事 件处理的顺序,模拟器每次从时间轮顶部取事件进行处理,从而避免逻辑错误。 对于大规模的设计而言,系统的事件数量是十分巨大的,依靠模拟器进行运 算十分耗时。对于一个多媒体s o c 芯片而言,一次仿真往往花上数天的事件, 这是令人难以接受的。 浙江大学硕士学位论文第2 章多媒体s o c 中g p u 的功能验证方案设计 仿真过程中可以产生一些数据文件或波形文件,模拟器根据一些指令对这些 文件进行记录。在仿真结束后,就可以对这些文件进行分析,查看波形等,从而 进行调试。这里就体现了软件仿真的一个优势,那就是可以产生十分详细的数据 或波形记录,深入到模块内部,可以对整个验证过程做十分全面的控制。 由前面的分析可以知道,r t l 仿真十分耗时。尤其是在s o c 设计越来越复 杂,缩短面市时间的压力越来越重的情况下,人们不得不采取其他一些方法来加 快验证速度。目前以f p g a 为核心的快速原型验证的方法在s o c 设计前期越来 越流行。 图2 4f p g a 硬件平台示例 图2 4 展示了一个典型的f p g a 硬件开发平台,f p g a 平台( 开发板) 是一 个包含了f p g a 芯片、电源、时钟、d d r 等的系统电路,可以根据不同的目的 选择不同的平台。计算机通过仿真器与f p g a 开发板连接,实现对f p g a 开发 板的控制以及交互。测试平台中可综合的代码( 一般包含被测设计和部分其他代 码) 经过综合工具综合后下载到f p g a 中,而不可综合的代码则以c c + + 的形式 在计算机上实现,常用的c 、c + + 编译工具有开源的g c c g * 、微软公司的v i s u a l s t u d i o 等。 此外,还有一些调试用的工具,例如万用表、示波器、逻辑分析仪等。 由于设计最终是运行在硬件上,所有逻辑最终将以硬件的速度运行,因此仿 真速度十分快。但是调试者不容易观测到芯片内部的信号,尤其是高速信号,整 个验证过程并非完全可控,这是其相对与r t l 仿真的劣势。 针对两种类型仿真平台的优缺点,我们可以采用硬件平台对各种测试用例进 行快速的原型验证,而对硬件平台中出现错误的测试用例,在r t l 仿真平台上 重新进行仿真和调试,找出并修正错误,然后再回到硬件平台上进行仿真。这种 1 4 浙江大学硕士学位论文第2 章多媒体s o c 中g p u 的功能验证方案设计 协同的验证方法【1 3 】可以用图2 5 表示。 图2 5 协同验证 2 3 4 简化与抽象 在前面,我们对验证对象进行了描述和分析。g p u 系统有三个接口:a h b 从机接口、a x i 从机接口、a p b 从机接1 :2 。这三种总线都是并行总线,总线信 号数目较多,接口情况复杂。如果激励和响应直接通过这些端1 2 输入和输出,则 十分繁琐。虽然有些工具可以对这些总线接口进行封装,提供总线功能模型,但 是在硬件平台上却无法实现这些封装。 参考电子电路调试时常用的接口方法,例如串1 3 、u s b 接口等,我们设想 可以设计一种总线转换电路,将这些复杂的并行总线转换为一种简单串行总线。 这样,我们就可以不必关心a m b a 总线的复杂行为,通过访问串行的接口来实 现数据传输。这是一种硬件层次的包装。 在集成电路设计和调试中,j t a g 接口是最常见的一种串行接1 2 。其接口信 号简单,控制方便。因此我们选择j t a g 接口作为总线转换模块的串行接口端, 激励和响应通过j t a g 接1 :2 输入和输出,并且通过总线转换模块转化为a m b a 总线时序。 除了这种硬件层次的包装,我们还要为j t a g 接1 2 建立总线功能模型。这样 使得我们在验证时不必再关心底层信号的时序,从而提高验证效率。另一方面, 也为平台的可移植性提供了保障。 浙江大学硕士学位论文 第2 章多媒体s o c 中g p u 的功能验证方案设计 2 3 5 可重用性的考虑 验证平台的可重用性也是一个需要考虑的因素,我们希望花费巨大力气建立 的测试平台能够在其他系统的测试中发挥作用,以减少重复工作。这就要求验证 平台本身不能具备太多的针对性( 针对被测系统而设计的特殊结构或模式) 。 在我们的设计中,g p u 系统的接口是s o c 设计中常用a m b a 总线,我们可 以方便的将g p u 系统或仅将g p u 模块替换为其他子系统或模块,而保持测试平 台的其他部分。测试平台中与g p u 系统具有关联性的就只有测试用例,因此除 了被测设计和测试用例,平台的其他部分完全是可重用的。 2 4g p u 功能验证方案 浙江大学硕士学位论文第2 章多媒体s o c 中g p u 的功能验证方案设计 有的内存解决方案为用户提供了全面可控的操作模式,例如s y n o p s y s 公司的 u m c t l 和p u b 提供了a p b 从机接1 2 可用来对m 进行寄存器配置。 j t a g 2 x h p 模块是一个总线转换模块,作用在于实现j t a g 串行总线到 a m b a 总线( a x i 、a h b 、a p b ) 的协议转换。b f m ,总线功能模型,则为测 试用例提供了一个简单的函数接口,以方便的输入激励和输出响应,而无需关心 底层的总线时序和协议。 测试用例由验证工程师编写,由于本文作者仅关注通用平台的搭建,对g p u 测试用例并不涉及。 2 4 2 数据流的实现 对比2 2 节的g p u 系统数据流,我们可以在测试平台中清晰的看到各个数 据流的通路,如图2 7 所示。 数据流( ”测试用例向r 写g p u 指令及处理数据 数据流( 2 ) 测试用例对g p u 进行寄存器配置 数据流( 3 ) 川p u 从r 读取指令及处理数据 数据流( 4 ) 川p u 将处理结果写回d d r 数据流( 5 ) 测试用瞬j j , j l d d r 读取处理结果 匡困缸三) 咂三h 互丑佰 图2 7 测试平台测试数据流 从上述描述可以看出,数据流( 1 ) ( 5 ) 是同一物理通道的两个相反数据流, 一个是写数据,另一个则是读数据;数据流( 3 ) ( 4 ) 也是相同的情况。 2 4 3 测试平台特点 我们在2 3 节对g p u 的功能验证做出了一些大致规划,上述的测试平台在 结构上,都是以功能验证的基本原理为基础、以验证规划为出发点设计的。 首先,提供了内存接口解决方案,可以方便的访问d d r 3 的内存。 其次,由于设计了总线转换模块( j t a g 2 x h p ) ,从而对测试者屏蔽了复杂 的a m b a 总线,提供了统一化的j t a g 访问接口。在f p g a 硬件模拟时,可以 浙江大学硕士学位论文第2 章多媒体s o c 中g p u 的功能验证方案设计 很方便的实现j t a g 串行总线接口,不需要为被测设计的每一种接口都映射端口, 不仅节省了f p g a 的端口资源,而且简单的j t a g 接口也可以方便的和p c 连接, 在p c 上通过软件访问j t a g 接口完成相关的操作。 再次,测试平台中除了g p u 和测试用例外,其他的部分可以是可重用的。 这一平台对外提供了j t a g 接口及总线功能模型,对内提供了a m b a 总线接口。 任何具备a m b a 总线接口的模块或系统都可将此平台作为功能验证平台,从而 实现了测试平台的可重用性。 2 5 测试平台的构成一一内存及其接口解决方案概述 存储器作为一种记忆设备,是计算机系统中一个十分重要的组成部分,用来 存储程序和数据。计算系统运行过程中的程序、原始数据、中间结果、最终结果 都需要保存在存储器中。存储器按存储介质分为半导体存储器和磁表面存储器。 我们通常所称的内存即为半导体存储器,而硬盘大多数为磁表面存储器。 动态随机存取存储器( d r a m ,d y n a m i cr a n d o ma c c e s sm e m o r y ) 作为一种 半导体存储器,在各种计算机系统中被广泛应用。根据调查,全部d r a m 产量 中的约9 0 用在计算机上,而其他1 0 当作系统级芯片( s o c ) 的片外存储器来 使用。s o c 和通用计算机系统在设计上面存在着各种不同,现代化的d d r s d r a m 存储器接1 2 提供了可靠的供货能力、低成本高存储容量以及合理的带宽, 但针对s o c 设计却存在使用不便的接口及复杂控制器方面的问题。 针对s o c 的特殊要求,很多集成电路设计厂商提供了各种d d r 存储器解决 方案。各种解决方案基本都包含两个部分:d d r 控制器和物理接口( p h y ) , 当然这两个部分之间也存在着接口规范问题。 d d r 控制器对s o c 提供了标准化的接口,如a x i 总线接口等。而其核心工 作在于控制d d r 运行状态机,完成d d r 正常运作所需要的各种操作。d d r 控 制器需要负责d d r 存储器的上电,复位、初始化、校正、读写操作、充电预充 电、刷新等工作,根据需要激活合适的指令,完成相应操作,如同人的大脑一样。 物理接口( p h y ) 对d d r 存储器提供与之匹配的物理接口,接收d d r 控制器 的指令,并以正确的时序与d d r 存储器交互,因此时序的有效性和准确性是p h y 的核心目的。 d d r 控制器和p h y 的连接也是一个需要考虑的问题。目前主要采用d f i 技术组织发布的各系列规范,d f i 技术组织成员包括a r m 、c a d e n c e 、i n t e l 、l s i 、 1 r 浙江大学硕士学位论文 第2 章多媒体s o c 中g p u 的功能验证方案设计 s a m s u n g 、s t e r i c s s o n 和s y n o p s y s 等,各大d d ri p 供应商均支持d f i 接口。最 新的规范为d f l 3 0 ,这一新规范可实现支持新兴d d r 4 内存标准的芯片开发。 而d d r 3i p 所采用的大多为d f l 2 0 的规范。 我们在项目中将会使用s y n o p s y s 公司的内存解决方案i p ,因此在这里对其 做简要介绍。 s y n o p s y s 公司是全球集成电路设计自动化( e d a ) 软件工具的主要供应商, 为全球电子市场提供技术先进的i c 设计与验证平台,致力于复杂的芯片上系统 ( s o c ) 的开发。除了为人熟知的v c s 、d c 、s y n p l i f y 等e d a 工具外,s y n o p s y s d e s i g n w a r e 为集成电路设计提供各种i p 及验证模块,例如a m b a 总线解决方 案、u a r t 、1 2 c 等。 我们将要介绍的d d ru m c t l u p c t l 14 1 、p h y 1 5 1 就是d e s i g n w a r e 中的i p , 分别为d d r 控制器及物理层模块。 2 5 1d d r 控制器 u p c t l ,全称u n i v e r s a ld d rp r o t o c o lc o n t r o l l e r 。 u m c t l ,全称u n i v e r s a ld d rm e m e o r yc o n t r o l l e r 。 u p c t l 提供了具有最小延迟的高效率带宽,并向系统设计者提供透明访问 以及对控制器子系统的完全控制。u p c t l 提供简单的数据交换模式,不需要任 何内部调度。u p c t ls o c 应用总线接1 2 采用最低延迟的“本机应用程序接1 2 ” ( n a t i v ei n t e r f a c e n i f ) 。 芯片 图2 8u p c t l 系统级示例 u m c t l 是一种先进的多端1 2 存储器控制器,接受高达3 2 个应用程序端口的 内存访问请求。应用侧接1 2 ,可连接标准的a m b a 3 0 a x i a h b 总线。u m c t l 内部例化了一个u p c t l 。u m c t l 的功能是u p c t l 的超集。 1 9 浙江大学硕士学位论文 第2 章多媒体s o c 中g p u 的功能验证方案设计 a p b 信号。:i a p b 接口 图2 9t l l v i c t l 结构图 两个控制器( u p c t l 和u m c t l ) 都可以连接到d f i2 1 接口兼容的p h y 上, 以构建一个完整的存储器接口和控制解决方案。这两款控制器包括软件配置寄存 器,可以通过a m b a 2 0a p b 接口访问。 u p c t l 和u m c t l 都可以通过s y n o p s y s 的c o r c c o n s u l t a n t 软件来生成( 前提 是安装了两个口的程序包) ,生成过程包括了对p 的一些基本约束等,需要进 行一些硬件参数配置,与x i l i n x 不同,这些参数并不涉及d d r 自身的时序等, 只是对妒的一些基本信息做一些约束,例如总线位宽、p h y 类型等。而d d r 相关的参数,可以通过访问控制器的软件配置寄存器来设置。 如前所述,控制器中包含软件配置寄存器,可以通过a m b a 2 0a p b 接口访 问。i p 本身的一些参数、d d r 正常运行所需的参数、d d
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 丑奴儿词境探微
- 粮食储存加工仓库租赁与粮食贸易代理协议
- 离婚协议:财产分割与子女抚养、监护权明确协议
- 高净值离婚协议书编制及执行指导
- 离婚协议书模板(子女抚养费及探望权安排)
- 冷库租赁合同模板(含仓储、冷链配送、包装、保险)
- 亲子主题乐园场地租赁与儿童游乐服务合同
- 学校教师防疫培训
- 康复评定技术大专期末试题及答案
- 文化旅游项目2025年资金申请政策环境与风险规避报告
- 2025年江苏省高考招生统一考试高考真题物理试卷(真题+答案)
- CJ/T 191-2004板式换热机组
- 《智能机电系统设计与开发》课件 第三章-机械系统设计与开发
- 食品卫生考试试题及答案
- T/CECS 10187-2022无机复合聚苯不燃保温板
- 睾丸常见肿瘤超声诊断要点
- 重症医学科肺康复综合体系建设
- 数字劳工的集体行动:“罢工”现象解析
- 癫痫学生免责协议书
- 班级管理情境案例分享
- 陶艺知识课件大全初中版
评论
0/150
提交评论