已阅读5页,还剩95页未读, 继续免费阅读
(信息与通信工程专业论文)pcmcia总线功能模型的建立及桥接器软核的验证.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 摘要 随着集成电路规模和复杂度的急剧增长,验证已成为当前集成电路设计中最 困难、最具挑战的课题。验证的工作量和消耗的资源已占集成电路设计总体工作 量和耗费资源的8 0 以上。但目前,验证方法学发展水平仍滞后于集成电路规模 的扩张,成为了集成电路产业发展的瓶颈。因此改进验证方法学以提高验证效率 就成为了研究的热点。而提高验证效率也是贯穿本文的主线。 提升验证的抽象层次是提高验证效率最重要的方法。通过提高抽象层次,可 以在验证时将关注的重点放在事物级的传输和操作上。这就使得验证工程师在构 建验证平台、编写验证激励和观测仿真结果时,都无需花费大量的时间、精力去 处理底层信号问繁杂的时序关系。同时将验证中的操作抽象出来,构建出总线功 能模型和验证工具箱可以促进验证元件的可重用性。 为了模拟a h b p cc a r d 桥接器软核的真实工作环境以对其进行验证,本文 利用逐层抽象的方法设计出了p c 卡的总线功能模型。并在p c 卡总线功能模型和 a h bm a s t e r 总线功能模型的基础上,进一步提高抽象级别,构建出了三个层次的 验证工具箱。它们使验证人员可以忽略桥接器两侧总线上众多信号复杂的时序, 将关注的重点转移到桥的数据传输层面上来。由此简化了验证过程,并使得每条 验证用例的激励更复杂,提高了单条验证用例的覆盖率,减少了总体仿真时间。 除提升验证的抽象层次外,本次验证还使用了验证自动化方法、用仿真模型 提高验证效率的方法,以及以覆盖率为导向添加验证用例来保证验证充分性的方 法。 本文还深入分析了仿真器处理仿真中并行进程的方式及其产生原因。在此基 础上,进一步介绍了本次验证构建验证平台时如何避免仿真器的并行处理方式带 来的消极影响。验证过程中所作的这些努力均提高了桥接器的验证效率,缩短了 研发周期。 本论文用以提高验证效率的方法,同样适用于其他数字集成电路的验证需要。 所设计的p c 卡总线功能模型和构造的验证工具箱等验证元件具有可重用性,可 在其他类似设计的验证中重用。 关键字:验证效率,总线功能模型,验证用例,验证平台,验证自动化 a b s t r a ( 了 a b s t r a ( x a l o n gw i t ht h ei n c r e a s i n go ft h ei n t e g r a t e dc i r c u i t ss c a l e ,v e r i f i c a t i o ni s b e c o m i n gt h eh a r d e s ta n dt h em o s tc h a l l e n g i n gp a r to fi cd e s i g n 8 0 o fw o r k l o a da n d n s o l h c ci ni cd e s i g ni sd e v o t e dt ov e r i f i c a t i o n b u tt i n t o d a y , v e r i f i c a t i o n m e t h o d o l o g ys t i l ll a g sb e h i n dt h ei n e a s i n go fi c ss c a l e t h e r e f o r e ,i m p r o v i n g v e r i f i c a t i o nm e t h o d o l o g yi sb e c o m i n go n eo ft h er e s e a r c hf o c u s e s a n di m p r o v i n g v e r i f i c a t i o ne f f i c i e n c yi sa l s oa m a j o ri d e ai nt h i sp a p e r a b s t r a c ti st h em o s ti m p o r t a n tm e t h o dt o i m p r o v i n gv e r i f i c a t i o ne f f i c i e n c y t h r o u g ha b s t r a c t , t h ev e r i f i c a t i o ne n 舀n c c rc o u l dp a yt h e i ra t t e n t i o n sf r o ml o wl e v e l s i g n a l sl ot h et r a n s a c t i o nl e v e l t h u se s t a b l i s h i n gv e r i f i c a t i o ne n v i r o n m e n t , c o d i n g v e r i f i c a t i o ns t i m u l u s e sa n dc h e c k i n gt h ev e r i f i c a t i o no u t p u t sb e c o m ee a s i e ra n dm o r e c o n v e n i e n t t h eo t h e rb e n e f i to fa b s t r a c ti st h a ti tc o u l di m p r o v et h er e u s a b i l i t yo ft h e v e r i f i c a t i o ne l e m e n t s t ov e r i f yt h ea h b p cc a r db r i d g ei pc o r e ,t h i sp a p e rd e s i g n sp cc a r db u s f u n c t i o nm o d e lt h r o u g ha b s t r a c t a n db a s eo ni t ,t h i sp a p e rs e t su pu t i l i t yr o u t i n e s t h e ya r eo f t h r e ed i f f e r e n tl a y e r s ,a n dp r o v i d i n gm o r ec o m p l e xt a s k s b yu s i n gt h e m , t h ev e r i f i c a t i o ne f f i c i e n c yi se n h a n c e d b e s i d e sa b s t r a c t , t h i sp a p e ra l s ou s e so t h e rm e t h o d st oi m p r o v ev e r i f i c a t i o n e f f i c i e n c y , l i k ev e r i f i c a t i o na u t o m a t i o ne t c a tt h eb a c k s i d eo ft h i sp a p e r , i ta n a l y s e st h ep r i n c i p l eo f p a r a l l e ls i m u l a t i o n ,a n d d i s c u s s i n gh o wt oa v o i dt h en e g a t i v ee f f e c t so ft h i sp r i n c i p l cw h e ne s t a b l i s h i n gt h e t e s t b e n c h e s a l lo ft h em e t h o d su s e di nv e r i f i c a t i o nh e l p e du ss a v eal o to ft i m e a n da t l a s tw ea c q u i r e dag o o dr e s u l t t h em e t h o d sd i s c u s s i n gi nt h i sp a p e ra l s of i tf o rt h en e e do fo t h e ri c sv e r i f i c a t i o n t h ee s t a b l i s h e db u sf u n c t i o nm o d e l sa n d u t i l i t yr o u t i n e sa r er e u s a b l e k e yw o r d s :v e r i f i c a t i o ne f f i c i e n c y , b u sf u n c t i o nm o d e l ,t e s t c a s e ,t e s t b e n c h , v e r i f i c a t i o na u t o m a t i o n i l 翻目录 图1 - 1 图1 - 2 图2 - 1 图3 - 1 图3 - 2 图3 3 图3 4 图4 1 图牝 图4 - 3 图“ 图4 5 图4 - 6 图钾 图4 8 图 图4 - 1 0 图4 - 1 1 图4 - 1 2 图4 - 1 3 图4 - 1 4 图4 - 1 5 图4 - 1 6 图4 - 1 7 图禾1 8 图4 - 1 9 图4 - 2 0 图4 2 1 图目录 集成电路设计的回归模型1 验证平台与待验证电路 设计与验证的层次 读p c 卡c o m m o nm e m o r y 空问时序 写p c 卡c o m m o nm e m o r y 空间时序 读卡i o 空问的时序 写卡i 0 空间的时序 总线功能模型 1 9 2 0 p c 卡总线功能模型结构图 延时控制子模块的仿真结果2 8 信号配置予模块的仿真结果 卡参数配置子模块的仿真结果 2 9 3 0 i 0 读操作的仿真结果( 卡未延缓传输) 3 3 i 0 读操作的仿真结果( 卡延缓传输) w i 写操作的仿真结果( 卡未延缓传输) i o 写操作的仿真结果( 卡延缓传输) c o m m e m 读操作的仿真结果( 卡未延缓传输) 。 c o m m e m 读操作的仿真结果( 卡延缓传输) c o m m e m 写操作的仿真结果( 卡未延缓传输) c o m m e r e 写操作的仿真结果( 卡延缓传输) a t t r m e m 读操作的仿真结果( 卡未延缓传输) a t t r m e m 读操作的仿真结果( 卡延缓传输) 3 3 3 4 3 4 3 5 3 5 3 5 3 5 3 6 3 6 a t t r m e m 写操作的仿真结果( 卡未延缓传输) 3 6 a t t r m e m 写操作的仿真结果( 卡延缓传输) 。3 6 三态控制器的模型。3 7 使用p u l l d o w n 下拉信号的仿真结果3 9 检测操作类型的仿真f 1 志 $ s e t u p 系统函数的时序错误报告4 2 图目录 图5 1 图5 2 图5 3 图6 1 图6 - 2 图 图6 _ 4 图6 5 图6 - 6 图6 - 7 图6 - 8 图6 - 9 a h b 总线系统 a l b p cc a r d 桥在系统中的位置 a h b - - p cc a r d 桥接器的架构 4 5 4 9 a h b - - p cc a r d 桥接器的验证流程5 9 验证平台架构 u t i l i t yr o u t i n e s 的层次关系 p e r l 脚本的流程图。 6 1 6 8 p e r l 脚本分析仿真日志的结果 添加验证用例后代码覆盖率的增量。 全部验证的代码覆盖率 全部验证的代码覆盖率( 续) 全部验证的条件覆盖率 v i i i 8 7 8 8 表目录 表3 1 表3 2 表3 3 表弘 表3 - 5 表3 6 表4 1 表缸2 表5 1 表5 2 表5 3 表6 - 1 表6 2 表6 3 表6 1 4 表6 5 表6 - 6 表6 7 表目录 读p c 卡c o m m o nm e m o r y 空间控制信号状态 写p c 卡c o m m o nm e m o r y 空间控制信号状态 读p c 卡a t t r i b u t em c m o w 空间控制信号状态 写p c 卡a t t r i b u t em e m o r y 空间控制信号状态 读p c 卡i o 空问控制信号状态 写p c 卡i o 空自j 控制信号状态 i o 读操作数据总线布局与a 狮的关系 i 0 写操作数据总线布局与c e # 的关系 小端模式传输时的有效b y t el a n e 。 1 8 2 0 2 1 3 2 3 4 桥寄存器总表。 h b a r _ w i d t h 3 :0 信号的含义一5 2 桥基本功能的验证用例 数据传输功能的验证用例 寄存器功能的验证用例 边界情况的验证用例 异常情况的验证用例 6 9 7 0 7 2 t c 0 8 中传输序号与传输大小对应关系7 4 i n t e r f a c es t a t u s 寄存器 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工 作及取得的研究成果。据我所知,除了文中特别加以标注和致谢的地 方外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含 为获得电子科技大学或其它教育机构的学位或证书而使用过的材料。 与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明 确的说明并表示谢意。 签名:每摊日期:凸一7 年岁月a 3 日 关于论文使用授权的说明 本学位论文作者完全了解电子科技大学有关保留、使用学位论文 的规定,有权保留并向国家有关部门或机构送交论文的复印件和磁 盘,允许论文被查阅和借阅。本人授权电子科技大学可以将学位论文 的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或 扫描等复制手段保存、汇编学位论文。 ( 保密的学位论文在解密后应遵守此规定) 签名:辱裥 导师签名:铡司影影 日期:乃0 1 年s 月0 3 日 第一章引言 1 1 验证的目的 第一章引言 集成电路设计过程中的验证步骤是证明设计功能正确性的手段。集成电路的 设计过程从本质上说是待设计电路的规格到实际硬件电路的一种转化,验证的目 的就是确保这种转化的等价性。图1 - 1 中的回归模型1 1 l 直观的表述了验证与设计 的关系。 规格定义 规格 理解 设计实现 图1 1 集成电路设计的回归模型 设计的起点是待设计电路的规格。规格制订好后,设计工程师根据自己对规 格的理解实现硬件电路。在此过程中设计工程师由于个人的因素,对规格的理解 可能会与规格定义有所偏差。因此验证过程应当证明硬件电路的功能与规格描述 等价,而不是与设计工程师对规格的理解等价。 1 2 验证的意义 集成电路的发展日新月异。随着集成电路制造业的发展,芯片设计工程师能 够进行越来越复杂的设计,片上系统( s y s t e mo nc h i p ,s o c ) 应运而生。目前, 设计工程师可以在单芯片上利用超过1 0 亿基本门电路的资源进行s o c 设计,此 时芯片上的资源己不再是集成电路发展的瓶颈,而芯片设计的成功率却制约了集 成电路规模的扩大,从而成为了当前集成电路产业发展的瓶颈。d e e p c h i p 机构同 电子科技大学硕十学位论文 前的报告称6 1 的集成电路由于验证不充分或因生产引入的缺陷,需要重新设计 并返回到晶圆厂,至少需要一次重新流片。因此只有在设计阶段进行充分的验证 才能保证有较高的流片成功率,从而打破集成电路产业发展的瓶颈。 验证工作已成为当前集成电路设计中的关键路径,它在整个集成电路设计过 程中所占成本比重最高。正因为验证工作的必要性和高成本的属性,目前无论在 设计方法学的研究上还是e d a 工具的开发中都力求提高验证效率。 1 3 验证方法学发展概况 集成电路( i n t e g r a t e dc i r c u i t ,1 1 2 ) 的发展日新月异。1 9 9 4 年随着集成了1 亿 个元件的1 gd r a m 的研制成功,集成电路产业已从先前的超大规模集成电路 ( v e r yl a r g e s c a l ei n t e g r a t i o n ,v l s i ) 时代进入了巨大规模集成电路( g i g as c a l e i n t e g r a t i o n ,g s i ) 时代【“。目前,设计工程师可以在单芯片上利用超过1 0 亿基本 门电路的资源进行s o c ( s y s t e mo n a c h i p ) 设计1 2 j 。 随着集成电路规模和复杂度的快速增长,验证已成为当前集成电路设计中的 最困难、最具挑战的课题之一。统计资料表明:1 9 9 6 年开发3 0 万门的集成电路,。 验证工作占整个项目3 0 4 0 的时间和资源;而2 0 0 0 年1 0 0 万门的芯片设计中, 验证工作占整个项目5 0 8 0 的时间与资源i n 。当今的集成电路设计中,为了验 证设计而编写的代码量已占到了设计中总代码量的8 0 以上p 鼬j 。 因此如何更快、更全面的验证所设计集成电路的是否与设计初衷相符成为了 研究的焦点。近来,集成电路设计产业中验证方法学较之设计方法学有了更快的 发展,在e d a 厂商和i c 设计者的共同努力下,不断有新的验证方法和验证工具 发布。s o c 验证研究领域在验证技术、验证方法学、测试码提取、验证语言、i p 核重用验证、验证流程及验证评估方面取得了长足进步。 对于使用最为广泛的动态仿真验证,业界一方面在不断的改进仿真器的算法, 制订抽象层次更高、更适宜验证用途的验证语言来提高验证效率;另一方面不懈 的改进验证平台的结构,提高抽象层次,来提高验证模块的可重用性。在方法学 上,目前基于白盒验证、黑盒验证和灰盒验证这三种途径开发出了诸如基于断言 的动态验证、基于分层结构的r v m ( r e f e r e n c ev e r i f i c a t i o nm e t h o d o l o g y ) 验证、 以覆盖率为驱动的验证和随机验证等方法。 验证方法学发展的另个里程碑就是静态验证方法的运用。静态验证中,不 向待验证的设计施加激励,而是将待验证的设计映射为一个图形结构并用数学表 2 第一章引言 示方法来描述设计,然后运用数学推导的方法查找设计的数学描述与设计初衷是 否有所违背。典型的静态验证方法有静态时序分析、形式验证。静态验证克服了 动态验证在大规模集成电路验证中资源需求大、仿真时间长的缺点。静态时序分 析根据设计电路的拓扑结构来检查包括有效路径和无效路径的所有路径的时序, 测试路径的理论覆盖率可达l o o 。形式验证采用数学证明的方法验证设计电路 两种形式的等价性,它比动态仿真更快、更精确。 目前,对覆盖率的统计成为了考量验证是否充分的方法。目前的验证工具支 持功能覆盖率、代码覆盖率、条件覆盖率、状态机覆盖率等多种覆羞率的统计。 利用这些统计结果一方面可以检查验证的效果,另一方面在一定程度上可以发现 设计中存在的问题。 此外,受验证方法学发展的推动,更优化的验证工具也层出不穷。一些新的 验证语言和工具通过减少构建验证环境所花费的时间来提高生产率;一些在仿真 及结果分析中提高着验证的效率。例如,在一些工具的帮助下验证方案可以在较 高的抽象级别编写,并能够通过功能强大的面向对象型结构而扩展至任何较低的 抽象级。 1 4 验证的术语解释 验证涉及一些术语,具体讲述验证之前先在此予以介绍: 1 验证用例 验证用例也称测试用例( t e s t c a s e ,t c ) ,广义上包括验证点和验证数据两部 分。验证点即为要验证的特性或功能点,验证数据包括验证激励和在此激励下设 计的电路产生的响应。例如要验证一个二输入与门,那么验证点即是与操作是否 实现,而验证激励包括o o 、0 1 、1 1 、1 0 这四种输入组合。这些验证激励和与门在 激励作用下产生的响应就共同构成了验证数据。狭义上验证用例即为验证激励。 2 验证平台 在功能验证中,验证平台( t e s t b e n c h ) 指为验证电路的r t l 代码而编写的对 该电路施加激励并观测其响应的行为级代码【1 1 。验证平台具有图1 2 的形式。 电子科技人学硕士学位论文 图1 2 验证平台与待验证电路 由图1 2 可看出,验证平台对外没有输入、输出接口,仅在内部对待验证的 电路施加激励并接收其做出的响应,然后根据此响应判断设计的电路功能是否与 预期相符。 3 验证元件 验证元件指为验证目的而设计、构造的所有验证实体。包括验证中的总线功 能模型、验证用例、验证结果分析工具、验证工具箱等。验证元件是构成验证平 台的元素。 4 验证环境 验证环境是一个广义的概念。除包含验证平台外,其还包括验证的文件组织 结构、验证代码与文档的管理方式、验证中的e d a 软件等。 1 5 本论文课题背景 本课题来源于校企合作科研项目( p c m c i ah o s ti p 的开发。此项目的任 务是设计在a h b 总线与p cc a r d 总线日j 提供协议转换功能的桥接器软核。 a h b ( a d v a n c e dh i g h p e r f o r m a n c eb u s ) 作为一种高性能片上总线,在现实 生活中己得到了广泛的应用。在i c 设计中,开发基于a h b 总线的口核就可以有 效的进行i p 核的移植、复用,并能与a r m 处理器结合,在缩短研发周期的同时 实现高性能的系统。 p cc a r d 标准着眼于外设和计算机问的互连。为了扩展s o c 芯片的应用领域, 方便与便携式外设连接,在s o c 芯片上集成p cc a r d 接1 3 是有必要的。p c 卡目 前已有多种成熟产品,如无线广域网网卡、g p s 卡、调制解调器、某些存储卡等。 近期国家制订的i p l v 标准中也将p cc a r d 接口作为其接口规范。可见p cc a r d 4 第一章引言 接口有着广泛的发展空间。 本桥接器是基于a h b 接1 3 的p cc a r d 控制器,它负责将a h b 总线一侧发起 的传输转换成符合p cc a r d 协议的传输,并对p cc a r d 接口上的卡进行操作。这 样在a r m 这样的嵌入式处理器与p c 卡问建立通路,扩展了嵌入式系统的应用。 1 6 本文主要内容及章节安排 本文的主要工作是研究数字集成电路的验证方法学,特别是对功能验证中的 各项技术进行研究,以求提高验证效率。 文中首先介绍了当前数字集成电路验证方法学的发展状况。然后介绍了使用 总线功能模型为验证带来的好处,并详细讲述了基于p c m c l a 总线的p c 卡总线 功能模型的设计过程。随后本文介绍了本次验证的对象a h b - - p cc a r d 桥接器, 并在仔细分析其功能的基础上讲述了对其验证的全过程,其中详细介绍了验证中 采取的提高验证效率的多种方法。在文章的最后。对本次验证进行了总结。给出 了验证的效果,并提出了验证中仍可改进的地方。 本文共七章,章节安排如下: 第二章介绍了集成电路验证方法学研究的目的、意义,重点介绍了当前集成 电路验证的层次、方法、效率和效果。 第三章简要介绍了f c m c i a 组织制订的p cc a r d 总线协议,为后面讲述p c 卡及p cc a r d 总线监控器总线功能模型的设计和a h b - - p cc a r d 桥接器的验证做 铺垫。 第四章在介绍了总线功能模型及其在验证中的作用后,详细讲述了本次验证 中p c 卡总线功能模型和p cc a r d 总线监控器总线功能模型的设计,其中较为详 尽的讲述了本次设计总线功能模型遇到的问题和磐决办法。 第五章在概述a r m 公司制订的a h b 总线协议基础上,介绍了本次验证的对 象a h b - - p cc a r d 桥接器的用途、架构和功能。对该桥功能的分析是第六章讲述 验证用例设计的基础。 第六章讲解了a h b p cc a r d 桥接器的验证过程。重点讲述了验证平台、验 证用例的设计,如何避免仿真错误,以及为提高验证效率而采取的验证自动化措 施。 第七章作对本文做出总结,分析了验证仍可改进的地方,对今后应开展的工 作做出展望。 5 电子科技大学硕士学位论文 第二章集成电路验证方法学 2 1 数字集成电路的设计流程 验证是集成电路设计过程中重要的一环,验证工程师在设计的整个流程中不 断的检查已完成的设计步骤是否向后面的设计步骤转达了正确、完整的信息。本 节简要介绍集成电路设计流程,以便更直观的认识验证在集成电路设计中的地位 和作用。 数字集成电路设计的流程为 1 待设计集成电路规格的制订。 2 电路结构的设计及验证。设计电路结构时,工程师按照自己的思路,利用 行为级的硬件描述语言( h a r d w a r ed e s c r i p t i o nl a n g u a g e ,h d l ) 搭建电 路模型,以此来验证设计的可行性,并对比几种不同的设计方案,选择最 佳的方案。 3 验证方案和详细设计方案的制订。验证工程师根据第一步制订出的规格, 细化功能点,由功能点构建验证用例。并根据验证需求规划验证环境,描 述验证平台的结构。与此同时设计工程师根据第一步制订出的规格,编写 详细的设计方案。 4 寄存器传输级( r e g i s t e rt r a n s f e rl e v e l ,r t l ) 的h d l 编码:验证环境的 搭建和测试用例的编码。 5 对电路中的存储元件进行内建自测试( b u i l d i n s e l f t e s t ,b i s t ) 的插入。 6 通过动态仿真进行功能验证。验证工程师利用搭建好的验证环境对r t l 代码施加激励,进行动态仿真,观测结果。这一步中并不考虑器件延时的 影响,仅验证逻辑功能是否正确。 7 综合,扫描链的插入。 8 对综合后的电路进行静态时序分析。上面第5 步提到动态仿真并没有考虑 器件延时对电路正确性的影响,而仅考察电路逻辑功能上的正确性。静态 时序分析与之相反,它验证电路中每条可能路径的在时问上是否满足需 要,而不考察功能是否正确。静态时序分析将器件和虚拟连线的延时考虑 进来,检查电路的时序是否和设计规格相符。本步中,由于还没有布局布 6 第二章集成电路验证方法学 线,连线延时还是未知量。因此静态时序分析工具p r i m e l i m e 利用被称为 w i r e1 0 a dm o d e l 的模型估计连线的延时,此时的分析还不是非常精确的。 9 形式验证。形式验证比较综合后得到的网表与r t l 代码在功能上是否等 价。 1 0 前向标注( f o r w a r da n n o t a t i o n ) 。把第7 步静态时序分析工具输出的s d f 格式的时序约束文件前向标注给版图编辑工具,以对集成电路的功能模块 进行布局。 1 1 电路分块并根据前向标注的时序约束进行预布局( f l o o r p l a r d n g ) 。电路分 块是将整个电路分割成数个不同的子电路。预布局将所有的子电路放置在 版图编辑工具里,此时这些子电路的形状、面积以及i 0 引脚的位置等都 还是不固定的。在整个物理设计中,预布局办扮演着非常重要的角色,它 直接关系着芯片的面积、连线等成本的大小。 1 2 布局( p l a c e m e n t ) 。布局与预布局很像,不同在于此时放置在版图编辑工 具里的是形状大小、面积都固定的门或标准元件。 1 3 插入时钟树并对插入时钟树后提取出的网表和综合后没有时钟树的网表 文件做等效性检查,检验插入时钟树后电路的功能有没有被破坏。 1 4 连线。连线就是完成所有子电路间的线路连接,它包括全局布线和子电路 内的局部细化布线。 1 5 反向标注( b a c ka n n o t a t i o n ) 。完成1 0 1 2 步后,已经得到了集成电路的 版图,器件和连线的延时也都已固定了。此时将电路中的延时信息提取出 来反过来再次输入到静态时序分析工具中,就称为反向标注。电路的时序 关系再次被验证,检验是否符合设计需求。 1 6 版图的设计规则检查。其中包括l s ( 1 a y o u tv c i s u ss c h e m a t i c ) 检查和 d r c ( d e s i g nr u l ec h e c k i n g ) 检查。 1 7 版图功能的形式验证。由版图提取其构成的电路功能,并与综合后得到的 网表做等效性检查。 到此一个集成电路的设计阶段工作结束,将最后得到的版图交予集成电路生 产厂商流片。 值得说明的是,在实际的设计中,以上许多步骤是循环进行的,例如如果综 合后得到的网表静态时序分析不通过,那么就要返回到综合步骤调整参数再次综 合,甚至返回到最初的方案设计阶段改用其他电路结构。 7 屯子科技大学硕十学位论文 2 2 验证的层次划分 根据集成电路的设计流程,可将验证分为四个层次,这四个层次对应着集成 电路设计的四个阶段,设计对象的不同决定了验证层次的不同。图2 - 1 反映了这 种层次关系。 2 2 1 系统级验证 图2 1 设计与验证的层次 系统级验证主要验证集成电路体系结构是否合理,是否能够满足算法需要并 达到较好性能。通常利用h d l 语言的行为级描述构建所设计的体系结构进行论 证。 2 2 2 功能验证 功能验证针对寄存器传输( r t l ) 级的代码进行,可分为模块级验证和系统 验证两部分。模块级的验证针对设计的子电路模块,由于各个子模块的功能单一, 无需搭建复杂的验证平台进行验证,因此模块级的验证由设计该模块的工程师完 成。 系统级的验证针对设计好的整个集成电路系统。由于当今集成电路规模庞大, 功能复杂,因此需要精心设计验证用例,并搭建验证平台进行验证。这一级的验 证不考虑电路器件延时的影响,主要关注设计对象的功能是否正确。这一层面上 的验证占用了大量的时间,因此成为了验证方法学研究的重点。也是本文讨论的 重点。 第二章集成电路验汪方法学 2 2 3 门级验证 r t l 代码综合后生成了门级网表,此时电路中的门已具有了延时。这一层的 验证主要关注设计对象的功能和时序是否满足需要。 2 2 4 版图验证 版图验证主要进行设计规则( d r c ) 检查、版图与原理图对照( l v s ) 和信 号完整性分析 7 1 。这一层面的验证是物理层面的验证。 2 3 验证方法的多样性 从上面对设计流程的叙述可看出验证贯穿整个集成电路的设计流程。各阶段 设计的需要就促使了验证方法的多元化发展。 随着验证技术的逐步发展,验证方法由最初的直接测试向量生成( d i r e c t e d t e s tv e c t o rg e n e r a t i o n ) 。发展到约束随机测试( c o n s t r a i n e dr a n d o mt e s t ) 、覆盖 率驱动的验证( c o v e r a g e d r i v e nv e r i f i c a t i o n ) ,直到最新的基于断言的验证方法 ( 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 ) ,各种验证方法在不断创新。 当前所使用的验证方法从验证形式上可分为动态验证和静态验证两大类。二 者不同之处在于是否需要对设计施加验证激励并利用仿真器进行仿真。 2 3 1 静态验证 静态验证不向设计施加激励,而是将设计映射在一个图形结构中,同时用数 学表示方法描述所有时间周期内电路的动作。利用这种图形结构的推导来证实或 反驳这些数学表达式。因此静态验证不需要仿真器仿真,省去了动态验证中花在 仿真上的大量时间。静态验证主要包括静态时序分析( s t a t i c t i m i n g a n a l y z e ,s t a ) 和形式验证( f o r m a lv e r i f i c a t i o n ) 。 静态时序分析根据电路的拓扑结构,验证有连接关系的每条路径的时序是否 满足要求,即使在电路工作时不会出现的路径也在检查之列。此外,静态时序分 析可以辨别出设计中所有的关键路径。静态时序分析的弱点在于其只适用于同步 时序电路的分析,因为在同步时序电路中某一时刻电路的状态是有限的。而对于 异步时序电路,例如跨越两个时钟域的地方,由于异步导致了电路状态的不确定 性,因而静态时序分析无能为力【8 j 。 9 屯子科技大学硕士学位论文 形式验证通过数学运算将两个设计或竣计的两种形式进行一致性对比,得出 被比较的两个对象功能上是否一致的结论,并报告出不一致的地方。例如,由于 设计工程师r t l 代码风格的问题,综合后得到的网表功能上可能与r t l 代码出 现了差别,形式验证就是最合适的检验这种差别的方法,它速度快且精确性高唧。 2 3 2 动态验证 动态验证是集成电路前端设计过程中不可或缺的验证方法。前端验证,又称 功能验证,其验证的对象主要是设计的r t l 代码。在验证平台的支持下,对设计 的r t l 代码施加验证激励,然后通过仿真器动态仿真来验证r t l 代码功能的正 确性。耳前,尚没有其他的验证方法可验证r t l 代码的功能正确性。 动态仿真的缺点是随着集成电路设计规模日益扩大,功能越来越复杂,验证 平台设计难度不断增大,仿真时间越来越长。而且验证工程师的经验决定了验证 用例的质量,当施加的激励没有敏化某些路径时,这些路径的功能得不到验证。 验证用例的质量还决定了验证的覆盖率。 动态验证根据其可控性和可观性分为三个类别,分别是白盒验证、黑盒验证 和灰盒验证【。 自盒验证时,验证对象具有完全的可控性和客观性。验证工程师完全了解电 路的实现方式和电路细节,可以很快的根据验证需要确定输入的激励,仿真中可 以观测到任何感兴趣的电路内部信号,方便了错误定位。白盒验证方法需要验证 工程师完全清楚设计细节,这不仅增加了验证工程师的工作量,而且由于涉及电 路的细节,所以针对特定电路的验证元件仅适用于该电路本身,无法在验证其他 电路时重用。 黑盒验证是目前业界广泛采用的验证方法。验证时把设计作为一个黑盒子, 验证工程师完全不知道电路的内部结构和特性,只通过接口上信号的检查设计的 电路是否符合规格定义。这种验证形式缺乏对设计电路的可控性和可观性,因此 要对设计的电路进行全面的验证较为困难。黑盒验证的优点在于它不依赖于特定 的设计,无需知道设计电路的内部构成,因此验证平台的建立可以与设计过程同 时进行,有利于缩短验证周期。并且由于黑盒验证仅在电路的外部接1 3 上施加激 励和观测结果,所以设计的验证元件可在具有相同接口的其他电路验证中重用。 本论文涉及的a h b p cc a r d 桥接器的验证就使用的黑盒验证方法,设计和验证 人员不同,共同制订规格,然后设计和验证平台建立同时进行。 l o 第二章集成电路验证方法学 灰盒验证是黑盒验证和白盒验证的折蓖。它像黑盒验证一样在设计的项层进 行控制和监测结果,但对于设计电路的关键性功能点又像白盒验证那样专门针对 要验证的地方单独设计激励和检验仿真结果。 由于动态验证在集成电路设计中的重要性和不可替代性,目前基于上述三种 验证方式开发出了很多动态验证方法,如随机验证、r v m 验证、基于断言的验证 和以覆盏率为驱动的验证等。他们的共同特点是都在力求在更高的抽象层次上进 行验证,以提高验证效率。 2 4 验证的效率 验证己成为集成电路设计的关键路径,也就是耗费时间和资源最多的环节, 直接关系着产品的研发周期长短,因此提高验证的效率也就显得格外重要。 2 4 1 验证抽象层次与验证效率 提高验证的抽象层次是提高验证效率的重要手段。在最底层,也就是电路接 口上的信号,验证激励的编写和仿真结果的观测都针对各信号,当电路规模很大 时,这种底层信号会很多,它们之间的关系也会很复杂,编写激励和监测结果会 变得很费时且易错。验证时可将这种底层信号的动作抽象到传输层( t r a n s a c t i o n l e v e l ) l l o j , 也即在基本的数据传输层面编写激励和监测仿真结果。例如在系统中 常会有处理器通过总线对其他模块发起的数据读写操作。当总线协议复杂时,接 口上的控制信号会较多且时序复杂。如果在编写验证激励的时候从底层信号的角 度出发,那么每编写一个验证激励都要按照总线协议的定义仔细描述各个信号间 的时序关系,工作重复性大且易错,效率不高。如果把验证抽象到传输层,那么 可以利用抽象出的传输任务发起激励。编写激励时,只需调用基本的传输任务, 验证平台中相应的总线功能模型就会把这种基本传输命令转化成接口上信号间的 时序并对待验证电路发起激励。 以上的抽象层次还较低,仅抽象到了基本传输命令的层次,例如仅有了定长 数据读取的传输任务。要提高验证效率,还可以再次将数据传输操作抽象到可变 长数据传输上。接下来,还可以进一步抽象到数据包的传输层面上来。 通过提高抽象层次,验证工程师编写数据传输的验证激励可以专注于接口上 数据操作的思考,而完全忽略底层信号的时序。减轻了编写激励的工作量,提高 了效率。 电子科技大学硕士学位论文 逐层抽象的好处还在于,在构建验证平台时,可以按抽象层次,首先构建用 于验证目的的底层验证元件,然后在这些底层的验证元件基础上逐渐构建更高抽 象层次的验证元件,这是一种增量式的构建方式。这种方式最小化了验证工程师 搭建验证平台时的工作量,减少了调试验证环境的时间,也提高了验证元件的可 重用性。 基于传输级的验证( t r a n s a c t i o nb a s e dv e r i f i c a t i o n ) 1 1 0 l 在1 9 9 8 年首次提出, 并迅速在集成电路的功能验证中得到广泛应用。传输级的概念很宽泛,正如上面 两段讲到的,可以简单到存储器读,或复杂到通信信道那整个数据包的传输。传 输级( t r a n s a c t i o nl e v e l ) 是设计的电路体系结构所处的抽象层次,也是可以有效 验证电路的层次。 目前有许多验证语言,例如v e r a 语言、s y s t e m v e r i l o g 语言等,他们类似一些 高级语言,具有丰富的数据结构和控制语句,在验证中利用它们能够将验证提高 到很高的抽象层次上,从而提高验证的效率。 2 4 2 影响动态仿真时问的因素 在集成电路前端设计过程中乃至整个设计过程中,r t l 代码的功能验证是耗 时闻和精力最多的环节。功能验证把待验证电路例化到验证平台中,通过仿真器 动态仿真来验证r t l 代码逻辑功能的正确性。因此缩短仿真时问也就有助于验证 效率的提高。 仿真时间长短除了与仿真算法这一验证工程师不可控的因素有关外,也与验 证平台及验证激励的质量有很大关系。最直观的是,如果能够减少验证激励的数 量,减少每个激励中操作的数量,减少一个操作中电路状态改变的数量,那么就 能缩短仿真时间。这需要验证工程师仔细分析需要验证的功能点,减少各个验证 激励在操作上的重叠,减少一个验证用例中验证平台各模块问及它们与待验证电 路的交互。例如,在编写激励时要避免与本验证用例无关的控制信号、设计中寄 存器的翻转;通过施加激励使待验证电路尽早进入所需的状态等。 验证结果的保存和处理是否得当也关系着仿真时间长短。仿真过程中,波形 的记录、仿真日志的输出都会花费较多时间。因此验证平台设计时,对是否保存 仿真结果应有可配置性,可由验证激励控制在本次仿真中是否输出结果以及输出 哪些结果。编写激励时,要尽量减少仿真结果记录的数量和时间,不关心的时间 段不记录仿真结果,不电录与本验证用例无关信号的波形。 第二章集成电路验证方法学 仿真时间还与仿真平台的建立方式及验证工具有关。目前业界开发出了许多 专用于功能验证的语言,他们抽象层次高,数据结构丰富,使用他们可以缩短仿 真藏的编译时间和仿真执行时问。 2 4 3 验证自动化与验证效率 验证自动化包括仿真的自动控制和仿真结果的自动分析。它们都需要验证工 程师在构建验证平台时给予考虑。 在验证过程中,由于设计可能存在的闯题或验证激励设计的不合理可能导致 仿真过程出现死循环,或仿真器一直等待某个不可能发生事件的发生,从而浪费 仿真时间。为避免这种情况,就需要在构建验证平台时嵌入对仿真自动控制的机 制,当这些情况发生时仿真要根据问题的严重程度立即终止或跳过此处继续下面 的操作,也就是要仿真能自动从错误中恢复。 当前集成电路规模只益庞大,动态仿真输出的结果数据量非常大,仅靠人工 分析这些结果必将影响仿真效率。因此需要引入自动数据对比、自动时序检测、 自动比较总线上的操作是否与协议约定一致等自动化分析方法。 2 4 4 验证模块的复用与验证效率 验证模块的复用( 也称“重用”) 旨在加强验证元件的通用性,使验证元件一 次设计后可以在多次相关电路的验证中使用。这样缩短了每次搭建验证平台所花 费的时间。 而且这种可重用模块多经过仔细的设计和全面的检测,保证了其功能的正确 性,使用他们能够减小自己开发验证平台的风险。 目前e d a 厂商丌发出了很多符合
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 福建体育职业技术学院《应用文写作》2025-2026学年期末试卷
- 赣东学院《健康管理职业导论》2025-2026学年期末试卷
- 福建商学院《产业经济学》2025-2026学年期末试卷
- 福建中医药大学《会展战略管理》2025-2026学年期末试卷
- 池州职业技术学院《数字贸易学》2025-2026学年期末试卷
- 伊春职业学院《分析化学》2025-2026学年期末试卷
- 人工智能获得数据:方法与隐私
- 安全约谈公告指南讲解
- 甘油果糖外渗处理
- 镀锌工班组协作测试考核试卷含答案
- 蔚来主品牌视觉识别系统(完整版)
- 知识产权培训课件亚马逊
- 国网 35kV~750kV输电线路绝缘子金具串通 用设计模块清单(试行)2024
- 五下语文第三单元《写研究报告》满分范文
- 脚手架拆除专项施工方案
- 个人车挂靠公司货车买卖合同
- 单位员工社保合同范本
- 某幼儿园内部控制规范手册
- 预防中小学沉迷网络主题班会
- 建筑工程安全建筑工程安全专项施工方案编制指南
- 《灰尘的旅行》导读课教学课件
评论
0/150
提交评论