(微电子学与固体电子学专业论文)基于system+verilog的ip验证方法.pdf_第1页
(微电子学与固体电子学专业论文)基于system+verilog的ip验证方法.pdf_第2页
(微电子学与固体电子学专业论文)基于system+verilog的ip验证方法.pdf_第3页
(微电子学与固体电子学专业论文)基于system+verilog的ip验证方法.pdf_第4页
(微电子学与固体电子学专业论文)基于system+verilog的ip验证方法.pdf_第5页
已阅读5页,还剩57页未读 继续免费阅读

下载本文档

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

文档简介

摘要 摘要 目前s o c 前端验证主要包括以下几个方面:对需求规格的分析,制定验证策 略,i p 的功能验证,整体的集成仿真,系统级仿真,后仿真、f p g a 仿真。在前 端流程结束后进入后端的开发,直至流片。本文介绍的是针对v e r i l o g 搭建的i 盯l 设计做为被测试目标,基于s y s t e m v e r i l o g 语言与s y n o p s y s 公司的v c s 仿真工 具完成模块级的验证新方法。该方法应用于i p 的功能验证阶段,融合了随机测试, 功能覆盖率收集,断言验证等验证手段来保证该阶段验证的全面性、正确性。相 对于传统方法,该验证方法可以有效减少测试用例的数量,提高验证环境的重用 性。同时该方法也是一种基于功能覆盖率的验证,量化功能覆盖率的引入,也使 得在验证中减少了验证人员主观评估验证进度的状况。 为了更为具体介绍如何在i p 功能验证中实现新的验证方法,本文将以来源于 、】n w o p e n c o r e s o 唱网站下载的的s p im a s t e rc o r e 的源设计代码为d u t ,各种仿真 的试验结果将会被直观的给出,并且对仿真中的d e b u g 过程进行详细的说明。对 最后的仿真结果进行评估,以确认这种基于s y s t e m v e m o g 语言的新的验证方法优 越性和可行性。 关键词: s o ci p 前仿真验证方法 ab s t r a c tl l l a b s t r a c t t h e s ed a y s ,s o cp r e v e r i f i c a t i o ni n c l u d e st 1 1 ef o l l o w i n gm 句o ra s p e c t s :a n a l y s i n g s p e c i f i c a t i o n ,c o n s t i t u t i n gv e r i n c a t i o ns t r a t e g y s e t t i n gu pv e f l c a t i o ne n v i r o 姗e n t , 如n c t i o n a lv e r i f i c a t i o nf o ri p ,i n t e 伊a t i o nv e r i f i c a t i o n ,s y s t e mv e r i 6 c a t i o n ,f p g a v e r i f i c a t i o n ,a n dp o s t s i m u l a t i o n a r e rf i n i s l i n gt l l ep r o c e s s e so fp r e - p r o c e s sa 1 1 d p o s t p r o c e s st h ed e s i 印i ss e n tt om a n u f a c t i l r i n gl i n et ob em a d e i n t 0ac h i p t m sn l e s i s i n t r o d u c e sam e t l l o dt ov a l i d a t eau i l i t - 1 e v e ld e s i g n 、v i l i c hi sc o d e db yv e r i l o g ,a n d b a s e do ns y s t e m v e r i l o ga n ds y n o p o s y s sv c st 0 0 1 n i sm e t h o di su s e df o ri p r m c t i o n a jv e r i f i c a t i o n ,a 1 1 di n c l u d e sm d o mt e s t ,如n c t i o nc o v e r a g ea n da s s e r t i o n v e r i f i c a t i o n ,i i lo r d e rt oe n s u 】r et h a t “sp h a u s eo fv e r i f i c a t i o ni s 如l l - s c a j ea n da c c u r a t e c o m p a r e dt ot r a d i t i o n a lm e t h o d ,t h i sn e wm e t h o dc a i ld e c r e a s et h en u m b e ro ft ca 1 1 d i m p r o v er e u s ee n v i r o m e n to b v i o u s l y a tt i l es 锄et i m e ,t h i sm e t l l o di sb a s e do n 向n c t i o nc o v e r a g e ,s ot h ev e r i f i c a t i o ne n g i n e e rc a i ln e v e re v a l u a t et h es c h e d u l eo f s i m u l a t i o ns u b j e c t i v e l y t h es p im a l s t e rc o r ec o m e s 矗。o m 、 俐wo p e n c o r e s o 唱w h i c hi su s e da sd u t ( d e s i 印u i l d e rt e s t ) a l ls i m u l a t i o nr e s u l t sa n dd e b u gp r o c e s sa r eo p e n e d ,s om a ti tc 锄 i n t r o d u c eh o wt 0i m p l e m e n tt 1 1 e s ew o r k sc o n c r e t e l yd 谢n gi p 如n c t i o n a lv e r i 矗c a t i o n t h er e s u l tw i l lt e l lu sw h e t h e rt i l i sm e t h o db a s e do ns y s t e m v e r i l o gi sa s c e n d a n ta n d f e a s i b l e k e y w o r d : s o cl pp n s i m u i a t i o nv b r i 6 c a t i o nm e t h o d 创新性声明 本人声明所呈交的论文是我个人在导师指导下进行的研究工作及取得的研究 成果。尽我所知,除了文中特别加以标注和致谢中所罗列的内容以外,论文中不 包含其他人已经发表或撰写过的研究成果;也不包含为获得西安电子科技大学或 其他教育机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做 的任何贡献均已在论文中做了明确的说明并表示了谢意。 申请学位论文与资料若有不实之处,本人承担一切相关责任。 本人签名:盈五 日期:丝盈:么! z 多 关于论文使用授权的说明 本人完全了解西安电子科技大学有关保留和使用学位论文的规定,即:研究 生在校攻读学位期间论文工作的知识产权单位属西安电子科技大学。本人保证毕 业离校后,发表论文或使用论文工作成果时署名单位仍然为西安电子科技大学。 学校有权保留送交论文的复印件,允许查阅和借阅论文;学校可以公布论文的全 部或部分内容,可以允许采用影印、缩印、或其它复制手段保存论文。 ( 保密论 文在解密后遵守此规定) 本学位论文属于保密,在年解密后适用于授权书。 本人签名:丝盔笙 聊繇:幽日期:萼k 毕 | 第1 章绪论 第1 章绪论 1 1s o c 中i p 验证的相关概念 1 1 1i p 的基本概念 i p ( i n t e l l e c t u a lp r o p e l r t y ) 知识产权,i p ( i n t e l l e c t u a lp r o p e r t y ) 就是常说的知 识产权。硅知识产权核,是预先设计好的电路功能模块。上个世纪9 0 年代初,由 于集成电路制造技术和e d a 工具的快速发展,芯片设计规模和设计复杂度急剧 提高,出现了一批像a r m 这样的专门为第三方公司提供可复用的集成电路模块 的i p 供应商。i p 供应商的出现和s o c 设计方法学的普及,极大地促进了集成电 路设计业的发展。 i p 的本质特征是可重用性,其通常必然满足以下基本特征:一是通用性好, 二是正确性有1 0 0 的保证,三是可移植性好。通用性好是指i p 的功能在某一应 用领域广泛通用,i p 的实现一般满足子功能可配置、甚至可编程的特点,如最常 见的i p 嵌入式c p u 模块就具有非常好的通用性。正确性有百分之百的保证是指 i p 的实现严格遵守一系列的可重用设计开发规范,i p 的验证用例具有完备性,功 能覆盖率、测试覆盖率都能够达到1 0 0 ;并能够完全覆盖i p 工作的临界条件, 提供相应的大流量测试、随机性测试、甚至能够提供软硬件协同仿真的测试环境 等。可移植性好是指i p 的实现如行为描述、网表、g d s i i 文件具有可移植性,其 设计输入可以在不同的开发平台上重现;综合用批处理文件具有可移植性,i p 的 综合结果可以用不同的综合工具,在不同的综合库条件下正确重现;仿真用测试 用例可重用,测试环境可以很方便的重现,l p 的验证可以用不同的仿真器,在不 同的仿真库条件下重现。 i p 开发的流程主要包括两条主线:i p 设计和i p 验证。i p 设计流程一般可划 分为确定规格和模块划分、子模块的定义和设计、顶层模块的设计、产品化等四 个阶段。i p 验证流程包括了建立参照模型、建立测试平台和准备验证用例、回归 测试、形式验证。 i p 设计的三大阶段: 1 确定规格和划分模块 i p 的规格至少包含以下内容:概述、功能需求、性能需求、物理需求、详细的 结构模块框图、对外系统接口的详细定义、可配置功能详细描述、需要支持的制 造测试方法、需要支持的验证策略等。确定规格的过程一般又包括行为建模进行 2 基丁s y s t e m v e r i l o g 的l p 验证方法 功能论证,可行性分析就性能和成本进行折中等活动。划分模块是指规划师在给 出i p 结构模块框图的同时,对于每个子模块给出一个详细的功能描述,同时必须 明确子模块之间的接口的时序要求。只有规划好,才能够建设好。确定规格和划 分模块是i p 开发是否成功最为关键的一步。 2 子模块定义和设计 设计小组对所有子模块的规格进行讨论和审查,重点检查时序接口和功能接 口的一致性。设计者随后整理出子模块的详细设计方案。接下来设计者按照实现 方案开始编写i 盯l 代码、编写时间约束文件、综合的批处理文件、子模块验证用 测试平台( t e s t b e n c h ) 和测试套件( t e s t “t e ) 等。当这些工作完成并通过代码规 范性检查、测试覆盖率检查、功能覆盖率检查、性能分析包括d f t 、s t a 检查、 功耗分析检查等验收以后,这个子模块就可用来与其他模块一起集成了。 3 顶层模块设计 顶层模块的设计就是把子模块集成起来,产生顶层模块,并对它做综合处理 和功能验证。综合过程包括编写综合的批处理文件,在不同的参考库上综合,针 对在制造上的可测试性插入扫描链、a t p g ,并进行最终的性能分析和功耗分析等。 验证过程包括根据由行为模型发展来的测试向量对顶层模块进行仿真测试,针对 i p 模块的可配置选项进行多种配置条件下的回归测试,利用仿真工具检验测试向 量的覆盖率等。 1 1 2i p 验证的基本概念 传统的验证模型基本的工作就是为每个设计写一个t e s t b e n c h ,其结构如下: 图1 1 t e s t b e n c h 模型 因此t e s t b e n c h 基本的功能就是产生激励,该激励可以使用v h d l v e r i l o g h d l 或高级语言如c 等来产生,把激励加载到d u v 中,再根据d u v 的输出进 行判断:可以通过波形判断、可以编写一些自动检测模块甚至把数据取出通过高级 语言及工具进行判断。 目前的常用的t e s t b e n c h 模型为: 第l 章绪论 3 图卜2 常用的t e s t b e n c h 结构 在现有的t e s t b e n c h 结构中,其中斯m u l u s 是产生激励的模块,可以用v e d l o g h d l 语言也可以使用高级语言再通过如p l i 接口接入v e r i l o g 仿真平台中;b f m 是为各个设计接口的总线模型,其一边是时序接口:与d u v 接口,一边是数据接 口,与产生的数据相接;c h e c k 是所开发的一些比对数据模块或一些自动检查模 块;i h 是从规格书出发而设计的参考模型或行为模型。 当一个项目成立时,验证小组必须根据设计的规格书( s p e c i f i c a t i o n ) ,考虑 一些设计模块比如一些算法密度比较高的模块是否需要设计相应的行为模型 ( b e h a v i o r a lm o d e l ) 或者称为参考模型( r e f e r e n c em o d e l ) ,同时开发一些接口如 常用的p o s 接口、以太网接口的总线接口模型( b f m ) 。根据规格书的要求,书 写一份验证计划,其中最主要内容为定义出功能列表( 南舭e1 i s t ) ,根据功能列 表确定要仿真的功能要点,再根据这些功能要点进行分类,确定各个验证的测试 案例( t e s t c a s e ) 的内容、测试案例( t e s t c a s e ) 的数目。每一个测试案例其实就是 产生一组特殊的激励样式( p a n e m ) ,加载到被测对象( d u v ) ,再检查输出是否 正确。因此,每一个测试案例都包含了图1 2 的内容。 i p 的验证必须是完备的、具有可重用性的。i p 验证的完备性首先要求在设计 i p 仿真测试方案时必须体现出以下几个方面:1 从i p 的规格出发,对每一个模块 测试功能点( t e s t f e a t u r e ) 进行分析,定义每个子模块的仿真测试目标,并确定哪 一个测试向量可以验证该测试功能点。2 整理一个明确的测试列表,包括对目标 的估计的和测试覆盖情况。3 对测试用例的详细设计,并定义验证通过的标准。 其次,i p 的验证必须覆盖以下测试类型:一致性测试、回归测试、边界条件测试、 长时间随机测试、实际应用环境测试等。i p 验证的测试覆盖率、功能覆盖率都需 达到lo o 。i p 验证的可重用性首先要求搭建的l p 仿真环境是由一系列可重用 的测试组件构成的,如定义总线功能模型,通用的数据处理任务集等。对每一个 组件,都应该有关键特征的描述。其次,i p 验证要求列出采用的仿真器、仿真库 及其版本。 4 基于s y s t e m v e r i l o g 的l p 验证方法 1 2i p 功能验证方法的概述 1 2 1目前i p 功能验证方法研究的现状 i p 功能验证方法的研究和整个i c 开发发中的功能验证方法的研究是没有本 质区别的,从某个角度来说,一个最终成型并被投产的芯片是由许许多多和i p 一 样的模块所组成的,同样的i p 也是由若干比i p 层次更低的功能模块组成的,他 们的区别只在于他们面对的工作环境的不同,是t e s t b e n c h 的不同。所以说所有在 i c 开发中可用的功能验证的新方法都可以在i p 的开发中使用。 验证的重复使用方法论增进验证生产力的重要关键,许多i c 开发案的验 证经理都面临着缺乏必要资源,但却必须缩短验证时间与降低验证成本的压力。 而可重复使用的验证组件与基本的验证重复使用方法论,对增进验证生产力将大 有帮助。毫无疑问地,芯片设计的复杂度正在日益提升中。事实上,我们经常引 用的摩尔定理( m o o r e sl a w ) 也提出了相同的概念:集成电路设计的复杂度每1 8 个月就会提升一倍;而更重要的是,虽然设计工作和复杂度之间会呈现线性关系 成长,但验证所面临的挑战却呈现指数式成长。 造成这种现象主因,是复杂的芯片设计内往往包含了各式各样的功能区块、 处理器、协议、还有接口,为获得令人满意的验证结果,就必须针对整个产品内 的所有功能区块之互动,以及所有的作业模式一一进行检测。根据一些顶尖芯片 开发团队的报告显示,验证作业已经变成设计过程中最大的瓶颈,大约会耗去7 0 或甚至以上的芯片开发时间和人力。 2 0 0 0 年代的工程管理将设计的重复使用当作口号,用以提升设计的生产力。 重复使用方法论的教范( r e u s em e t h o d o l o g ym a n u a l 2 ,i 洲m ) 和i p 产业,就是 在这种环境下诞生的。由于芯片设计的复杂度激增,因此重复使用方法论教范 ( r m m ) 的撰写,就成了管理重点上的一大结构转变:大幅提升验证的生产力, 也成了开发团队的另一句新口号。所幸,验证的重复使用为我们提供了一个改善 验证效率的绝佳机会。对那些已经成功建立验证重复使用常规的公司而言,他们 将因更好的质量、更短的产品上市时间,以及更低的开发费用而受惠。简而言之 他们将变得更具竞争力。 在验证复用成为共识的基础上,一些业界的验证工具厂商不断的推出各自的 验证方法学,例如s 、j o p s y s 推出的基于v e r a 的r v m ( r e f e r e n c ev e r i 6 c a t i o n m e t h o d 0 1 0 9 y ) ,基于s y s t e m v e r l l o g 的v m m ( v e r m c a t i o nm e t h o d o l o g ym a n u a l f o rs y s t e m v e r i l o g ) ,m e n t o r 公司基于s y s t e m v e r i l o g 和s y s t e mc 的a v m ( a d e v a n c e dv e r i 矗c a t i o mm e t h o d o l o g y ) ,c a n d e n c e 公司基于e 语言的验证方法学。 第1 章绪论 5 1 2 2 目前国内i p 功能验证方法研究的现状 由于绝大多数的e d a 厂商都是国外公司,以及台湾公司,所以目前国内的 研究现状是主要依靠直接引用国外公司成熟的验证方法学和验证工具,并在此基 础上做适应性的完善。在完整的验证方法学的研究上非常少。当然完全自主的开 发也是没有必要的,在国外的已有验证方法学的基础上做更深入的探索和研究更 符合中国目前的状况,既能减少成本,也能快速的提高国内的验证技术水平。技 术积累到一定的程度,必将催生国内的自主验证方法学的发展,如果同时国内可 以发展出高效的e d a 仿真工具,那么整个集成电路产业链会有更多的核心技术 抓在中国的手中。 1 3 验证技术的发展趋势 1 3 1动态功能验证 使用最为普遍的功能验证方法具有动态特性。之所以将其冠名为“动态”,原 因在于输入图形激励信号是在一段时间内( 若干个时钟周期) 生成并应用于设计 的,而且,对应的结果被收集起来并与一个参考黄金模型进行比较,以便与规范 相符。一个仿真器被用来计算所有信号的全部数值,并将规定的预期值与计算值 加以比较。目前,业界可以选用的仿真器有两种: 1 基于周期的仿真器:该仿真器完全不理会时钟内部发生的事件,而是在每 个周期中进行一次信号评估。由于执行时间较短,这类仿真器的运行速度往往较 快; 2 基于事件的仿真器:这些仿真器捕获事件( 在时钟内部或在时钟的边界上) 并通过设计进行传播,直到实现一个稳定状态为止。 动态仿真的一个主要的缺点是,在一个限时仿真行程当中,只能对芯片的典 型( 而不是所有可能的) 工作特性进行验证。造成这种情况的主要原因在于芯片 是针对已知测试空间( 而不是未知测试环境) 进行测试的,采用的是定向测试法。 e d a 行业推出了诸如o p e n v e r a 、e 和s v l ( s y s t e m cv e r i 6 c a t i o nl i b 岫,) 等 更加高级的验证语言。这些语言引入了新的概念,比如约束随机激励、随机激励 信号分配和电抗性测试台。伴随着这些语言的运用出现了一些用于对其进行解释 的工具,就本场合而言,它们有可能是v e r a 、s p e c m a n 和o s c i 内核( 即c c s s ) 。 除了引入了随机化功能之外,新型验证语言和工具还通过减少公司在构筑各 种用于激励信号发生的测试场合方案所花费的时间量而实现了生产率的提高。例 6 基于s y s t e m v 色r i l o g 的l p 验i 正方法 如,测试方案可以采用最高的抽象级来编写,并能够通过采用功能强大的面向对 象型结构而“扩展”至任何较低的抽象级。 当采用动态验证时,设计者一般希望拥有一个以可量化项来覆盖和捕获的功 能空间的估计值: 1 被验证的代码行的数量( 行覆盖率) ; 2 被验证的逻辑表达式有多少? ( 表达式覆盖率) ; 3 在一个f s m 设计中达到了多少种状态( f s m 覆盖率) ; 4 在一个仿真行程中进行双向变换的端口和寄存器的数量( 变换覆盖率) ; 5 设计代码中被覆盖的逻辑通路的数量( 通路覆盖率) 。 这可以通过采用诸如代码覆盖和n “n t 等工具来实现。 设计者将”断言”用作一个占位符,用来描述与某项设计相关联的假设和工作 特性( 包括暂时的特性) 。如果设计满足或未满足规范或假设,则断言将会在一个 动态仿真过程中被触发。断言也可在形式静态功能验证环境中使用。 1 3 2混合功能验证 在该方法中通常执行动态仿真,仿真结果被捕获并用作静态验证的输入。在 静态验证期间,逻辑方程符号通过设计进行传播( 而不象在动态仿真中那样传播 的是数值) 。这种手法虽然不如形式验证详尽周全,但却可以被证实具有比纯动态 仿真更高的效率,因为它开始于动态仿真停止之时。 1 3 3静态功能验证 在静态功能验证中,没有向设计施加输入激励信号。而是将设计映射至一个 采用b d d ( 双择判决图) 或其他数学表达式( 它们规定了所有时间周期中的设计 功能) 来说明其功能的图形结构上。利用这种图形结构来证实或反驳属性将能够 验证这些数学表达式。这是通过确定数学结构中的矛盾式( 方法是顺着或逆着信 号流来传递数值) 来完成的。 现有工具采用以下两种方式来满足静态验证市场的需求: 1 采用断言:这些是在模型设计自身当中规定并公式化的设计约束( 运用 诸如s y s t e m v e r i l o g 、o p e n - v e r a 、v e r i l o 昏v h d l 等设计验证语言) : 2 采用属性:这些通过采用一种属性语言( 比如p s l 、s u g a r ) 提供了属性 的规范。 第1 章绪论 7 1 3 4等效性验证 为了确定逻辑门级表示与h d l 实现是相同的,通过采用匹配点并比较这些 点之间的逻辑来执行一种所谓的“等效性检查”。生成一种数据结构,并将其与相 同输入特性曲线条件下的输出数值特性曲线进行比较。如果它们不同,则表示( 在 本场合为逻辑门和r 1 、l ) 是不等效的。当其中一种表示经过了某种类型的变换时, 等效性检查有时是在两个连接表( 逻辑门级) 或两个r t l 实现之间执行的。 图卜3 动态与静态验证关系 1 4 本课题的背景和研究内容 1 4 1选题的背景 近年来,随着i c 产业发展,s o c ( s y s t e mo nc h i p 片上系统) 已逐渐成为消 费类电子和网络产品的主要实现手段。本课题就是建立在一款正在开发的s o c 芯 片上,以系统内部的一个i p ( s p i ) 作为d u t ,展开验证工作。s p i 是以主从模 式通过同步串行通信( s y n c h r o n o u ss e r i a lc o m m u n i c a t i o n ) 方式和外设进行通信的 接口i p ,它具有非常广泛的应用,有很强的通用性。 目前,i p 的验证主要包括以下几个方面:确定验证策略,搭建验证环境,进 行前端e d a 验证,后仿真,s y s t e m v e r i l o g 将和e d a 工具一起完成i p 的验证工 作。s y s t e m v e r i l o g 最早在1 9 9 5 年由a c c e l l e r a 公司开发出来,经过1 0 年默默而 卓有成效的改进后于2 0 0 5 年底s y s t e m v e r i l o g 正式成为了l e e e 的标准,迅速有 包括s y n o p s y s 、c a n d e n c e 、m e n t o rg r a p h i c s 等多家大型e d a 公司推出或正在开发 8 基于s y s t e m v e r i l o g 的i p 验证方法 支持这种语言的验证工具。随着设计日益复杂、i c 产能扩大、费用和风险升高、 停滞( 甚至下降) 之工程生产力、及缩减之产品问世时间,i c 相关产业目前环 聚了各种高阶设计、验证、及侦错语言。这些语言建立在过去之经验和教训上, 整合了近来的成功经验,并且为创新设计、验证、及侦错展开了大门。s y s t e m v e r i l o g 是一种建立在v e r i l o g 2 0 0 l 基础上之语言,而且因为包含来自o v a 和p s l 之 a s s e r t i o n ( 断言,一种程式检验机制) 反应监测功能而又跃出一大步。s y s t e m v e r i l o g 的潜力不仅在于其令人深刻的有用元件,并且在于其具有可用于全面性设计、验 证及侦错方法的统一一致架构。s y s t e m v e r i l o g 语言增进设计抽象、资料封装、灵 活性及再使用、修改的语意和语法、及各种促进生产力功能作为一种新生的验证 和设计语言,s y s t e m v e r i l o g 显然有着光明的未来。 1 4 2课题的研究内容 s y s t e m v e r i l o g 语言能够提供统一的设计和验证方法,简化并加速验证过程, 通过提供关键的语言组件,例如断言功能、测试平台结构以及接口等, s y s t e m v e r i l o g 可使新的验证方式增量式地应用到现有的基于v e r i l o g 的流程中, 从而使其易于被采用。统一语言工具的使用,能够更加便于设计小组间的沟通, 最大限度地发挥设计能力利用s y s t e m v e r i l o g 特性,这篇论文主要着眼于基于 s y s t e m v e r i l o g 的新语言特性而产生的验证方法的研究,在传统的验证方法基础之 上探索新的验证思路。 本文会s o c 中常见的以s p im a s t e rc o r e 接口i p 的r t l 源代码作为d u t 搭 建的一个完整验证环境,制定合理验证策略,利用s y s t e m v e r i l o g 提供的语言特性 和系统函数,融合三种基于s y s t e m v e n l o g 的典型的测试方法:随机测试,功能覆 盖率的收集,断言验证,论文中会对这三种方法分开论述。对新的验证方法中使 用到的新颖语言特点做深入的研究,探索新的验证思路,在同一验证环境中如何 的体现这种验证方法的优越性,将这些优越性合理的应用是本论文的核心部 分。 仿真完成后对最终的代码覆盖率,功能覆盖率结果进行分析,得出仿真效率的 结论。对仿真环境的代码量和仿真速度进行分析,论证新方法是否能显著减少验 证环境的代码量,并且有高的仿真效率。 将不同验证语言、不同验证方式的优缺点进行比较,并作出合理分析。基于 s y s t e m v e r i l o g 的验证方法是否可以较之其它有明显的优越性,也是本论文的焦点 之一。 第2 章新验证方法的实现 9 第2 章新验证方法的实现 2 1 s y s t e m v e r i1 0 9 语言简介 s y s t e m v e 打l o g 在v e r i l o g 语言基础上进行了扩展,包括扩充了c 语言数据类 型、结构、压缩和非压缩数组、接口、断言等等概念,避免了v e m o g 语言在某些 方面的局限性,在一个更高的抽象层次上提高了设计建模的能力,因此,我们可 以认为s y s t e m v e r i l o g 是v b r i l o g + + 。 1 s y s t e m v e r i l o g 由a c c e l l e r a 开发; 2 它基于i e e e1 3 6 4 2 0 0 lv e r i l o g 硬件描述语言( h d l ) ; 3 为系统级的设计流程提供了强大的连接能力。 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 的流程中采用更多的不同功能,从而使设计者在认知过程中少走弯 路。 通过结合v e 蝴o g 与c 语言大量的最佳特性,s y s t e m v e r i l o g 易于使用、为人 们所熟悉,并提供实现简明设计和自动化测试平台的特征。而且,由于 s y s t e m v e r i l o g 语言是v e r i l o g 的扩展集,因此在现有环境下使用相当方便。 s y s t e m v e r i l 0 9 3 0 为硬件设计团队的简明设计提供了强大的基础,使模型很快 生成并易于纠错。最新版s y s t e m v e r i l 0 9 3 1 还为创建现代化的测试平台增加了关 键的验证功能。 1 操控简明的设计与验证平台: s y s t 锄v e r i l o g 包含所有v e r i l o g 源语言,包括v e r j l o gl e e e 】3 6 4 委员会2 0 0 1 年增加的新功能。一流的生成功能、经过简化的端口处理、动态变量及各种其他 功能使v e r i l o g 使用起来更加直截了当。 s y s t e m v e r i l 0 9 3 o 含有列举类型和构件等丰富的b a s i cc 编程功能。 s y s t e m v e r i l 0 9 3 1 ( 于2 0 0 3 年年中推出) 新版本增加面向特定目标的性能及其他 大量重要功能,从而使v e r i l o g 用户在编程方面具有全面的灵活性,这对于验证和 系统建模处理是至关重要的。 s y s t e m v e r i l 0 9 3 o 主要改善设计过程中的r 1 r l 编码工作,最新版中含有的各 种专用功能,可以更加简明地编写综合化的r t l 代码,减少工时和故障风险。此 外,经强化后,新的接口构件提供了生成新的编码字段的能力,允许更深程度的 提取和与架构环境的链接,同时大大提高了设计的透明度,在这层面上还引入 1 0 基于s y s t e m v e r i l o g 的i p 验证方法 了判断功能,这样,设计人员可以在代码中加入规范元素,进一步提高板块级的 验证自动化。 2 统一验证提高工作效率: 如果s y s t e m v e r i l 0 9 3 0 旨在提高设计效率,那么3 。1 版则侧重于提高验证效率。 s y s t e m v e r i l o g 为测试平台开发提供单独、一致的语法和语义。这种语言中包含丰 富的判断功能,这是制定验证场合详细规范所必需的。新版本具备功能运行环境 和自动化的测试生成器,也提供强大的交易层测试的编程特性,适用于系统和设 计实现的验证。s y s t e m v e r i l o g 通过一种独立、简单的聚合性语言可以满足所有的 验证需求。 2 2 1使用背景 2 2s p im a s t e rc o r e 简介 s p i ( s e r i a lp e r i p h e r a li n t e f f a c e ) m a s t e rc o r e ,同步串口提供了经济的b o a r dl e v e l 接口在不同的设备之间,并被广泛的使用诸如1 1 1 j c r o c o n t r o l l e r s ,d a c s ,a d c s 等, 虽然同步串行总线没有唯一的标准,但是有工业上可接受的标准基于两个最重要 的应用: 1 s p i ( m o t o r o l as e m i c o n d u c t o r 标准) ; 2 m i c r o w i r e s p l u s ( n a t i o n a ls e m i c o n d u c t o r ) 。 很多的i c 制造商的产品都是兼容s p i m i c r o w i r e p l u s 。s p im a s t e rc o r e 是 适用于以上提到的两种协议,作为m a s t e r 还有额外的功能,在主模式,c o r e 的行 为像是w i s h b o n e 的s l a v e 器件【9 l 。 w l s 0 图2 一ls p jm a s t e rc o r e 结构图 s c l k p a d o s s - p a d o m o s i j ) a d o m o s i p a d 一 第2 章新验证方法的实现 2 2 2规格描述 规格【9 】: 1 全双工的同步串行数据传输; 2 可变的传输长度,最高到1 2 8 b i t ; 3 m s b 或l s b 第一个数据传输; 4 1 奴和t x 分别独立的使用时钟的上升沿和下降沿; 5 支持8 个s l a v e ; 6 一个时钟域的静态同步设计; 7 技术不受v e r i l o g 约束; 8 可综合的。 一、w i s h b o n e 接口信号 表格2 1w i s h b o n e 接口信号 p o r tw i d m d i 把c t i o n d e s 谢p t i o n w bc l kil i n p u t m a s t e rc l o c k w br s ti1 i n p u ts y n c h r o n o u sr e s e t ,a c t i v eh i 曲 、ba d ri5 i n p u t l o w e ra d d r e s sb i t s w bd a ti 3 2 i n p u t d a t at o w a r d st h ec o r e w bd a to3 2 o u t p u t d a l a f i o m t h ec o r e w bs e li4 i n p u tb ”es e l e c ts i g n a l s w bw ei l i n p u t w r i t ee n a b l ei n p u t w bs t bi1 i n p u t s t r o b es i g n a l c o r es e l e c ti n p u t w b c y c j 1 i n p u t v a l db u sc y c l ei n p u t w ba c ko l o u t p u t b u sc y c l ea c k n o w l e d g eo u t p u t w be r rol o u t p u t b u sc y c l ee r r o ro u t p u t w bi n to1 o u t p u tj n t e r r u p ts i g n a lo u t p u t 所有的w i s h b o n e 输出信号都是由w 吣l l ( _ i 的上升沿积存和驱动,所有的输 入信号都是由w bc l ki 上升沿锁存。 1 2 基于s y s t e m v e r i l o g 的i p 验证方法 二、s p i 外部连接 表格2 2s p i 外部连接 p o r tw i d t l ld i r e c t i o n d e s c r i p t i o n s 曼j a d 一0 8 o u t p u t s l a v es e l e c to u t p u ts i g n 甜s s c l k a d - 0 1 o u t p u t s e r i a lc l o c ko u t p u t m o s i p a d - 0 l o u t p u t m a s t e ro u ts l a v ei nd a t as i g n a lo u t p u t m i s o j a d j 1 l n p u t m a s t e ri ns i a v eo u td a t as i g n a l i n p u t 三、寄存器列表 一、 剧7 l 了自口夕- j 4 x 表格2 3 寄存器列表 n 锄ea d d r e s sw i d t ha c c e s s d e s c r i p t i o n r x 0o x 0 03 2rd a t ar e c e i v er e g i s t e ro 风1o x 0 43 2rd a t ar e c e i v er e g i s t e rl r ) 【20 x 0 83 2r d a 诅r e c e i v er e g i s t e r2 r x 30 x o c3 2rd a t ar e c e i v er e g i s t e r3 t x 00 x o o3 2洲d a t at r a s m i tr e g i s t e r0 t x l0 x 0 43 2洲d a t at r a s m i tr e g i s t e rl t x 2o x 0 83 2l v wd a t at r a s m i tr e g i s t e r2 t x 30 x o c3 2洲d a t at r a s m i tr e g i s t e r3 c t r lo x l 03 2l v w c o n t r o la n ds t a t u sr e g i s t e r d i v l d e r 0 x 1 43 2洲 c l o c kd i v i d e rr e g i s t e r s so x l 83 2l v ws l a v es e l e c tr e g i s t e r 2 2 3寄存器描述 、数据接收寄存器 r e gn a m e r ) 【 a d d r e s s o x 0 0 o x o c r , r r e s e t 0 0 0 0 0 0 0 0 0 b i t s s i g n a in a m ed e s c r i p i t i o n 第2 章新验证方法的实现 1 3 r e gn a m e r x a d d r e s s 0 x 0 0 0 x o c 删 r r e s e t 0 x o o o o - 0 0 0 0 8 i t s s i g n a in a m e d e s c f i d 溺o n 3 1 :0 保存最后的传输接收的数据,它的 有效位由控制寄存器决定。如果只 有3 2 位有效,那么r 1 一r 3 就是不被 使用的。如果只有6 4 位有效,那么 r 2 一r 3 不被使用。诸如此类。 二、数据发送寄存器 r e gn a m e j t x : a d d r e s s o x 0 0 o x o c 刚洲 r e s e t 0 x 0 0 0 0 - 0 0 0 0 8 j t s ,s i g n a l n a f t l e 。,: d e s c f j p i l i o n 。 3 1 :o 保存数据,在下次发送时传输,它 的有效位由控制寄存器决定。如果 只有3 2 位有效,那么t 1 一t 3 就是不 被使用的。如果只有6 4 位有效,那 么t 2 t 3 不被使用诸如此类。 控制和状态寄存器 r e gn a m e c t r l a d d r e s s o x lo 洲 r e s e t o x 0 0 0 0 o 0 0 0 8 t s s j g n a ln a m ed e s c f i p i a o n 3 1 :1 4r e s e n ,e d 1 3 ( 洲)a s s 如果该位被设置,s 等p a d o 信号 被自动的产生。也就是说s l a v e 的片 选信号在s p i 的c t r l 寄存器产生。当 该位置被清除,则s l a v e 的片选信号 由s s 寄存器来产生和消除。 1 2 ( r )i e 如果该位置被设置,在一次传输结 束后中断信号变成有效,在一次读 或t ;寄存器后中断信号檄取消 1 4 基于s y s t e m v e r i l o g 的l p 验证方法 r e gn a m e c t r l a d d r e s s 0 x l o r r e s e t 0 x 0 0 0 0 - 0 0 0 0 b i t s s i g n a in a m e0 e s c 呻i t l o n 1 1 ( 洲)l s b

温馨提示

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

评论

0/150

提交评论