(通信与信息系统专业论文)cardbusahb总线桥ip核的验证方法研究和实现.pdf_第1页
(通信与信息系统专业论文)cardbusahb总线桥ip核的验证方法研究和实现.pdf_第2页
(通信与信息系统专业论文)cardbusahb总线桥ip核的验证方法研究和实现.pdf_第3页
(通信与信息系统专业论文)cardbusahb总线桥ip核的验证方法研究和实现.pdf_第4页
(通信与信息系统专业论文)cardbusahb总线桥ip核的验证方法研究和实现.pdf_第5页
已阅读5页,还剩78页未读 继续免费阅读

下载本文档

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

文档简介

摘要 摘要 随着i c 设计的复杂度和规模不断增大,使得功能验证变得越来越复杂,并且 在整个设计周期中占用最多时间。尽管目前有很多技术可用于减少验证消耗的时 间和资源,但是如何选择一种合适并且有效的验证方法仍是一个重要研究课题。 集成电路制造和设计技术的迅速发展将集成电路设计带入片上系统( s o c ) 时 代口核成为片上系统最重要的单元。基于标准总线c a r d b u s 和片上总线a h b 的 c a r d b u s - a h b 桥口建立了这两种总线之间的一个通路,使得总线问的数据交换和 跨总线访问成为可能 本论文针对c a r d b u s - a h b 桥坤的功能特点,提出了一种基于s y n o p s y s v e r i f i c a t i o ni p 的功能验证方法。此方法的是利用s y n o p s y s 公司提供的v e r i f i c a t i o n i p 建立总线功能模型,并以此来建立事务,搭建验证平台。论文的主要内容为: 研究当前用于功能验证的方法、技术、工具和语言,对功能验证的流程及流程 三阶段进行了阐述和说明。分析p cc a r ds t a n d a r d8 0 规范和a m b as p e c i f i c a t i o n 2 0 协议,在此基础上提出了c a r d b u s - a h b 桥口核的总体框图并对所实现的功能 点进行仔细分析,给出了详尽的功能列表。 设计了c a r d b u s - a h b 桥i p 核的黑盒法验证方案,包括可重用的验证系统框图, 激励输入机制的确定,响应检测机制的确定以及基于s y n o p s y sv e r i f i c a t i o ni pb f m 的事务包的设计和实现,并给出了文件组织结构。 编写了十个验证通道,设计和实现了1 4 2 个测试用例,每个通道的测试用例 揽括了基本用例、边界用例和异常用例三个类别,并且对用例的验证思路、验证 顺序和具体内容都进行了详细说明。 搭建基于u n i x 操作系统的验证平台,编写了基于cs h e l l 的自动化测试脚本。 进行了完备的功能测试,在功能覆盖完成后,进行了1 4 次回归测试和代码覆盖率 检查。 经过系统的功能验证,此i p 达到了功能覆盖率1 0 0 ,代码的行覆盖率1 0 0 和条件覆盖率9 5 以上的行业标准。为后期的工作奠定了正确的基础。表明本验 证方法具有很好的实用参考价值。 关键词;功能验证,s y n o p s y sv e r i f i c a t i o ni p ,b f m ,测试用例 a b s t r a c t 舡t h ec o m p l e x i t ya n ds c o p ei nt h ei c ( i n t e g r a t ec i r c u i t ) d e s i g nf i e l dh a sb e c o m e i n c r e s c e n t , t h ef u n c t i o nv e r i f i c a t i o nh a sa l s ob f 积3 m em o r ec o m p l e x ,a n di th a st a k e nt h e m o s tp a r to fe n t i r ei cd e s i g np r o c e s s n o wt h e r ea r em a n yt e c h n o l o g i e sa n dm e t h o d st o r e d u c et h ee x p e n s eo nf u n c t i o nv e r i f i c a t i o n , b u th o wt of i n das u i t a b l ea n de f f i c a c i o u s m e t h o di ss t i l laq u e s t i o nf o rd i s c u s s i o n t h ed e v e l o p m e n ti ni n t e g r a t ec i r c u i tm a n u f a c t u r ea n dd e s i g nt e c h n o l o g ym a k et h e i n t e g r a t ec i r c u i td e s i g ne n t e rt h es o c ( s y s t 锄o nc h i p ) p h a s e t h eb r i d g el pb e t w e e n t h es t a n d a r dc a r d b n sa n da h bh a sb u i l tar o a d ,i tm a k et h er e a l i z a t i o no fd a t at r a n s i t i o n a n dp r o t o c o ls w i t c h o v e rb e t w e e nt h et w ob u s e s i i lt h i sd i s s e r t a t i o n t h ea u t h o rh a sg i v e naf u n c t i o nv e r i f i c a t i o nm e t h o db a s eo l l s y n o p s y sv e r i f i c a t i o ni p t h ep i v o t a lp a r to ft h em e t h o di su s i n gs y n o p s y sv e r i f i c a t i o n l pt ob u i l db f m ( b u sf u n c t i o nm o d e l ) a n dv e r i f i c a t i o ne n v i r o n m e n t t h cm a i nc o n t e n t s f i ea sf o l l o w s : d i dr e s e a r c ho nt h el e a d i n gm e t h o d s ,t e c h n o l o g i e s ,t o o l sa n dl a n g u a g e si nf u n c t i o n v e r i f i c a t i o nf i e l d ,e x p o u n d e dt h ef l o wo ff u n c t i o nv e r i f i c a t i o na n di t st h r e ep h a s e s a n a l y z e dt h ep r i n c i p l e o fp cc a r ds t a n d a r da n da m b as p e c i f i c a t i o n g a v et h e c o l l e c t i v i t yp l o to f t h ec a r d b u s a h bi pc o r ea n da n a l y z e dt h ef u n c t i o np o i n t si nd e t a i l , g a v et h ef u n c t i o nl i s t m a d et h eb l a c k - b o xv e r i f i c a t i o np l a n , i n c l u d et h er e u s e dv e r i f i c a t i o ns y s t e m , s t i m u l u sm e c h a n i s m ,r e s p o n s em e c h a n i s ma n dt h eu t i l i t yb a s e do ns y n o p s y s v e r i f i c a t i o ni pb f r a ,t h e ng a v et h ef i l es t r u c t u r e c o d e dt e nv e r i f i c t i a o nc h u n n a l s ,1 4 2t e s t c a s e s ,t h e r e f i et h r e ek i n d so ft e s t c a s e si n e v e r yc h u n n a l :t h eb a s i ct e s t c a s e ,t h eb a n dt e s t c a s ea n dt h ea b n o r m a lt e s t c a s e s ,w i t ht h e d e s c r i p t i o no fv e r i f i c a t i o ns e q u e n c e sa n dt h ec o n t e n t so fe v e r yt e s t c a s e b u i l tt h ev e r i f i c a t i o np l a t f o r mb a s eo i lu n i xo p e r a t i n gs y s t e m , c o d e dt h ea u t o m a t i c t e s ts c r i p tb a s e do ncs h e l l t e s t e dc o m p l e t e l y , a f t e rh a v i n ga l lt h ef u n c t i o nc o r r e c t v e r i f i c a t e d ,d i d1 4r e g r e s s i v et e s ta n dc h e c k e dt h ec o d ec o v e r a g e a f t e rt h ek i n do ff u n c t i o nv e r i f i c a t i o n t h ei ph a v eg o tt h e1 0 0 c o v e r a g ef o r i i f u n c t i o n ,1 0 0 l i n ec o v e r a g ea n d9 5 c o n d i t i o nc o v e r a g ef o rc o d e t h es u c c c a so f f u n c t i o nv e r i f i c a t i o nh a v em a d et h ec o r r e c tf o u n d a t i o nf o rt h es u b s e q u e n tp h a s e s , i t m e a n st h i sk i n do fm e t h o dh a sg o o dp r a c t i c a l i t yv a l u e k e y w o r d :f u n c t i o nv e r i f i c a t i o n ,s y n o p s y sv e r i f i c a t i o ni p , b f m ,t e s t c a s e l 图目录 图目录 图2 - 1a s i c 设计流程。 图2 - 2 功能验证路径 图2 - 3 灰盒验证 6 1 ( ) 图2 - 4 功能验证流程 图3 1 引脚功能组 图3 2c a r d b u s 突发写时序。 图3 - 3c a r d b u s 的突发读传输。 : o :! 】【 图3 _ 4a h b 主模块引脚功能组2 2 图3 - 5 a h bs l a v e 引脚功能组2 3 图3 6a h bb u r s t 传输接口时序 图3 7c a r d b u s - a h b 总线桥i p 的总体框图2 4 图3 8 本m 在系统中的位置2 5 图4 1b f m 在验证系统的位置2 8 图4 2 用测试用例的完成来测量进度3 0 图禾3 可重用的测试平台3 1 图4 4 本l p 的验证系统框图3 3 图舢5 利用s y n o p s y sv i p 搭建b f m 3 6 图4 6 时钟控制b f m 设计3 7 图5 1 本i p 的测试用例流程4 6 图5 2 对不正确的地址奇偶校验位的测试:4 9 图5 3 中断机制的测试用例5 1 图5 4 验证目录 图6 - 1 测试周期5 9 图6 2 配置空间的快速背靠背仿真波形 图6 3i ,0 空间地址转换仿真波形6 2 图6 4c w p 写保护仿真波形- 1 6 2 图6 5c w p 写保护仿真波形- 2 6 3 图6 - 6 奇偶校验仿真波形6 3 圈目录 图6 7h i n t 中断仿真波形6 3 图6 8i p 空闲时主设备停止时钟仿真波形6 4 图6 - 9 a h bs l a v e 空间仿真波形6 4 图6 1 0 对可预取空问的多数据突发写仿真波形1 6 4 图6 1 1 对可预取空间的多数据突发写仿真波形- 2 6 5 图6 1 2 条件覆盖率报告 图6 - 1 3 行覆盖率报告1 图6 1 4 行覆盖率报告2 x 砸酊盯 表目录 表目录 表3 - 1c a r d b u s 总线命令编码 表4 1p c i 协议与c a r d b u s 协议的比较 表4 _ 2p c if l e x m o d e l 基本命令 表4 - 3a h bv e r i f i c a t i o ni p 的基本命令 表5 1 测试用例的文档内容。 1 9 表5 2c a r d b u s 对i o 访问的地址总线译码规则 表5 - 3 状态改变通知的测试用例 表5 _ 4 断开连接的部分测试用例。 表5 - 5 时钟控制的测试用例 表5 6 a h bs l a v e 空间的测试用例 表5 7 a h b 和p c i 的b f m 5 5 表6 - 1 测试平台和工具6 l 表6 - 2 代码覆盖率总体结果6 5 缩略语 戳 a h b a m a a p b b f m c i s c d v 哪 c t d c d f r d t v g i p p c m q a r t l s o c s 1 :a v i i 缩略语 a s s c r t i o n - b a s e dv e r i f i c a t i o n a d v a n c e dh i g h - p e r f o r m a n c eb u s a d v a n c e dm i c r o c o n t r o l l c rb u sa r c h i t e c t u r e a d v a n c e dp e r i p h e r a lb u s b u sf u n c t i o nm o d e l c a r di n f o r m a t i o ns y s t e m c o v e r a g ed r i v e nv e r i f i c a t i o n c o n s t r a i n t c dr a n d o mt c s t c l o c kt r c c d e s i g nc o m p i l e r d e s i g nf o r t e s t d i r e c t e dt e s tv e c t o rg e n e r a t i o n i n t e l l i g e n c ep r o p e r t y p e r s o n a l c o m p u t e rm e m o r y c a r d i n t e m a t i o n a la s s o c i a t i o n r e g i s t e rt r a n s f e rl o g i c s y s t e mo nc h i p s t a t i ct i m i n g a n a l y s i s v e r i f i c a t i o ni n e t e l l i l g e n c ep r o p e r t y x i i 基于断言的验证 先进高性能总线 先进微处理器总线结构 先进外围总线 总线功能模型 卡上信息 覆盖率驱动验证 约束随机测试 时钟树 综合 适于测试的设计 直接测试向量生成 知识产权 个人计算机存储卡组织 寄存器传输逻辑 片上系统 静态时序分析 验证知识产权 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工 作及取得的研究成果。据我所知,除了文中特别加以标注和致谢的地 方外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含 为获得电子科技大学或其它教育机构的学位或证书而使用过的材料。 与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明 确的说明并表示谢意。 签名:h日期:内年月 2 ,日 关于论文使用授权的说明 本学位论文作者完全了解电子科技大学有关保留、使用学位论文 的规定,有权保留并向国家有关部门或机构送交论文的复印件和磁 盘,允许论文被查阅和借阅。本人授权电子科技大学可以将学位论文 的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或 扫描等复制手段保存、汇编学位论文。 保密的学位敝在解密后应遵守此规定 仝阵 签名:夏近导师签名:萝f 萨 日期:神年r 月工2 ,日 第一章引言 1 1i p 验证技术概述 第一章引言 随着集成电路设计技术的发展,芯片的性能日益增强,规模逐步增大,需要 的开发周期延长,使得芯片行业面临一系列新的问题:设计质量难以控制,设计 成本也不可避免的增加。l p ( i n t e l l i g e n c ep r o p e r t y ) 技术解决了当今芯片设计面临 的问题,使得集成电路设计进入s o c ( s y s t e mo nc h i p ) 时代。利用经过充分验证 并且可重复使用的口核,设计者能专注于整个系统的设计,提高了设计的效率和 正确性,降低成本【l l 。 在口的整个设计中,验证占据了一个很重要的环节,消耗了巨大的工作量。 根据估算的数字显示,在现代芯片设计过程中,验证工作占了整个设计工作量的 7 0 1 2 1 ,日益影响到了设计工作的进度。i p 验证方法和技术已经成为重要的研究课 题,如何科学的解决验证危机已经是成功地进行芯片设计,提高产品质量的有力 保证。简单增加验证时间不是解决问题的有效途径,验证能力不足的解决方向有 以下几个p l : 1 发展验证思想。一方面借鉴软件测试的指导思想,从软件的角度看待测 试平台的设计;另一方面,根据硬件设计的特点,提出多种覆盖率标准和 验证原则等。 2 提前把验证引入到设计过程来,提高可测性因素的考虑,例如使用 s y s t e m c 、s y s t e m v e r i l o g 之类的高抽象层次设计语言。这些语言可以用于 系统级和模块级的开发,并同时考虑到了验证的要求。 3 使用专用的验证语言。高级验证语言是芯片设计复杂度达到一定程度后的 必然产物。验证工作已经发展成为独立的一门技术,需要更加专业的工具。 高级验证语言为验证工作中的基本结构如自动数据生成,激励施加与输出 比较等提供高效率的内嵌支持。 4 在芯片设计的过程中采用科学的验证管理。科学的实践需要科学的管理思 想来指导。在验证管理方面主要通过文档管理、人员管理和质量管理等几 个方面实现对人力物力的有效分配,以达到高效、正确的验证要求。 目前业界存在着相当多的验证技术和工具。新的工具和方法学试图通过并行 电子科技火学硕十学位论文 化、更高层次的抽象和自动化来缩短验证所需要的时间。现有的最主要的验证技 术是:动态功能验证和静态功能验证。动态功能验证主要使用仿真器实现,仿真 器用来计算所有信号的全部数值,并将规定的预期值与计算值加以比较。这是使 用最为普遍的功能验证方法,具有动态特性。在静态功能验证中,没有向设计施 加输入的激励信号,而是将设计映射至一个采用双择判决式或其他数学表达式来 说明其功能的图形结构上。在静态验证期问,逻辑方程通过设计进行传播,而不 象在动态仿真中那样传播的是数值。这些方法采用不同的工具和手段进行实现, 从而确保所作的验证工作能正确完成1 4 】。 对于一个设计,应该采用哪种技术或方法,答案并不简单明了。在实际的功 能验证中,以一种方法来解决验证工作中遇到的问题往往很难,但是可以把几种 方法结合起来,取长补短,提高验证工作的速度和质量。 1 2c a r d b u s - a h b 总线桥i p 的研究意义 随着便携式计算机系统( 笔记本、p d a 等) 的广泛应用,对便携式扩展设备 的要求也越来越迫切,因此,需要一种统一、通用的扩展方法。p cc a r d 实际是 p c i 总线在笔i 己本上的一个扩展l5 1 。正是在这种环境下,p c m c i a 和j e i d a 推动 了p c 卡标准的发展。从最初的1 0 版本发展到目前最新的8 0 版本,p c 卡标准一 直收到业界的欢迎,并广泛的应与于各类产品中。p cc a r d s t a n d a r d8 0 ( c a r d b u s ) 是一种高性能p c 卡总线接口标准,与老的p c 卡标准相比有如下的优势:3 2 位总 线带宽和3 3 m h z 工作频率;总线自主,p c 卡可以独立于c p u ,与计算机内存直 接交换数据;3 3 v 供电,低功耗;后向兼容老的p c 卡版本( 1 6 位p c 卡) 1 6 1 。 作为全球最大的i p 核供应商,a r m 公司设计的a m b a 2 0 总线规范是一种用 于高性能嵌入式系统的总线标准。它独立于处理器和制造工艺技术,增强了各种 应用中的外设和系统宏单元的可重用性。其关键是对接口和互连均进行定义,目 的是在任何工艺条件下实现接口和互连的最大带宽。这种接口与互连功能分离的 规范使得总线成为一种带有接口模块的互连体系。这一标准在基于a r m 处理器内 核的s o c 设计中,技术已经相当成熟并获得了广泛支持。a m b a 2 0 规范包含两级 总线:a l l b ( a d v a n c c dh i g h p e r f o r m a n c eb u s ) 系统总线和a p b ( a d v a n c e dp e r i p h e m l b u s ) 外围总线。 a h b 作为一种丌放式片上总线,已经广泛的应用于片上系统设计。该总线具 有高带宽( 最高1 0 2 4 位) 、高吞吐率、低功耗等特点,是片上系统中最重要的总 2 第一章引言 线之一。a b b 总线采用地址数据分离的流水线操作,支持固定长、不定长突发 ( b u r s t ) 传输、分裂( s p l i t ) 事务处理特性和多个主设备的总线管理,具有高时钟 频率、高带宽、高性能特性,适合嵌入式处理器与高性能外围设备、片内存储器 及接口功能单元的连接i ”。 c a r d b u s - a h b 总线桥l p 涉及上述两种当前最流行的总线接口标准,实现了 c a r d b u s 总线到a h b 的协议转换,使得两种总线问的数据交换和跨总线访问得以 实现。现今市场上拥有很多p c i - a h b 的口核嘲,但是c a r d b u s a h b 的口核还比 较少见。此m 可作为a r m 嵌入式系统的p c m c i a 接口,实现笔记本( c a r d b u s 主设备) 通过该接口对a r m 嵌入式系统内a h b 总线上的存储设备( f l a s h ) 进行 识别、大批量数据的读写等操作。 1 3 国内外研究现状 1 3 1 国外i p 验证的发展状况 在国外,目前自主开发和经营口核的公司有英国的a r m ( a d v a n c e dr i s c m a c h i n e ) 、a m p h i o n 以及美国的d e s o c 等。s o c 成为集成电路产业发展的大趋势, 其市场平均年增长率将超过3 0 。集成电路的加工技术以平均年递增5 8 的速度 发展,而设计能力的发展速度只有2 1 。 功能验证已经成为设计的瓶颈,国外已发展了很多验证方法学及技术来提高 验证效率,缩短验证时间,并把验证作为和设计同等重要的课题。验证方法由最 初的直接测试向量生成d t v g ( d i r e c t e dt e s tv e c t o rg e n e r a t i o n ) ,到约束随机测试 c r t ( c o n s t r a i n t e dr a n d o mt c s o ,再到覆盖驱动验证c d v ( c o v e r a g ed r i v e n v e r i f i c a t i o n ) ,一直到最新的基于断言的验证方法a b v ( 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 ) , 各种验证方法在不断创新发展。新的验证高级语言产生以提高抽象层次,适应验 证需求:s y s t e m c 、s y s t e m v e r i l o g ,s y n o p s y s 公司的v e r a 语言,i b m 推出的支持 断言验证的s u g a r 语言,v e r i s i t y 公司开发的e 语言,j e d a 公司的j e d a 语言等。 此外,各个公司都推出了验证工具和库用以支持复杂和庞大的验证工作:v e r s i t y 公司的s p e c m a ne l i t e 工具,开放源码的o v l 库,s y n o p s y s 公司的d e s i g n w a r e 库 等 9 1 1 1 0 1 1 1 1 1 。 3 电子科技人学硕十学位论文 1 3 2 国内l p 验证的发展状况 目前国内总体来说在l p 的开发和应用方面落后于国外。但是,近年来我国也 已经在口产业上投入了很多的努力。国家集成电路促进中心已经初步建成国家口 核库,提供i p 检索、i p 质量评测及论坛等服务,营造了国内集成电路设计企业使 用i p 的基本服务环境。目前c s i p 国家i p 核库已经发展会员3 0 多家,与2 6 家i p 供应商签订了合作协议,共收集了1 9 大类1 0 0 0 多个m ,超过9 0 0 个标准单元的 i p 。 国内现有的功能验证大多采用传统的测试向量生成的方法,如哈尔滨工业大 学微电子中心所做的a h b p c i 桥的验证就是采用的c p u 指令集作为测试向量完 成。或是进行一定的事务级抽象完成,如青岛大学所做的a m b a 总线的测试平台。 或是使用s y n o p s y s 提供的d e s i g n w a r e 库完成验证,如电子科技大学自动化工程学 院所做的p c i 总线接i = l 的设计【1 2 1 1 1 3 l i l 4 l 。 1 4 本论文的研究内容和实现目标 1 4 1 研究内容 本课题来源于横向科研项目:c a r d b u s a h b 总线桥i p 的设计与实现,本论文 的研究内容是对c a r d b u s - a h b 总线桥i p 的功能验证。利用s y n o p s y s 公司提供的 v e r i f i c a t i o ni p 建立总线功能模型b f m ( b u sf u n c t i o nm o d e l ) ,以此为基础编写事务 包,在s u n 工作站上搭建基于u n i x 的验证平台,设计完备的测试用例,完成对i p 的功能验证,达到功能覆盖和代码覆盖率的要求。本论文作者负责整个功能验证 流程,承担的主要工作如下: ( 1 ) 熟悉数字芯片设计流程及其s y n o p s y s 工具和s u n 工作站的使用。 ( 2 ) 分析p cc a r ds t a n d a r d8 0 规范和a m b as p e c i f i c a t i o n2 0 协议。 ( 3 ) 研究当前用于功能验证的各种方法,工具和语占。 ( 4 ) 提出c a r d b u s a h b 桥i p 核的总体框图并对功能点进行详细分析。 ( 5 ) 设计了c a r d b u s a h b 桥i p 的黑盒法并且基于事务的验证方案,包括激励 输入机制,响应检测机制以及编写基于s y n o p s y s v i p b f m 的事务包。 ( 6 ) 设计和实现了十个验证通道,共1 4 2 个的测试用例,对测试用例的验证顺 序和具体内容都进行了详细说明。 ( 7 ) 搭建基于u n i x 操作系统的验证平台,编写了基于c s h e l l 的自动化测试脚 4 第一章引言 本。 ( 8 ) 进行了完备的功能测试,在功能覆盖完成后,进行了1 4 次回归测试和代 码覆盖率检查。 1 4 2 实现目标 本论文的实现目标是保证c a r d b u s a h b 总线桥l p 的功能正确,并且使用量化 的代码的行覆盖率和条件覆盖率来衡量功能验证工作是否成功。 1 4 3 本论文的内容安排 本论文共分为七章。其中,第三章到第六章是本文的重点章节,是论文作者 在硕士研究阶段所做的主要工作,下面对各章内容作一说明: 第一章介绍讲验证技术概况,说明论文工作所处课题背景及完成的工作;第 二章介绍a s i c 设计规范流程以及相关的s y n o p s y s 工具,对当前功能验证所使用 的各种技术和工具进行了阐述,描述了功能验证的经典流程;第三章分析本论文 所研究的对象:c a r d b u s a h b 总线桥p ,详细描述了此口的功能并对两种总线协 议进行了适当阐述,给出了c a r d b u s a h b 总线桥i p 的总体设计框图;第四章阐述 针对此口的详细验证方案;第五章介绍验证平台的搭建以及测试用例的设计和实 现;第六章介绍此口的测试过程并给出结果分析。第七章对本工作进行总结,展 望未来可以开展的工作。 5 电子科技人学硕十学 i 7 = 论文 第二章a s i c 设计流程及相关工具简介 本章从a s i c 设计流程入手,简要介绍s y n o p s y s 公司提供的相关工具,随后 对功能验证的方法、技术、工具和语言作一阐述,最后对功能验证的流程以及验 证三阶段的内容进行一个说明。 2 1a s i c 设计流程 a s i c 设计需要经过代码设计、逻辑综合、插入测试、布局布线和时钟树综合 等多次处理。得到功能正确的芯片需要经过以下复杂的流程【1 5 1 : 市场调研 r 下l 代码编写 二= r t l 模块级验i l 规格书 仿真测试、f 竹成立 r j 准器 = = 二e = d f r r 设训 动态仿真 = = = 】= = d c 综合优化 二= = = 二 模块级s t a 二= 二工二 r t l 级干兀综台历网表 的形式验i 正 系统级s t a c t 插入 布局布线 表的形式验i l : 二j = 布线所s t a 主! 塑 设计的详细布线 版图厩s t a 圭! ! ! l v sa n d d r c 流片 图2 - 1a s i c 设计流程 6 n o 第二章a s i c 设计流程及相关工具简介 2 2s y n o p s y s 提供的相关工具 图2 - 1 所示的重要阶段都- - r 以使用s y n o p s y s 的工具帮助完成设计,这些工具 包括动态功能验证时的仿真工具v c s ,综合工具d c ,形式验证工具f o r m a l i t y , 静态时序分析器p r i m e t n n e 等。下面作一简单介绍。 2 2 1v c s v c s 是编译型v c r i l o g 模拟器,它完全支持o v i 标准的v e f i l o gh d l 语言、p l i 和s d f 。它是整个r t l 级验证平台的基础,为验证当前几百万门的设计提供了较 高的性能和功能。v c s 利用了s m a r t v e r i f i c a t i o n 技术,更加有效的对设计进行验证, 提高了生产效率,并且支持功能强大的测试向量生成,覆盖率反馈,高级调试技 巧和广泛的a s i c 供应商产品。在整个设计流程中都可以使用v c s ,无论是早期 的设计研究还是功能仿真,抑或是最后设计完成。 v c s 提高了验证的抽象级别,具有目前行业中最高的模拟性能,其出色的内 存管理能力足以支持千万门级的a s i c 设计,并且结合了节拍式算法和事件驱动算 法,具有高性能、大规模和高精度的特点。v c s 已经将c o v e r m e t e r 中所有的覆盖 率测试功能集成,也支持混合语言仿真,其v i r s i m 图形用户界面提供了对模拟结 果的交互和后处理分析。用户调用覆盖率工具可以很方便的查看到当前验证所到 达的覆盖率并检测到未满足条件的代码行1 1 6 1 。 2 2 2d e s i g n w a r e d e s i g n w a r e 是s o c a s i c 设计者最钟爱的设计i p 库和验证i p 库。它包括一个 独立于工艺的、经验证的、可综合的虚拟微架构的元件集合,包括逻辑、算术、 存储和专用元件系列,超过1 4 0 个模块。d e s i g n w a r e 和d e s i g nc o m p i l e r 的结合可 以极大地改进综合的结果,并缩短设计周期。 s y n o p s y s 在d e s i g n w a r e 中还融合了更复杂的商业i p 。目前已有8 0 5 1 微控制 器、p c i ,p c i - - x ,u s b 2 0 ,m e m o r y b i s t ,a m b as o c 结构仿真,a m b a 总线 控制器等i p 模块。d e s i g n w a r e 中还包括一个巨大的仿真模型库,其中包括1 7 0 ,0 0 0 多种器件的代时序的功能级仿真模型。还有总线( b u s - i n t e f f a c e ) 模型,如 p c i x ,u s b 2 o , a m b a , i n f i n i b a n d ,e t h e m e t ,i e e e l 3 9 4 等,以及c p u 的总线功能仿 真模型包括a r m ,m i p s ,p o w e r p c 等。用户利用这些i p 可以方便可靠的建立测试 7 电子科技人学硕士学位论文 平台1 1 7 1 引。 2 2 3 v o r a v e r a 验证系统满足了验证的需要,允许商效、智能、高层次的功能验证。v e r a 验证系统已被s u n 、n e c 、c i s c o 等公司广泛使用以验证其实际的产品,从单片a s i c 到多片a s i c 组成的计算机和网络系统,从定制、半定制电路到高复杂度的微处理 器。v e r a 验证系统的基本思想是产生灵活的并能自我检查的测试向量,然后将其 结合到t e s t b e n c h 中以尽可能充分测试所设计的电路。v e r a 验证系统适用于功能验 证的各个层次,它具有以下特点:与设计环境的紧密集成、启发式及全随机测试、 数据及协议建模、功能代码覆盖率分析1 1 9 1 。 2 2 4l e d a l e d a 是一种可编程的语法和设计规范检查工具,它能够对全芯片的v h d l 和v e r i l o g 描述、或者两者混合描述进行检查,以加快复杂的s o c 设计的开发。 l e d a 预先将i e e e 可综合规范、可仿真规范、可测性规范和设计服用规范集成, 提高设计者分析代码的能力。利用l e d a 这一预装的检查规则,能进一步的提高 s y n o p s y s 工具,例如v c s 、d e s i g nc o m p i l e r 以及f o r m a l i t y 的性能。l e d a 的规则 集有助于设计人员共享他们的设计经验,对硬件设计预检查,且将设计风险降到 最低【2 0 i 。 2 2 5p r i m o t i m e p r i m e t i m e 是针对复杂的数百万门全芯片门级静态时序分析器。p f i m e t i m e 是 一个易于使用的产品,能进行静态时序分析( s t a ) ,精确的r c 延迟计算,先进的建 模和时序验收。对于大型的多时钟的设计,比如包括了综合出的逻辑电路、嵌入 式存储器和微处理器核的设计,这是个理想的工具。p r i m e t i m e 的性能使得一个 通宵就可以完成百万门级设计的穷尽的时序分析 2 0 l 。 2 2 6f o r m a ii t y f o r m a l i t y 是高性能、高速度的全芯片的形式验证:等效性检查工具。它比较 设计寄存器传输级对门级或门级对门级来保证它没有偏离原始的设计意图。在一 个典型的流程中,用户使用形式验证比较寄存器传输级源码与综合后门级网表的 8 第二章a s i c 设计流程及相关工具简介 功能等效性。这个验证用于整个设计周期,在扫描链插入、时钟树综合、优化、 人工网表编辑等等之后,以便在流程的每一阶段都能在门级维持完整的功能等效。 这样在整个设计周期中就不再需要耗时的门级仿真。将f o r m a l i t y 和p r i m e t i m e 这 两种静态验证方法结合起来,一个工程师可以在一天内运行多次验证,而不是一 天或一周只完成一次动态仿真验证。 2 3 验证技术简介 从图2 - 1 的a s i c 流程上可以看到,从规格制定到芯片产生的整个过程都离不 开验证。验证是确认设计功能是否达到预定目标的过程。整个a s i c 流程共包括这 几个方面的验证内容:r t l 级的功能验证,模块级和系统级的静态时序分析,r t l 级和综合后网表的形式验证,综合后网表与时钟树网表的形式验证,布线后和版 图后的静态时序分析。这些验证工作的正确完成是整个a s i c 设计是否成功的关键 和有力保障。目前,验证时间已经成为整个集成电路设计时间的瓶颈。7 0 的时间 消耗迫使工程师丌发新的验证工具和技术来缩短总体的产品时间。新的验证方法 学的提出和更高抽象层次的验证语言的产生使得集成电路的验证领域进入了一个 新的阶段。 本节就验证的概念,方法,现有的技术和语言以及功能验证的流程作一阐述 和说明。 2 3 1 验证的意义和路径 验证是通过各种方法核对设计规范和输出结果一致性的过程。如果把设计理 解为一种变换,那么验证即是检查变换的结果和变换的起点是否一致的过程。因 此验证和设计必须有同一个起点。如果没有功能验证,设计人员只能主观地认为 自己没有错误地理解设计规范的意图,从设计规范的文档到r t l 代码的变换是正 确的。r t l 代码错误的一部分原因是由设计工程师对规格的错误理解造成的,因 此验证工作应该与设计工作并行独立的进行,验证工程师应独立理解规格,设计 验证环境,这样才能避免将错误理解引入设计。设计工程师不能从事验证方案的 设计,会使错误的理解很难发现,而且延长错误寻找和定位的时间。验证工作与 设计工作的独立进行才能真正达到验证的目的。 功能验证路径如图2 2 所示: 9 电子科技火学硕十学位论文 图2 - 2 功能验证路径 设计人员和验证人员共同制定规格说明,然后由此出发,设计人员理解得到 r t l 级的详细设计方案,验证人员理解得到验证方案和验证平台,最后通过详细 测试,得到验证结果。 2 3 2 验证的方法和技术 验证工作实际是验证方法学加上一些验证工具完成的。与编写可综合的代码 不同,验证不需要特殊的编码和语言。验证可以使用任何仿真器能接受的语言, 可以使用各种语言的各种功能,这样就产生了大量的仿真技术和方法。业界目l j i 统一的认识是验证方法学是造成设计瓶颈的一个重要的原因。因此验证方法学是 一个新的课题,寻找一个统一的验证方法学是当前亟需解决的问题。由于验证的 工作量巨大,业界普遍采用让编写代码、调试、验证以及设计的实现过程都并行 化,并通过高层次的抽象减少对底层细节的控制,自动化,随机化等途径来减少 验证所需的时间。 验证从总体来说可分为动态验证,静态验证。其中动态验证即是使用仿真器 动态的输入激励并

温馨提示

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

评论

0/150

提交评论