




已阅读5页,还剩66页未读, 继续免费阅读
(微电子学与固体电子学专业论文)ip软核验证方法研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
中文摘要 摘要:随着科技的发展,集成电路复杂度的不断增加,基于i p 核复用的s o c 设计正逐渐成为集成电路设计的主流技术。i p 软核是i p 核形式之一,它的灵活性 高,在复杂i c 设计中有很大优势。然而,i p 软核在工程应用中,存在很多挑战。 使用高质量的i p 软核,可以缩短验证周期和提高设计质量,反之,可能导致设计 失败。因此,对i p 软核进行验证,判断i p 软核的质量水平,为i p 软核选择提供 依据和便利,成为i c 设计的一项重要任务。 本文研究i p 软核的验证方法,应用传统的动态功能验证对u a r t 进行了验证, 研究了时序验证方法,并举例讨论了这些方法各自的特点;另外,用基于断言的 s y s t e mv e r i l o g 验证方法,验证了p c i 协议的软核,讨论了s y s t e mv e r i l o g 验证 方法的特点和在i p 软核验证中的应用;本文还对形式验证等方法进行讨论,深入 阐述了i p 验证的方法,总结了各自验证的优点和不足,提出i p 软核验证在不同 方法中的使用。 本文在对各种典型的验证方法进行理论研究的基础上,还包含了大量的工程 实践技术。实际应用中,可缩短i p 软核验证时间,提高整体的验证效率,提高验 证的可靠性。 论文的最后,对本文进行了总结,指出了论文中的不足,以及进一步的 改进和后续工作。 关键词:i p 核;i p 软核;验证;s v s t e mv e r i l o g ;断言 a bs t r a c t a b s t r a c t :w i t ht h ed e v e l o p m e n to ft e c h n o l o g y , c o m p l e x i t yo fi n t e g r a t e d c i r c u i ti s b e c o m i n gr a i s e i p b a s e d s o c d e s i g n i s b e c o m i n g a p r e d o m i n a n t m e t h o d o l o g yo fi cd e s i g n i ps o f tc o r ei sak i n do fi pc o r e ,i th a dab i ga d v a n t a g ei n c o m p l i c a t e di n t e g r a t e dc i r c u i td e s i g nb e c a u s eo fi t sf l e x i b i l i t y h o w e v e r , t h e r ea r eal o t o fc h a l l e n g e sw h i l ei ps o f tc o r er e u s ei np r o j e c t i ps o f tc o r eo fm e t r i cw i l ls h o r t v e r i f i c a t i o nt i m ea n dp r o m o t et h eq u a l i t yo ft h ew h o l ed e s i g n s oe v a l u a t i n gt h eq u a l i t y o fi ps o f tc o r et oa l l e v i a t e ,t h ei ps o f tc o r es e l e c t i o ni sb e c o m i n ga ni m p o r t a n tt a s ki ni c d e s i g nf i e l d t h i sp a p e rm a i nr e s e a r c hv e r i f i c a t i o nm e t h o do fi ps o f tc o r e , u s i n gt r a d i t i o n m e t h o ds u c ha sd y n a m i cf u n c t i o nv e r i f i c a t i o na n ds t a t i ct i m i n ga n a l y s i s ,m o r e o v e r , g i v e ns o m ee x a m p l e st o d i s c u s se a c ho t h e r sr e l a t i v em e r i t s ;i na d d i t i o n ,u s i n g a b v - b a s e ds y s t e mv e r i l o gv e r i f i c a t i o nm e t h o d ,v e r i f yp c ip r o t o c o ls o f tc o r e ,d i s c u s s s y s t e mv e r i l o gv e r i f i c a t i o nm e t h o dt r a i ta n di ps o r c o r eu s i n gi nv e r i f i c a t i o n ;e l a b o r a t e i ps o f tc o r ev e r i f i c a t i o nm e t h o dd e e pt h r o u g hf o r m a lv e r i f i c a t i o na n ds oo n ,s u m m a r i z e d e a c ho t h e r st r a i t ,r a i s ei ps o f tv e r i f i c a t i o nu s i n gi nd i f f e r e n tv e r i f i c a t i o n t h i sp a p e rn o to n l yh a dr e s e a r c hm a n yv e r i f i c a t i o nt h e o r i e s ,b u ta l s op r a c t i c el o t s o fp r o j e c t w h e nw ev e r i f yi ps o f tc o r er e a l i t y , w ec a ns h o r tv e r i f i c a t i o nt i m ea n d p r o m o t ew h o l ev e r i f i c a t i o ne f f i c i e n t ,r a i s i n gr e l i a b i l i t y a tt h ee n do ft h i sp a p e r , a l lc o n t e n t sw e r es u m m a r i z e d ,a n ds o m ea d v i c e sw e r e g i v e n t op r o c e e d i n gd e e pr e s e a r c h e so fl pc o r ed e s i g na n dv e r i f i c a t i o n k e y w o r d s :i pc o r e ;i ps o f tc o r e ;v e r i f i c a t i o n ;s y s t e mv e r i l o g ;a s s e r t i o n - b a s e d v e r if i c a t i o n v 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工作和取得的研究成果,除 了文中特别加以标注和致谢之处外,论文中不包含其他人已经发表或撰写过的研究成果,也 不包含为获得北京交通大学或其他教育机构的学位或证j 5 而使用过的材料。与我一同工作的 同志对本研究所做的任何贡献均已在论文中作了明确的说明并表示了谢意。 学位论文作者签名:孑心绪 签字日期: 多卯7 年多月,驴日 学位论文版权使用授权书 本学位论文作者完全了解北京交通大学有关保留、使用学位论文的规定。特 授权北京交通大学可以将学位论文的全部或部分内容编入有关数据库进行检索, 并采用影印、缩印或扫描等复制手段保存、汇编以供查阅和借阅。同意学校向国 家有关部门或机构送交论文的复印件和磁盘。 ( 保密的学位论文在解密后适用本授权说明) 学位论文作者签名: 孙诸 导师虢彳7 砭 签字日期:工w 7 年月,字日签字开期:z 刃7 年月,7 同 致谢 本论文的工作是在我的导师李哲英教授的悉心指导下完成的,李哲英教授严 谨的治学态度和科学的工作方法给了我极大的帮助和影响。在此衷心感谢两年来 李哲英老师对我的关心和指导。 李哲英教授悉心指导我们完成了实验室的科研工作,在学习上和生活上都给 予了我很大的关心和帮助,在此向李哲英老师表示衷心的谢意。 李哲英教授对于我的科研工作和论文都提出了许多的宝贵意见,在此表示衷 心的感谢。 在实验室工作及撰写论文期间,李子扬、联立华等同学对我论文中的动态验 证研究工作给予了热情帮助,在此向他们表达我的感激之情。 另外也感谢我的朋友和家人,他们的理解和支持使我能够在学校专心完成我 的学业。 1 绪论 1 1 研究的背景 集成电路技术是当今世界发展速度最快的高科技之一。作为信息技术的基础, 它在推动计算机、通信、消费电子等设备和系统的不断更新方面,有着卓越的贡 献。而验证是集成电路设计中非常重要的组成部分。验证是为了确保设计对象满 足功能约束中所定义的要求,它是保证i c 设计是否正确的关键。目前,验证所用 的时间占了整个集成电路设计周期的7 0 左右。随着半导体技术的飞速发展,i c 设计规模以摩尔定律的速度在增长,相应的验证工作量也大幅度的增加,这使得 验证渐渐成为i c 设计速度的主要瓶颈。集成电路竞争非常激烈,研究验证方法对 于提高验证效率,缩短验证时问,提高设计效率有着重要的影响。而大规模s o c 的设计必然离不开i p 核的复用技术1 3 4 1 ,i p 软核又因为其很好的灵活性和低成本, 在业界被广泛应用。 1 2本论文研究的意义 大规模s o c 的实现,必然离不开i p 核的复用技术,这也是l p 核的应运而生 和优势所在。而i p 核中,i p 软核因为灵活性和开发低成本的特点,在实际应用中 被广泛使用。但是由于l p 软核的预见性不强,来源广泛,导致很多获得的i p 软核 质量不能保证,这进一步的影响到了整体设计和验证的进度。那么如何评估i p 软 核的质量,选择优秀的i p 软核,成为一项很有意义的工作。当选用了质量好的i p 软核,才能达到i p 核利用的目的。 综上所述,i p 软核验证方法的研究,分析l p 核复用的优点和困难,研究相关 的验证方法,验证i p 软核的质量指标,具有十分重大的意义。 1 3国际国内研究现状 在国外,早在1 9 9 6 年就成立了i p 核标准组织v s i a ,其目的是为i p 设计建立 统一的技术规范和标准,这些规范和标准可以作到使不同来源的i p 核( 在v s i a 中 称为v c 即v i r t u a lc o m p o n e n t 虚拟元件) 进行集成并相匹配。而国内在这方面的研 究开展得比较晚。我国集成电路产业起步较晚,于2 0 0 2 年批准成立了“信息产业 部集成电路i p 核标准上作组( i p c g ) 2 h ”,负责制定我国的i p 核技术标准,但至今 未有成功的产品投入市场。以现有中国的集成电路设计水平,还没有能力建立起 凌驾于应用和设计水平之上的i p 核标准结构体系1 2 7 1 。所以,今后集成电路产业发 展重点应放在i p 设计技术的研究上。 1 4本文的主要贡献 本方从使用者的角度,分析了i p 软核复用的挑战和优势,对i p 软核验证的各 种方法,以及特点对行了深入的研究,并用其中的多种验证方法对一些实例进行 了验证,根据实验结果得出进一步的绪论。主要完成了以下工作: 1 ) 分析研究了i p 软核的发展、特点,验证的分类、相关技术。 2 ) 研究验证的不同方法,分析验证的重要性,以及如何检测验证的完备性, 阐述在i p 软核验证中的应用,并对u a r t 软核进行实例的动态验证。 3 ) 分析了静态验证在i p 软核验证方法中的应用,并举实例对l i n t 代码静态 检查,以及s t a 验证实际实例电路做了研究。 4 ) 对s y s t e mv e r i l o g 验证进行了论述,并应用此方法对p c i 协议进行验证, 研究基于断言的验证在i p 软核验证方法中的作用。 5 ) 研究了形式验证技术的种类和方法,阐述了此方法在i p 软核验证中的使 用。 1 5论文的组织结构 论文共分六章,论文结构如下: 第一章是绪论,主要介绍了本论文研究的背景、意义和现状,以及论文的结 构等。 第二章是i p 技术的发展,特征,分类等相关基本概念。对实例u a r t 进行动 态验证,为后面的应用和阐述做准备。 第三章主要介绍了验证的现状,重要性和相关的一些概念。并举实例p c i 协 议来进行说明,为后面的s y s t e mv e r i l o g 验证p c i 协议对比,做好铺挚。 第四章是静态验证的介绍,主要介绍并举例说明了l i n t 的使用,对静态时序 分析方法的介绍,并用s t a 方法对一个电路进行实例使用说明。 2 第五章是对s y s t e mv c r i l o g 的介绍,以及基于断言验证技术的特点。并给合实 例p c i 协议软核进行仿真说明。 第六章是对形式验证的概述,阐述了形式验证的常用方法,与动态验证的区 别,以及形式验证的现状和发展方向。 第七章分析各种验证方法,对这些验证方法进行对比讨论,深入研究了i p 软 核验证技术。 第八章主要总结了论文所做的工作,并指出进一步研究方向。 3 2ip 软核验证方法基础 2 1 s o c ( s y s t e mo nac h i p ) 概述 当集成规模发展到可以将整个数字计算机系统集成到一块芯片上时,系统芯 片( s o c ) 出现了,系统芯片通常指在单一芯片上实现的数字计算机系统。该系统应 包含两个基本部分:硬件部分和软件部分。硬件部分包括u p , b u s ,r o m r a m ,i op o r t 等计算机的基本部分;软件部分主要指操作系统,也可以包括重要的应用软件。 s o c 具有以下特性: 实现复杂系统的v l s i ( v e r yl a r g es c a l ei n t e g r a t i o n ) ; 采用超深亚微米工艺技术: 使用一个或数个嵌入式c p u 或者数字信号处理器( d s p ) ; 具备外部对芯片进行编程的功能: 主要采用第三方的i p 核进行设计。 作为集成电路产业中的新技术,s o c 技术开始于2 0 世纪9 0 年代中期。s o c 设计技术的出现是集成电路产业发展历史上的一次革命,它将全方位地、深刻地 影响集成电路的设计、加工、市场和应用。s o c 设计技术的运用和推广可以极大 地降低整个系统的开发费用,同时在原有芯片的基础上增加更多功能,提高产品 性能。尤其是在消费类电子产品中,s o c 大大地缩短了产品的面市时间 ( v r m ,t i m e - t o m a r k e t ) 。s o c 技术是超大规模集成电路发展的必然趋势和主流,它 以超深亚微米( v e r yd e e ps u b m i c r o n ,v d s m ) i 艺技术和i p ( i n t e l l e c t u a lp r o p e r t y ) 核重用( i pr e u s e ) 技术为支撑,其中l p 核的设计和制造是s o c 技术中最为关键的部 分。 s o c 设计方法学的内容可以简单的归纳为如下三个方面:设计重用技术、软硬 件协同设计技术和超深亚微米i c 设计技术。 ( 1 ) 设计重用技术 从设计重用技术和它包含的子课题可以看出,设计重用包含两个方面的内容: 系统设计和i p 模块设计两部分。具体地说系统设计包括基于i p 的系统设计技术、 多i p 系统的验证与测试技术、接口综合技术等,它的主要任务是使i p 重用更简单。 i p 设计技术主要任务是研究如何开发高质量的可重用i p ,加快s o c 芯片的设计。 ( 2 ) 软硬件协同设计技术 面向s o c 的软硬件协同设计理论应该是从一个给定的系统任务描述着手,通 过有效地分析系统任务和所需的资源,采用一系列变换方法并遵循特定的准则自 动生成符合系统要求的、符合实现代价约束的硬件和软件架构。具体来说,它又 5 可分为软硬件协同设计与验证技术、基于硬件的软件结构生成和面向软件的多处 理单元硬件结构设计等。 ( 3 ) 超深亚微米i c 设计技术 s o c 器件由于设计规模的庞大,因此十分依赖于超深亚微米加工技术。超深 亚微米工艺给电路的设计带来了一系列以前从未遇到过的问题,首先是时序收敛 问题( t i m i n gc l o s u r e ) 。原来器件延迟是主要延迟,现在连线延迟是主要延迟成分, 而且只有在进行后端的物理设计后才能准确知道。传统的前端设计与后端设计分 离的设计方法会由于设计迭代过程不收敛而导致设计失败,超深亚微米设计中解 决该问题的方法就是把前端的逻辑设计与后端的物理设计联合起来同时进行。其 它如信号完整性、可测性、可靠性分析等传统问题在超深亚微米设计中也变得尖 锐起来。超深亚微米设计不是s o c 特有的问题,而是工艺技术发展到今天必然出 现的、具有普遍性的问题,只不过在s o c 设计中显得更为突出。 2 2国内s o c ip 产业的现状 我国的经济建设、社会发展、国家安全和经济社会信息化的要求为集成电路 产业提供了前所未有的广阔市场和难得发展机遇,加快集成电路设计业的发展是 我国集成电路产业实现跨越发展的当务之急。 然而,在以往的几十年,我国i c 设计业一直面对着“或者设计出整个奔腾, 或者完全被排除在设计业之外的”尴尬局面。ic 设计业的最新一轮分工为打破这 种局面提供了一个适合我国国情的切入点中等难度和设计规模的i p ,i p 产业 的建立必将从国内和国际两个方面拉动我国i c 设计业。 从国内方面看,我国屡次冲击高端i c 设计都不很成功,原因之一就是高端芯 片的电路过于庞大和复杂。i p 库的建立则把“系统集成”与“功能模块设计”分 开,分散了设计难度和规模。根据计算机的经验,只要i p 阵容整齐,设计自主知 识产权的高端芯片( 包括s o c ) 产品将成为可能。从国际方面看,i p 产业是进入国际 市场的最好切入点。我国以电路算法著称,将算法与i c 设计结合成为是我国力所 能及的,如果引导得恰当,甚至可望在未来得时间里成为i p 出口大国,从而结束 我国i c 设计产业长期落后的态势。 我国的集成电路制造业己经有一定的规模,i c 设计业也正在兴起。目前是发 展i p 技术的良好机会。这将对颦实l c 产业的基础起到积极作用。为改变我国的集 成电路产业的落后局面和缩短我国的集成电路技术与世界水平的差距,具有极为 重要的战略意义。 6 2 3i p 核分析 2 3 1i p 技术的发展 i p 的概念在i c 设计中己经使用了近2 0 年,标准单元库就是m 的一种早期形 式。晶圆代工厂商( f o u n d r y ) 为扩大业务,以精心设计并经过工艺验证的标准单 元来吸引i c 设计师成为其客户,并向他们免费提供数据资料;i c 设计师也乐于使 用成熟、优化的单元完成设计,这样既可以提高效率,以可以减少设计风险。设 计师一旦以这些数据完成设计,自然也就要到这家f o u n d r y 去做工艺流片,这样一 来,f o u n d r y 便达到扩大营业的目的。使用者除了与f o u n d r y 签订“标准单元数据 不扩散协议 之外,无须另交单元库的使用费,国此f o u n d r y 通过扩大营业间接收 到单元库的i p 效益,这就是i p 的最初级形式【。今天的i p 己经成为i c 设计的一 项独立技术,成为实现s o c 设计的技术支撑。现在的i p 库已经包含了微处理器、 数字信号处理器和模拟电路等众多高集成度的i c 模块,这些模块都曾是具有完整 功能i c 产品。i p 重用使双方受益,l p 提供者可以获得直接效益,i p 使用者不仅可 以节省开发费用,而且也减少了设计风险,缩短了设计周期。因此,i p 技术一经 形成便迅速发展。 随着对s o c 重要性认识的日益深入,国内i c 界对i p 的谈论也越来越多。目 前,尽管对i p 还没有统一的定义,但i p 的实际内涵是有界定的。 首先,它必须是为了易于重用而按嵌入式标准专门设计的。即使是己经被广 泛使用的产品,在决定作为i p 之前,一般来说也需要重做设计,使其更易于在系 统中嵌入。比较典型的例子是嵌入式r a m1 3 2 ) ,由于嵌入后已经不存在引线压点 的限制,所以在分立电路中不得不采取的措施,包括地址分时复用、数据串并转 换以及行列等分译码等,在嵌入式r a m 中都可以去掉,不仅节省了芯片面积,而 且大幅提高了运算速度。 其次,是实现i p 模块的优化设计。优化的目标通常是:芯片的面积最小、运 算速度最快、功率消耗最低和工艺容差最大。所谓工艺容差大是指所做的设计可 以经受更大的工艺波动,是提高加工成品率的重要保障。这样的优化目标在全自 动化的设计过程中是难于达到的,可是对于需要重复使用成千上万次的i p 又是必 须的达到的。由于l p 的每一点优化都将产生千万倍效益,因此基于晶体管级的i p 设计优化便成为完成i p 最终设计的重要方法。 第三,要符合i p 标准。与其他l c 产品一样,i p 进入流通领域后,也需要有 标准。自从l9 9 6 以来,r a p i d ( r e u s a b l ea p p l i c a t i o n s p e c i f i ci n t e l l e c t u a l p r o p e r t y d e v e l o p e r s ) 、v s i a 等组织相继成立,协调并制订了l p 重要所需的参数、文档、 7 检验方式等形式化的标准,以及m 标准接口、片内总线等技术性的标准。但仍有 一些问题要解决,例如不同嵌入式处理器协议的统一、不同i p 片内结构的统一等。 随着信息技术的飞速发展,计算机系统面i 临的问题越来越复杂,如何保障复杂系 统的可靠性成为一个不容忽视的问题。研究人员提出了一种可进化硬件的思想作 为解决方案。演化硬件( e v o l v a b l eh a r d w a r e ,e h w ) 是将进化算法和可编程逻辑 元件融合在一起而产生的一种新的硬件研究流派t ”1 。当所使用的环境发生变化时, 或被放置于未知的环境中时,这种硬件会自动地改变内部结构,使之经常处于最 适合状态,快速高效地完成规定的任务。 2 3 2i p 核的特征 由于i p 核是被除了设计它的i p 提供者和i c 加工厂商之外的第三方使用,而 且是由不止一个系统开发者使用,因此i p 核必须具有以下特征i i l : ( 1 ) 可读性。对固核和软核来说,使用者需要对i p 核进行进一步的综合或模拟, 因此必须对调用的i p 核的功能和算法等有比较详细的了解,才可能正确使用和充 分发挥i p 核的优点。这就要求i p 核的提供者采用一种恰当的方法描述设计,使用 户可以方便正确地l p 核;另一方面还要采取措施,保护i p 核的知识产权不受侵犯。 ( 2 ) 设计的延展性和工艺适应性。i p 核是经过精心设计、验证并且优化的。p 核一经定型就要求其具有一定的应用范围。即针对不同的设计应用,具有一定的 适应性。当i p 核被应用到不同的领域时,不需要做重大的修改就能方便地使用。 同时,当采用新工艺和工艺改进时,i p 核能较容易地进行设计或不需要做修改。 ( 3 ) 可测性。除了硬核外的i p 核被应用到各个具体的设计中时,并不是一点改 变都没有。因此,i p 核的功能和性能还应该能够被使用方测试。这就要求i p 核的 设计具有可测试性,不仅能对i p 核进行单独的测试,还要能够在i p 核应用到的系 统环境中进行测试。 ( 4 ) 端口定义标准化。由于i p 核是为第三方提供的设计,这就要求i p 核的提 供者对设计的端口有一个严格的定义,主要包括端口信号的逻辑值、物理值、信 号传输频率、传输机制等。 ( 5 ) 版权保护。i p 核设计中必须考虑知识产权的保护问题,保护技术可以在i p 核的设计中采用些加密技术或在工艺实现时加上保密技术。 2 3 3l p 模块的分类 i p 模块是经过预先设计、预先验证,具有相对独立的功能1 2 6 1 ,接口符合标准, 具有商业流通能力的电路模块。它有3 种不同形式:软核( s o f tc o r e ) 、固核( f i r mc o r e ) 和硬核( h a r dc o r e ) 。 ( 1 ) 硬i p 核 它的电路布局和工艺是固定的,由于完成了全部的前端和后端设计,所以它 有全物理的晶体管和互连掩膜信息,并且制造也固定。硬i p 模块提供了可预测的 性能和快速的设计,它的优点如下: 1 ) 硬m 模块是可靠的。因为这些模块是的设计是精心做的,设计与工艺等 都很讲究,所以使用这些模块不用担心,只要考虑好模块之间的街接就行。 2 ) 硬i p 模块的使用方便。i p 模块提供者把模块的芯片尺寸逻辑功能、时序 关系、端口位置以及驱动能力、功率消耗等相关数据全部提交,所以使用 者只需要在适当位置留出i p 模块的空间,把i o 端口街接好,就可以非 常方便的使用i p 模块了。 但是硬i p 模块也有它的不足: 比如灵活性差,难以移植到不同的加工工艺。并且,硬i p 模块的设计有很大 的难度,特别是在超深亚微米阶段,密集的布局、窄长的互连和高频率的运转使 寄生现象很严重,这就增加了设计的难度。 ( 2 ) 软i p 核 这一般在抽象的较高层次上对电路用硬件描述语言或c 语言进行描述,包括逻 辑描述、网表和用于测试的文档。软i p 核需要综合和布局布线才能完成核的设计。 软i p 核的优点是灵活性大,可移植性好,不受实现条件的约束,使用者可以方便 的把用硬件语言描述的i p 核修改为自己所需要的设计。但缺点是它的预测性太低, 设计风险加大,使用者后续设计可能会发生差错。 ( 3 ) 固i p 核 这是一种可综合的并带有布局规划的软核,是以r t l 代码和对应具体工艺网 表的混合形式提供的。固i p 模块与硬核相比它有较好的灵活性可移植性,与软核 相比在性能和面积上有较好的可预知性。 2 3 4i p 软核可重用设计的基本原则 重用是指在一个新的应用中使用以前获得的概念( c o n c e p t ) 和对象( o b j e c t ) ;可 重用性则是指在一个新的应用中使用以前获得的概念和对象的测度。具体来说,i p 的可重用性就是在一个新的s o c 设计中集成i p 的容易程度。 9 如同其它系统的设计一样,设计优秀的、具有较高可重用性的i p 应当遵循一 些基本的原则。这些宏观上的原则是开发具体设计方法学和设计规则的依据,同 时也是可重用性评测的理论基础。 k e a t i n g 在r m m ( r e u s em e t h o d o l o g ym a n u a l ) 中提出了三条这样的基本原则: 规则性( d i s c i p l i n e ) 、简单化( s i m p l i c i t y ) 和局部化( l o c a l i t y ) 。其中,规则性原则强调 为了使设计工具具有高的可重用性,应当尽可能使用与主流设计方法学一致的方 法指导设计。这里我们将重点讨论后面两条原则。 简单化一一越简单的设计越容易理解、分析,越容易使用不同的工具处理, 也越容易验证并达到时序收敛的目标。所有设计都多少存在一些问题,越 简单的设计,越容易找到问题修j 下问题。 局部化一一当我们知道问题在何处时才容易找到并解决。使时序和验证中 的问题局部化相对于使之全局化会在减少设计时间、改进设计质量方面取 得更大成效。 k e a t i n g 在r m m 中也总结了优秀i p 核的特点: 可配置性一一为了将i p 应用到不同的设计中,可配置性是非常关键的。 例如,i p 支持可配置的地址和数据总线宽度等。 标准接口一一可重用的i p 都应该采用业界标准接口进行设计,而不是使 用独特、专用的接口。这样可能在集成许多核时,不必再为i p 核之间定 义专门的接口。 遵守设计规则一一按照设计规则设计,可以更好地保证i p 的时序收敛, 使验证更容易。 交付的数据、资料完整软核的交付数据一般包括可综合的r t l 编码、 对i p 核验证的测试向量、综合脚本和有关的文档。 2 4 i p 软核的验证 对比整个芯片,单个i p 软核的错误更容易发现,所以在集成之前对i p 软核进 行彻底验证可以降低芯片验证的成本。对于复杂i c 设计而言,在i p 软核集成之前 对于每一个l p 核进行全面的验证是全部验证先决条件。 验证i p 软核的目的在于保证i p 核功能和时序的正确性。l p 软核很有可能被用 到一些关键性的地方,所以要求对i p 软核验证时能消除所有的错误;对于所有的 合理配置和j f 确的参数,要求i p 软核能绝对正常的工作;由于i p 软核作为单独的 l o 模块,要求口软核的测试平台和测试集对于设计团队是可重用的;由于测试平台 中的一部分可能在系统测试时被使用,所以要求测试平台和验证工具是兼容的。 在进行p 软核验证时,使用正确的验证策略可以有很高的测试覆盖率。为了 达到高覆盖率,保证i p 核的所有功能完全正确,需要投入很大的精力建立完善的 验证平台和测试向量,而且还要有一些验证工具和验证技巧,比如,总线监控器、 总线功能模型、代码覆盖工具等 2 4 1 。验证环境是可重复的,当设计完成后,验证 环境的部分将随着i p 软核一同交付给使用者,方便用户验证。 子模块的验证目标是为了达到很高的覆盖率,使子模块在被集成到i p 核中不 会有任何功能错误。一般,多个子模块集成是一件非常困难的事,而且很耗时。 如果子模块有一些功能错误,则整个验证都将变得非常困难。对于一些子模块, 用一般的硬件描述言语言描述的测试平台就能够验证,但是对于另外一些子模块, 很难验证,这时就必须先用简单的测试平台来验证基本功能,详细检查子模块的 接口模型,最后验证时进行全面详细验证。一般的,子模块代码因为较容易观测 和控制,发现子模块的错误更加容易一些,完善的子模块验证有助于后期整个i p 软核的验证。 2 4 1测试平台 所有的i p 软核测试平台可以被抽象成如图所示。这种抽象图上,可以认为模 块的接口是由一个输入接口和一个输出接口构成。这种测试平台是通过向输入接 口输入,从输出接口检查输出来测试的。一般的数字系统中,接口的动作不是随 机的,而是会产生有限的事务处理,这些事务处理是对模块中的存储单元进行读 写数据的操作。 图2 - 1 抽象测试平台 f i 9 2 1 a b s t r a c tt e s tt e r r a c e 1 ) 测试激励生成 设计l p 软核需要指定输入接口所允许发生的事务类型。比如寄存器指定操作 就包括地址管脚、数据管脚、控制管脚三个之问的特定时序关系;同理,读操作 就包括另外一种次序;这里存储器突发访问是另外一种情况。除了一些指定的事 务,其他时序关系是不被允许的。 如果定义了输入接口所允许的事务类型,相应的要有产生次序和对应的测试激 励模块。首先分析测试模块的功能和有效事务的时序关系,以验证设计是否满足 要求。然后找出设计的边界情况【2 们。最后,对随机测试检查没有考虑到的情况进 行分析并建立测试激励。 测试覆盖率提供了一种测试完整性的尺度,所以在一个测试集建好后,需要检 验测试集的功能覆盖率和代码覆盖率。 2 1 l 输出检查 先产生测试激励,然后检查i p 软核的设计测试响应,判断设计是否正常工作。 输出检查判断输出是否有效后,还应检查对应的数值是否正确。输出判断也可以 被称为协议检查,可通过编写监控程序来检查不合理的变化,即看输出接口是否 违反协议。例如,存储器的读写信号通常都比数据提前变化,并且在数据变化的 一个周期内维持稳定。 2 4 2 基于模块的验证 由于各种功能模块是验证工程师添加事务激励和被测器件之间的必要抽象层 次,所以对模块的验证是非常重要的。 模块的测试平台可以有各种各样的形式,如一个u s b 接口模块可以有如图2 2 所示的测试平台。作为a m b a a h b 总线的外设,u s b 有两个接口,一个u s b 本 身的端口和a h b 总线接口【i 】。当a h b 对外设模块进行读写操作时,u s b 和作为 从设备动行;当u s b 对a h b 总线进行读、写访问的时候,u s b 作为主设备运行。 u s b 的测试平台包括总线功能模型和对应的两个接口的监视器。a h b 主设备总线 功能模型可以对u s b 模块的寄存器进行读写操作;同时a h b 从设备总线模型作 为a h b 总线的存储器,可以被u s b 进行读、写访问。a h b 监控器检查a h b 总 线上发生的任何事情,看是否有违反总线访问协议,而且提供测试覆盖率的信息。 u s b 总线功能模型不仅对u s b 模块的端口进行操作,产生控制、中断和同步数据 包等,还执行每一次事务的握手i ”1 。u s b 监控器在检查u s b 接口是否有违规协议 操作时,也提供对应的测试覆盖率信息,如数据包的组合等。 1 2 图2 - 2u s b 接口模块的验证平台 f i 9 2 2u s b i n t e r f a c em o d u l ev e r i f i c a t i o nt e r r a c e 基于模块的验证平台功能十分强大,验证工程师们可以在不知道模块接口细 节的情况下,对模块进行读写等操作,还可以用高层次的命令来对接口产生可能 的数据包,而不是手工是处理各种类型的数据包和对应的操作。此外,验证平台 中的监控器可以向工程师提供验证相关的重要信息。 2 4 3 模型检查 模型检查主要是利用形式数学技术来验证设计对缘的行为属性,它不需要测试 平台,可以成功的验证硬件设计。模型检查对于所有可能的输入条件,检查设计 对象的整个状态空间,查出各种设计缺陷。当模型报告某属性无错时,设计者可 确信此属性无错,模型检查可能作为仿真的补充。 模型检查对于验证控制密集型的设计( 例如仲裁器、译码器、有限状态机、总 线桥和其他控制逻辑复杂的功能块) 是很有效的,但是不适用于数据通路密集型 的设计。含有数据通路的设计通常具有很大的状念空间,这样的设计验证会非常 耗费存储器和处理器的时间。然而,可以使用与属性相关的化简技术,使分析和 属性相关的部分设计。 2 5 验证研究 2 5 1国内外验证技术研究现状 随着集成电路制造工艺的快速发展,功能验证已经成为了a s i c 设计流程的瓶 颈在一个完整的设计流程中通常会花费一半的资源( 包括人力、时间等) 在功能验证 上。目前,功能验证方法分为两大类:基于仿真的方法和形式化的方法 3 1 。对于大 规模的逻辑电路来说,使用形式化方法建模的规模过大,难以应用。因此,在工 程领域,大规模电路系统级验证主要通过仿真加以验证。 现在比较流行的功能验证方法有基于覆盖率的功能验证方法和基于断言的功 能验证技术,基于覆盖率的功能验证方法往往又和自动生成测试向量的方法一起 使用【6 】【7 】。覆盖率评估准则有很多,其中包括功能覆盖准则、代码覆盖准则、翻 转覆盖准则和f s m 覆盖准则等。代码覆盖准则主要包括行覆盖准则、分支覆盖准 则和路径覆盖准则等。到目前为止,还很难给出每种评估准则与其发现错误能力 之间的定性关系,应该采用哪种评估准则只能依靠经验来判断。功能覆盖准则是 目前普遍认可的全面的覆盖率评估准则,因为它的评估开销比较小,其含义比较 明确,很多商业工具都支持功能覆盖率分析。断言的概念其实并不新鲜,在软件 设计中其早已得到广泛应用,对于i c 功能验证来说,就是在设计内部的各个信号 状态进行监控。使得验证人员可以方面的找出设计中的缺陷。断言和功能覆盖率 犹如一个硬币的两面。在一个r t l 的设计中,两者都提供了详尽的可观察点。断 言提供了功能j 下确与否的信息,功能覆盖率则显示出设计行为的监测。两者都代 表设计的规格,以仿真或者形式验证的方式来确认业界还有一种比较新的功能 验证方法学:基于受限随机矢量生成的功能验证技术,该方法通过描述约束条件生 成验证计划中期望的验证场景,能够根据d u v 当前的状态动态地产生测试场景, 这样就更有可能生成那些很难覆盖的边缘案例。 针对一些标准的接口如u s b ,p c i 等很多公司都推出了对应的 吲v i p ( v e r i f i c a t i o ni p ) 。比s y n o p s y s 公司,d e n a l i 公司都提供这些标准接口的v i p 这些v i p 提供出了这些标准接口的总线功能模型,使用v i p 来开发带有上述标准 接口的l c 产品,可以大大节约验证时间,也是目前国内外比较流行的功能验证的 一种做法。 业界所使用的验证语言也有很多,比如s y n o p s y s 公司的o p e nv e r al a n g u a g e s p e c m a ne ,s y s t e mv e r i l o g 等都是业界常用的验证语言f i s 】。他们具有较高的抽象 层次,能够更好的进行行为级建模。 总之,由于功能验证没有r t l 设计那样有过于严格的编写规范,因此功能验 1 4 证的方法是非常丰富的,在此也无法一一列举。本节只是对目前国内外比较流行 的验证方法进行说明。 2 5 2 验证的重要性 验证是证明一个设计能正确实现其功能的过程。验证不是一个测试平台,也 不是一系列测试平台( t e s t b e n c h ) ,使用汇聚模型可以从概念上清晰地描述验证过 程,如图3 所示。其中变换( t r a n s f o r m a t i o n ) 可以是任何包含有输入输出的过程,例 如根据规范( s p e c i f i c a t i o n ) 写出寄存器传输级( r e g i s t e rt r a n s f o r m a t i o nl e v e l ,简称 r t l l 代码、扫描链的插入、把r t l 级代码综合为门级网表、根据门级网表布局布 线等。验证过程是一个相反的过程,它从变换的结果出发回到起点。 交互 验证 图2 3 验证示意图 f i 9 2 - 3v e r i f i c a t i o n 随着集成电路设计自动化程度的提高,集成电路规模不断加大,结构日趋复 杂,尤其对于功能结构复杂的系统芯片( s o c ) ,如何在设计的前期阶段就能消除设 计功能的缺陷( b u g ) ,保证一次流片成功率,节约流片成本,加快芯片面市时间 ( t t m ) ,是设计者必需面对并要妥善解决的关键问题。 验证( v e r i f i c a t i o n ) 就是解决手段之一,它是发现设计缺陷,确保设计成功的重 要措施。来自s y n o p s y s 公司的一项近来的调查表明 4 1 ,当前集成电路一次流片 成功率只有3 5 ,而导致流片高失败率的原因,有7 0 是由于功能错误,尽管这 些错误原本可以通过更加完善的功能验证来避免。集成电路的投片生产可谓一掷 千金,一丝一毫的设计差错所造成的损失都是难以承受的。但就设计方法学而言, 错误是在所难免的。实践证明,以现在的计算机技术,如果在投片生产之前对设 计结果进行计算机仿真,由此找出设计错误,对通常规模的芯片设计基本上可以 1 5 做到万无一失。有人说用e d a 工具设计电子系统的过程,就是仿真的过程,这是 因为一个项目的仿真时间要占整个设计时间的7 0 左右。 我们在解答数学题的时候,可以通过严密推理论证说这道的解答我有1 0 0 信 心是对的,但是对一个设计的验证,俄们无法保证该设计在交给用户使用后不会 出现任何问题。这是因为在芯片的设计和制造过程中,有许许多多难于预测或者 难以考虑周全的因素,如制造误差概率、用户使用环境等【1 9 1 。因此在芯片交付使 用之前的验证工作就显得尤为重要。因为验证工作的本身就是将各种各样可能出 现的情况模拟出来,通过各种手段施加在我们的设计上,看我们的设计是否符合 预期的目标。可以说,我们设想到的情形越周全,我们对设计成功的信心也越高。 因此,一个设计的验证工作,再怎么多,也不为过。 2 5 3 验证分类 验证分为时序验证和功能验证。从有无激励看,验证方法可划分为动态验证 和静态验证。动态方法含有激励和响应,而静态方法不需要激励、测试平台和 测试微量。 动态方法包括:基于事件的模拟、基于周期的模拟、基于事务的验证、软硬 件协同仿真、硬件仿真器、硬件加速器、快速原型( r a p i dp r o t o t y p i n g ) 、模拟混合 信号仿真; 静态方法包括静态l i n t 检查、静态时序分析和形式验证【。动态方法通过软 件模拟或硬件仿真实现。各种验证方法都有各自的优缺点,要实现系统芯片的验 证,需要把这些方法结合起来使用。 1 ) 基于事件的模拟 该模拟是把激励的任何变化都看作一个事件,每一个模拟时间模拟器都处 理一个事件。每发生一个事件,就对整个设计重新进行计算直到模拟出现 稳定状态为止。假如输入信号在一个时钟周期内到达,但是不同的输入信 号到达的时间不完全相同,则模拟器会在一个时钟周期内计算多次。 2 ) 基于周期的模拟 这种模拟只在时钟的上升沿或下降沿触发,每一个时钟周期的时间对电路 计算一次,在时钟周期内没有时问概念,只对同步设计有效。 3 ) 基于事务的验证 事务就是设计对象与处理器之间通过接口所作的一次数据或控制的传输, 比如读取某个存储器单元或传输整个结构式数据报文。 4 ) 软硬件协同验证 1 6 软硬件协同验证将软件和同时集
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年中级花艺师实操技能考核试题集及解析
- 抢救课件结束语
- 2025年压力校验仪表项目发展计划
- 2025年液晶平面显示器及其配套部件和材料项目建议书
- 2025年合同研究组织合作协议书
- 2025年二元酸二甲酯合作协议书
- 2025年社会养老保障服务项目建议书
- 吉林省延边朝鲜族自治州延边州2025-2026学年高三上学期9月期初考试数学试题(含答案)
- 河南省周口市郸城县实验中学2025-2026学年七年级上学期开学考试英语试题(含答案)
- 校史知识竞赛题库及答案
- 老挝药品注册管理办法
- 建设工程项目协同作业方案
- 鹿寨县城南水厂寨沙分厂建设项目环评报告
- 森林火灾应急处置
- GB/T 45972-2025装配式建筑用混凝土板材生产成套装备技术要求
- 变频及伺服应用技术(郭艳萍 钟立)全套教案课件
- Inventor教案打印完整
- 秋冬季安全知识培训
- 2024新译林版英语八年级上单词汉译英默写表(开学版)
- 电力营销稽查培训课件
- 绿色金融培训课件
评论
0/150
提交评论