(计算机应用技术专业论文)ip核设计中功能验证的研究与应用.pdf_第1页
(计算机应用技术专业论文)ip核设计中功能验证的研究与应用.pdf_第2页
(计算机应用技术专业论文)ip核设计中功能验证的研究与应用.pdf_第3页
(计算机应用技术专业论文)ip核设计中功能验证的研究与应用.pdf_第4页
(计算机应用技术专业论文)ip核设计中功能验证的研究与应用.pdf_第5页
已阅读5页,还剩54页未读 继续免费阅读

(计算机应用技术专业论文)ip核设计中功能验证的研究与应用.pdf.pdf 免费下载

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

文档简介

摘要 摘要 随着集成电路设计复杂度的不断增加,验证的难度也不断增大,高效的验证方法对 于提高集成电路设计效率有着至关重要的作用。另外,超大规模集成电路的设计开始向 着基于i p 复用系统芯片设计的方向发展,使得i p 的设计成为集成电路产业新的着眼点。 要提高整个电路的设计效率首先要保证所使用i p 核的设计效率和正确性,因此对i p 设 计过程中验证方法的研究具有较为重要的意义。本文在传统功能验证方法的基础上提出 了一种自比较验证平台的设计方案,并且通过仿真分析,验证了一个异步收发器( u a r t ) 的j p 软核设计的正确性。 论文首先从i p 软核的设计要求着手分析u a r t 功能,讨论了功能块的划分、每个 子模块问端口连接关系和各模块详细功能。然后以设计与验u e 相结合的方式,逐个模块 地介绍行为模型、寄存器传输级模型和验证模型的建立过程,其中用行为模型的验证输 出波形来反映参考模型设计功能的正确性,最后用顶层模块将各部分连接,完成了u a r t 的i p 软核的设计和自比较验证平台的搭建。 本文使用系统级语言s v s i e m c 作为验证平台的设计语言,设计内容包括建立行为 模型的部分、验证各模块功能的部分和对数据采样并显示比较结果的部分。在模型建立 的过程中,通过比较发现,s y s t e m c 在描述同一个功能模型时编写的代码比用v e r i l o g h d l 语言编写的代码在数量上少很多,表明s v s t e m c 对于提高代码效率有着重要作用, 进而加快了i p 的开发速度。 论文用部分篇幅介绍了软件环境m o d e l s i m ,从项目文件夹的建立到波形分析,从 单语言模型仿真到混合语言模型仿真,每个步骤在设计过程中都是不可缺少的。 另外,论文介绍了使用代码覆盖率分析工具提高l p 软核代码设计效率的方法。同 时也对模型代码的结构进行了分析,说明它对设计的复用性和可扩展性的作用。 在论文的最后,对本文的内容进行了全面总结,并对今后进一步的研究工作进行了 展望。 关键词:功能验证 i p 软核 u a r t s y s t e m c自比较验证平台 v e r i l o gh d l 代码覆盖率 江南大学硕二i :学位论文 a b s t r a c t w i t ht h ei n c r e a s e m e n to fl cd e s i g nc o m p l e x i ty ,d i f f i c u l t i e so fv e r i f j c a t j o ni n c r e a s e d a l s o 1 t si m p o n a n tf o r h i 曲e m c i e n tv e r i f i c a t i o nm e t h o d st oi m p r o v ei cd e s i g l le 伍c j e n cy 0 n t h eo t h e r h a n d ,t h ed e s i g nm e t h o d so fv l s i ct u m e dt ob ean e wm o t h o do fs o cd e s 蜘b a s e d o ni pr e u s e 1 pd e s i g nw a sm a d et ob et h en e wp o j n to ft h el ci n d u s t r y 1 no r d e rt oi m p r o v e t h ee 币c i e n c yo fw h o l el cd e s i g i l ,t h ee f f i c i e n c ya n dc o e c t n e s so fi pd e s j 印s h o u l db e g u a r a n t e e d ,s ot h er e s e a r c ho fv e f i f i c a t j o ni nt h ep r o c e s so fi pd e s i g nb e c a m em e a n i n g ak i n d o fa u t o c o m p a f ct e s t b e n c hd e s i g nw a sp r e s e n t e di nt h i st h e s i s ,b a s e do nt r a d i t i o n a lf u n c t i o n v e r i f :i c a t i o nm e t h o d ,m e a n w h j l ei tw a sa p p l i e dt ot h ed e s i g i lo fau a r ts o f t l pc o r e n e c o r r e c t n e s so fi pc o r ef i l n c t i o n sw a sv e r i f i e db ys i m u l a t i o n f i r s t ly ,i pd e s i g nb e g a nw i t ha n a l y z i n 套f u n c t j o n so fu a r t i i lt h i sp a n ,s p l j t t i n g f u n c t i o nb l o c k s ,t h ec o n n e c t j o n sa m o n gs u bm o d u l e s ,a n dt h ed e t a i l e df i l n c t i o n so fe a c h m o d u l ew e r ed i s c u s s e d s e c o n d ly t h eb e h a v i o rm o d u l e ,t h ei 盯lm o d u l e ,a n dt h ev e r i f i c a t i o n m o d u l ew e r eb u i l to n ef u n c t i o nb l o c ka f t e ra n o t h e rb yt h ew a yo fd e s i g nc o m b i n j n gw j t h v e r i f j c a t i o n i nt h ep r o c e s so ft h eb l o c kd e s i g n ,t h ew a v e f o mw a so u t p u tb yt h es i m u l a t i o n e n v i m n m e n tt or e n e c tt h ev e r i f i c a t i o nr e s u l t a tl a s t ,a l lb l o c k sw e r ec o m p o s e da sat o p m o d u l e t h e nt h eu a r ts o f tl pc o r e 卸dt h ea u t o c o m p a r et e s t b e n c hw e r ee s t a b l i s h e d 1 nt h i st h e s i s ,t h es y s t e ml e v e ld e s c r j p t i o nl a n g u a g es y s t e m cw a su s e da st h el a n g u a g e o ft h et e s t b e n c hd e s i g n t 1 l et e s t b e n c hd e s i g ni n c l u d e db u i l d i n gb e h a v i o rm o d u l e ,v e r i f y i n g t h ef l i n c t i o n so fe a c hm o d u l e ,s a m p l i n gt h ed a t a ,a n do u t p u t t i n gt h ec o m p a r e dr e s u l t s d u r i n g t h ed e s i g n ,i tw a sd j s c l o s e dt h a tt h en u m b e ro fm o d u l ec o d e sd e s c r i b e db ys y s t e m cw a s f c w e rt h a nt h a tb y 、r e r i l o gh d l i ts h o w e dt h a ts y s t e m cw a si m p o n a n ti ni m p r o v i n gc o d e e f ! f i c i e n c y ,a n df a s t e n e dt h ed e v e l 叩m e n to fi pc o r e 1 ns o m ep a n s ,t h eu s eo ft h es o f td e s i g ne n v i m n m e n tm o d e l s i mw a si l l u s t r a t e d f m m c r e a t i n gp r o j e c td o c u m e n tt ow a v e f 0 珊a n a l y s i s ,f m ms i m u l a t i n gm o d u l e sw r i t t e ni ns i n 目e l a n g u a g et ot h a ti nm u l a n g i l a g e ,e a c hs t e pw a sa b s o l u t e l yn e c e s s a r y f u n h e 啪o r e ,am e t h o dt h a tu s i n gt h ec o v e r a g ea n a l y s i st o o lt oi m p r o v et h ed e s i 印 e f :f i c i e n c yo fs o f ti p r ew a si n t m d u c e di nt h i st h e s i s a tt h es 锄et i m e ,t h ea n a l y s i so f t h e c o d es t m c t u r e sp r o v e dt h a taf i n ec o d es t m c t u r ew a si m p o n a n tt ot h er e u s ea n de x p a n s i b i l j t y o ft h ed e s i g n a tt h ee n d ,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 百v e nt o p r o c e e d i n gd e e pr e s e a r c h e so fi pc o i d 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 :f l l n c t i o nv e r i f i c a t i o n a u t o c o m p a r et e s t b e n c h s o f ti pc o r e u a r t s y s t e m c v e r i l o gh d lc o d ec o v e r a g c 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工 作及取得的研究成果。尽我所知,除了文中特别加以标注和致谢的地 方外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含 本人为获得江南大学或其它教育机构的学位或证书而使用过的材料。 与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明 确的说明并表示谢意。 签名:壁垒日期:加6 年弓月j f 日 关于论文使用授权的说明 本学位论文作者完全了解江南大学有关保留、使用学位论文的规 定:江南大学有权保留并向国家有关部门或机构送交论文的复印件和 磁盘,允许论文被查阅和借阅,可以将学位论文的全部或部分内容编 入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存、 汇编学位论文,并且本人电子文档的内容和纸质论文的内容相一致。 保密的学位论文在解密后也遵守此规定。 签名: 塾垒导师签名: 日期:0 t 而 第一币引言 1 1 课题背景分析 第一章引言 1 1 1 集成电路验证技术的发展现状 验证( v e r i f i c a t i o n ) 是集成电路设计中不可或缺的重要组成部分。验证的目的是确 保设计对象满足在功能规约中所定义的功能要求,它是保证集成电路设计正确性的关 键。目前,验证所花费的时问大约占集成电路设计周期的7 0 8 0 ( 逻辑电路设计只占 3 0 左右) 。随着半导体技术的发展,集成电路的设计规模按照摩尔定律增长,验证的工 作量也大幅度增加,使得验证逐渐成为大规模集成电路设计速度提高的主要瓶颈【2 l 。因 此,在集成电路市场竞争日益激烈的情况下,研究高效的验证方法对于缩短设计周期、 提高设计效率有着重要意义。 业界现有的验证技术各式各样。它们大体上可以分为四类:基于仿真的技术、静态 技术、形式技术以及物理验证与分析技术i 3 j 。 仿真( s j m u l a t j o n l 技术包括基于事件的仿真器、基于周期的仿真器、基于事务的验证、 代码覆盖状况分析、软件硬件协同验证、仿效系统、快速原型系统、硬件加速器、模拟 混合信号仿真,它是目前设计验证的主要形式。 静态技术包括代码静态( 1 i n t ) 检查和时序验证。用静态技术来实现验证不需要测试 平台和测试向量,而且验证时间远远小于门级仿真时问,但它不能对电路的功能进行有 效检查。 形式验证方法不需要用于验证的测试平台和( 测试1 向量。理论上,形式验证将保证 非常高的验证速度和1 0 0 的覆羔率。形式验证技术有:定理证明技术、模型形式检查、 等价性形式检查,这种技术用于规模较大的设计时,速度很慢。 物理验证与分析技术务必分析并解决的问题有:时序、信号完整性、串扰、i r 电 压降、电迁移、功耗分忻、工艺天线效应、相移掩模( p h a s es h j f 【m a s k ) 和光学l 临近效应 修正( 叩t i c a lp r o x i m i t vc o r r e c t i o n ) 等,它主要用在电路物理级的验证中。 通过比较发现不同验证技术的适用范围有很大差别。因此在确定系统的验证方案 时,要根据设计对象的规模、功能复杂程度以及设计的不同阶段选择合适的验证技术或 选择几种技术配合使用。 1 1 2 基于i p 复用的s o c 设计技术 随着集成电路的深亚微米制造工艺、设计技术的迅速发展,单个硅片的集成度越来 越高,时钟频率越来越快,使得在单一芯片上可以实现整个电子系统功能,大规模集成 电路设计开始向着系统集成芯片【4 】s o c ( s y s t e m o n c h i p ) 设计的方向发展。s o c 设计方法 江南大学硕:f :学位论文 可以在单芯片上集成m c u 、m m u 、u a i 玎、u s b 等多个功能模块,从而在单一芯片上 实现强大的系统功能1 5 j 。 另外,随着市场对集成电路功能复杂度的要求不断提高,s o c 芯片的集成度不断 增加,工作频率也不断加快,使得芯片设计的复杂性迅速增加,而市场竞争的压力迫使 设计者应最大限度地缩短设计周期,如何利用前人的成功设计经验和设计资料变得十分 必要。知识产权模块1 p ( i n t e l l e c t u a lp m p e n y ) 扣j 的出现带来了设计方法的全面变革。i p 核 是已经经过验证的具有某种特定功能集成电路电路模块,它的使用就如同印刷电路板上 使用集成电路块一样方便。采用i p 核复用的方法,设计者可以专注于整个系统的设计, 从而提高设计速度,充分利用现有资源,降低成本,缩短产品上市时间。 s o c 开发中可复用的i p 核通常包括软核( s o f cc o r e ) 、固核( f i 加c o r e ) 和硬核( h a r d c o r e l 。软核通常是以某种硬件描述语言h d l 文本形式出现,它已经过行为级设计优化 和功能验证,但其中不包含任何具体的物理信息。据此,用户可以综合出正确的门电路 级网表( n e t l i s t ) ,并可以进行后续结构设计,具有最大的灵活性,可以很容易地借助于 电子设计自动化( e d a ) 综合工具与其他外部逻辑电路结合成一体,根据各种不同的半 导体工艺,设计成具有不同性能的器件。可以商品化的i p 软核的电路结构总门数一般 都在5 0 0 0 门以上。但是,如果后续设计不当,有可能导致整个结果失败。软核又被称 作虚拟器件j 。 硬核是基于某种半导体工艺的物理设计,已有固定的拓扑布局和具体工艺,并已经 过工艺验证,具有可保证的性能。它以电路物理结构掩模版图和全套工艺文件为主要形 式,是可以拿来就用的全套技术。固l p 核的设计深度则是介于软i p 核和硬i p 核之间, 除了完成软i p 核所有的设计外,还完成了门电路级综合和时序仿真等设计环节。一般 以门电路级网表形式提交使用【7 】。 从技术层面看,s o c 技术是超大规模集成电路发展的必然趋势和主流,它以超深 亚微米v d s m ( v e r yd e e ps u b m i c m n ) 工艺和知识产权i p 核复用技术为支撑。它主要 向两个方向发展【8 】,一是以可复用i p 核为基础的系统级设计,这主要关心的是口核问 的互连性。二是以设计可复用i p 核为目的的l p 核设计,这主要关心的是l p 核的可复用 性。可以看出后者是完成s o c 设计的前提。 1 1 3 国内外i p 核设计发展现状 在国外,早在1 9 9 6 年就成立了i p 核标准组织v s n ,其目的是为l p 设计建立统 一的技术规范和标准,这些规范和标准可以作到使不同来源的口核( 在v s 认中称为 v c 即v i n u a lc o m p o n e n t ,虚拟元件) 进行集成并相匹配。而国内在这方面的研究开展 得比较晚。我国集成电路产业起步较晚,于2 0 0 2 年批准成立了“信息产业部集成电路 i p 核标准工作组( 1 p c g ) ”,负责制定我国的l p 核技术标准,但至今未有成功的产品投 入市场。以现有中国的集成电路设计水平,还没有能力建立起凌驾于应用和设计水平之 第一帝0 i 售 上的l p 核标准结构体系i 。所以,今后集成电路产业发展重点应放在l p 设计技术的研 究上。 1 1 4 课题的提出 在前一节介绍的3 种可用于s o c 设计的i p 核中,软核足灵活性最强的一种,它以 h d l 语言文本的形式出现,可以结合不同的器件库生成满足工艺需求的电路。其它两 种核的设计也源于软核。它的设计类似于二号用集成电路( a s l c ) 的前端设计,主要完 成寄存器传输级( r t l ) 模型的设计与验证,而后端设计还包括有综合、布局、布线、 时序分析、功耗分析等,完成综合: 作就得到固核的设计,完成剩余的工作就能得到硬 核的设计。随着e d a : 具的不断发展和完善,进行集成电路设计除了功能模块和验证 代码需手工编写以外,后端设计都可以由: 具自动生成或完成,只有有些部分需要人工 干预,所以i p 软核设计的核心任务实际上是完成一个高质量可综合的h d l 设计描述。 根据前面的分析,高效的验证方法既能保证集成电路设计的正确性又是提高集成电 路设计效率的关键。而在以i p 复用技术为核心现代集成电路设计中,l p 的设计成为核 心中的核心,要提高整个设计效率首先要保证所使用l p 核的设计效率和正确性,因此 对l p 设计过程中验证方法的研究具有较重要的意义,也成为本文研究的对象。 i p 软核设计类似于a s i c 前端设计。首先要根据客户提出的功能要求,完成初步的 设计文档,包括系统模型的设计、功能模块的划分等。其次由设计工程师根据前一阶段 提出的设计模型完成实现文档,然后用硬件描述语言完成r t l 编码,同时还需要根据 要求完成验证环境的搭建,并对已完成的r t l 代码进行前端验证。这里的验证主要检 查r t l 代码是否能完成客户提出的功能要求,属于功能验证( 图1 1 ) 。相关资料显示 i p 软核设计过程中,对r t l 代码的验证,其工作量和投入的力度,已经占到整个设计 的6 0 一7 0 ,是整个设计过程中的重要环节。据统计,通常1 条r t l 代码需要5 1 0 行的代码来验证i l ,提高验证的效率成为必然趋势。 h d l 语言描述 功能验证 图1 1 功能验证 寄存器传输级模型 i p 软核的验证一般采用基于仿真的技术。根据仿真结果检验方式的不同,传统的 功能验证方法大致可以分为协同仿真和自测检验两类【1 ”。协同仿真方法( 图1 2 ) 是将用 江南大学硕士学位论文 户产生的各种测试向量作为激励信号,同时输入设计方案和参考系统中,并比较两个系统 的响应,以此来验证设计方案的正确性。参考系统是独立于设计方案的可执行模型,被称 为g o l d e nm o d e l ,参考系统往往比设计方案更抽象。自测检验则是把带有自测性质的测 试向量作为激励信号输入设计方案中,由程序的运行结果体现系统的行为。自测检验的测 试向量包括两部分:执行某一特定功能的代码和对系统行为的判断。 图1 2 协同仿真验证方法 相比之下,第一种协同仿真的方法更适合i p 软核的功能验证。因为在i p 软核提交 给用户时也要提交一个参考模型旧1 3 l ,它用来在用户确定要购买l p 软核之前提供给用 户一个具有i p 软核功能的“黑匣子”,让用户了解这个功能是否是自己所需要的,达到 了保护l p 软核的目的。协同仿真的验证方法充分利用了设计的资源,但也存在问题。 在对仿真结果进行比较时,进行手工操作容易引入错误,而第二种自测检验的方法能完 成添加激励后对结果进行自动判断,如果把两种方法结合,通过建立验证平台完成结果 自动比较,并且对结果进行分析判断,将大大加强验证过程的自动化程度,减少人为错 误,这个平台称为自比较验证平台( 图1 3 ) 。 验证平台 一, 匡匦卜 结果 :一一一一一一一一一一一一一一- 一- 一一一一一一一一- 一一一一一一一- 一一l 图卜3 自比较验证平台 实现这样的验证平台还有一个问题,参考模型和r t l 模型是在不同抽象级别上进 第一章引言 行描述的,r t l 模型采用h d l 描述,而参考模型采用的是更高级的语言,用传统的h d l 没办法在一个平台中对另一种语言编写的模型进行验证,同时h d l 对复杂功能的描述 能力有限,与现在出现的很多行为级描述语言相比,描述同一个功能h d l 使用的代码 数量是行为级描述语言。使用的几倍【1 5 t ”,”】。为了解决这个问题,本文提出了使用新的行 为级建模语言s y s t e m c 作为参考模型和验证平台的编写语言,用v e r j l o g h d l 编写r t l 模型,采用m e n t o rg r a p h i c s 公司的m o d e l s i ms e6 o 作为仿真验证的软件环境,它支持 对多种不同语言混合的模型进行仿真1 1 8 l 。 1 2 课题的研究工作 1 2 1 课题的意义及工作任务 本文通过分析验证工作在集成电路设计中的重要作用,又结合现代集成电路发展的 趋势,指出进行l p 软核设计和验证的重要性,并在传统的功能验证方法的基础上提出 了一种改进的自比较验证平台的设计方案,它可以弥补传统验证中存在的不足【3 l ,表现 为一下几点: 1 验证的自动化程度。本文的验证平台搭建完成后,加入被验证的对象( d u t ) 就可以运行仿真,并验证,验证的结果以文本的形式显示,告诉设计者设计是 否正确,不正确的话,根据错误信息可以对d u t 手工修改,并再次运行仿真 进行验证。其中需要人为干预的部分很少,有较高的自动化程度。 2 高效率的验证方法需要更抽象的语言支持。以v e r i l o gh d l 和v h d l 为代表的 硬件描述语言的出现,是对逻辑门单元电路描述的一种抽象,提高了l c 的设 计效率1 1 9 l ,但在验证领域的表现并不理想,s v s t e m c 的出现弥补了这个空白, 它在行为级的描述方面有很大优势,这将在下一章中详细介绍。 3 验证成本的限制,其中包括昂贵的工具和人工成本。本文提出的验证方法充分 利用l p 设计的资源,减少了建立参考模型的成本;在l pl 歧计的过程中对它进 行验证,边设计边改错,减少了设计全部完成后再查错的难度。另外,本文提 出的通过平台把参考模型、r t l 模型、激励生成、结果比较都以模块的形式集 成在一起,便于修改和重复利用,对于降低验证成本起着重要作用。 为了更清楚地说明这种验证平台的效果和优越性,本文进行了以下几个步骤的研究 : 作: 1 选择适当规模的电路进行i p 软核设计和验证。考虑到目前在大多数集成电路 中都要用到外设接口,其中应用最为普遍的就是具有异步通讯功能异步收发器 ( u a r t ) ,每种u a r t 的区别在于具有不同的除异步通讯功能外的辅助功能, 如中断功能、数据缓冲功能、数据校验功能等【2 0 2 1 2 2 ,”,2 4 1 。同时结合自己的知 识水平和课题研究工作量,本文选择一种具备基本异步串行通讯功能的u a r t 为对象进行i p 软核的设计。这个电路有简单的异步串行数据收发功能,可以 江南大学硕:t 学位论文 根据需要修改参数得到任意的时钟频率和任意字长。选择合适的仿真环境进行 l p 核设计与验证工作。 2 分析接口电路的功能需求,画出功能框图,制定端口数量和每个端口的代表的 功能。 3 根据功能描述设计行为模型。行为模型是从端口的信号行为来表现电路功能 的,不需要详细的内部结构,这时描述出的电路只是一个“黑箱子”。使用 s v s t e m c 建立模型的同时也要建立激励模块,在仿真时“黑箱子”根据激励生 成响应波形,这时可以通过观察波形检查的输入输出关系是否能满足功能的要 求。 4 进一步对功能框图中各子模块分析,编写r t l 模型。这个模型是用于描述电 路内部详细结构的,通过硬件描述语言v c m o gh d l 设计出可综合的代码。这 样的代码使用综合工具并结合相应的器件库就可以得到实际的电路。 5 将r t l 模型与建立好的验证平台结合起来,并进一步完善验证平台,加上输 出采样、比较和显示部分,完整的验证平台就搭建好了。这部分最重要的工作 是使激励顺利地加在两个模型中、输出采样的数量和位置合适、显示的信息能 体现出错的位置。 6 根据出错信息反复调试和修改r t l 模型,直到没有错误。最后还要对r t l 模 型进行代码覆盖率检查,要求达到1 0 0 ,防止出现验证激励不能完全检查到 电路中每一个部分。 7 通过对s v s t e m c 和v e r i l 0 2h d l 代码结构的分析,说明了本文设计的代码具有 可复用性。 1 2 2 课题的创新点 本文的创新之处有以下几点: 1 基于协同仿真和自测检验方法上的改进的自比较验证平台,简化了验证的过 程,从激励的生成到结果比较、出错显示,不需要人工干预,减少人为出错的 几率。 2 行为级建模语言的引入。s v s t e m c 在行为级建模上有很大的优势,并且具有c + + 面向对象编程的特性,对于进行高效验证、平台结构化和重复利用都有很大的 帮助。 3 采用混合语言仿真环境m o d e l s i m 完成验证。发挥了高级语言在行为描述上的 优势。 4 在对串行数据接收模块进行验证时,针对编写激励文件比较困难的问题提出一 种新的验证方法。 第二二章吐汁、验证语言及:r 具 第二章设计、验证语言及工具 本章对设计中所使用到的语言以及工具做一个简单的介绍。 2 1 行为级建模语言s y s t e m c 2 1 1 发展历程 在早期的集成电路发计过程中,山于低抽缘层次的设计问题比高抽象层次的设计问 题手工处理更难,这迫使研究者首先把注意力集中到低层次设计问题上。例如:电路仿 真、布局、布线和布局规划。随着现代电子系统复杂性和上市时间压力的日益增加,越 来越多的新设计技术涌现出来,新的设计:亡具也层出不穷。由于新工具的使用简化了低 抽象层次的设计问题,工业界和学术界开始把注意力集中到系统设计,从更高的层次在 较短的时问内完成复杂系统的设计,这样出现了s o c 技术i “。 目前,在s o c 的设计中面临很多问题,像系统定义、软硬件划分、设计实现等。 设计界一直在考虑如何满足s o c 系统级的设计要求,并寻找一种能同时完成较高层次 的软件和硬件描述的系统级设计语言,它能实现更快的仿真速度,并能帮助进行软硬件 协同仿真和体系结构方面问题的探索。s v s t e m c 正是在这种情况下出现的,它广泛应用 于高层系统级的s o c 设计中。 s y s t e m c 山s y n o p s y s 公司和c o w a r e 公司积极响应目前各方对系统级设计语言的需 求而合作开发的。1 9 9 9 年9 月2 7 日,4 0 多家世界著名的电子设计自动化( e d a ) 公司、 l p 公司、半导体公司和嵌入式软件公司宣布成立“丌放式s v s t e m c 联盟”。著名公司 c a d e n c e 也于2 0 0 1 年加入了s v s i e m c 联盟。s v s i e m c 从1 9 9 9 年9 月联盟建立初期的0 9 版本开始更新,从1 0 版到1 1 版,一直到2 0 0 1 年1 0 月推出了最新的2 0 版【2 7 2 引。 s y s t e m c 是建立c + + 基础上的开放式系统级没计语言。实际上s y s t e m c 由一系列用 来进行系统描述的c + + 类构成,并包含了一个用来对系统行为进行模拟的仿真核。 s y s t e m c 2 o 的推出使s y s t e m c 成为真正的系统级设计语言,能够用来对s o c 体系结构 进行更加自然和有效的描述。这样就使s v s t e m c 语言具有系统概念以及实现的系统软、 硬件建模的能力i “。推动s v s t e m c 发展和标准化的关键因素有:系统级设计、描述硬件 体系结构、描述软件算法、验证、i p 交易【1 5 】。 s y s t e m c 的独到之处在于使用同一种语言( 只使用了一种语言) 就具备了描述从系统 级到门电路级模型的能力。采用这种语言可以编写设计对象,再对其进行验证,并进一 步将设计细化至实现级( 通常是寄存器传输级) 。接下去的工作,就可以由综合工具去完 成了。可以在行为级或系统级上对系统进行建模,然后将其不断细化至寄存器传输级。 而在细化设计的整个过程中都可以采用同一个验证平台【1 5 j 。 江南大学硕士学位论文 美中不足的是,目前的集成电路设计领域还没有工具能对s y s t e m c 语言的系统描 述进行高层次的综合i 。所谓综合就是把高层次的语言描述由软件自动“翻译”成低层 次描述,如把算法级描述“翻译”成r t l 级描述,进而“翻译”成网表。无法进行高 层综合,自然不能用这个语言进行门电路级的设计。然而,s v s t e m c 作为一种系统级设 计与验证语言,非常适合做复杂集成电路模块的验证,用于r t l 描述是一个很美好的 未来,但未来不是现在。 2 1 2 设计能力 用自然语言来描述一个系统,通常是模糊和不完备的,缺乏详细说明任务的能力。 因此,设计者需要用一些精确的语言来描述系统的功能。随着s o c 设计复杂性的增加, 设计者非常渴望有一种系统描述语言,能在综合之前就对系统各种不同的抽象级别进行 全面的描述和功能验证【3 0 】。但是目前出现的很多语言如v h d l 、v e r i l o gh d l 等都不能 作为系统描述语言,因为每一种语言只能描述系统的一部分特性,不具备描述全部系统 特性的能力。本节介绍的系统描述语言s v s t e m c 则较好地解决了上述问题,它具有以下 设计能力i ”川: 1 模块描述模块可采用s cm o d u l e 模块类。模块可以具有层次结构,每个模 块可以有多个进程和对模块的实例化。 2 进程进程用于描述功能。进程位于模块内。它是一个基本执行单位,被调用 来仿真目标系统的行为,有三种基本进程:s cm e t h o d 、s ct h r e a d 和 s cc 1 h r e a d 。进程定义的是并发行为。此外进程不具有层次结构。 3 端口模块利用端口与其他模块进行通信。有三种信号端口:输入、输出和输 入输出双向端口。 4 信号信号可以传递值,它用来连接多个进程和模块实例。 5 丰富的数据类型集支持多个设计领域和抽象层次,对于快速仿真,有固定精 度类型;对于大的数据,有任意精度类型;对于d s p 应用,有定点数据类型。 既支持2 值逻辑,也支持4 值逻辑。还可采用c + + 语言中任何数据类型。 6 时钟内建了时钟关键词。 7 基于事件的仿真提供了基于事件的菏眭能仿真内核,允许实现高速仿真。 8 多种抽象层次支持在多种抽象层次上建立模型,从高层次的功能模型到细化 的精确到时钟周期的r t l 模型。还支持高层次模型向低层次不断细化,直至 得到r t l 模型。 9 调试支持支持使用c + + 调试工具进行调试。 1 0 波形记录支持三种不同的波形格式保存结果:v c d 、w l f 和l s d b 。 1 1 系统级设计便于实现系统级设计任务,允许设计模型采用各种各样的计算、 设计抽象层次和设计方法。 第一二章世计、验证语言及:亡具 易于建模基于标准的编程语言c + + ,支持单一语言来描述软件和硬件,可以 重用与c + + 相关的大量知识、基础结构和代码。 2 2 硬件描述语言v e r i l o gh d l 2 2 1 发展历程 硬件描述语言( h d l ) 是硬件设计人员和e d a 工具之间的界面,其主要目的是用 来编写设计文件,建立l n 子系统的仿真模型。这种语言可以完成从顶层到底层( 从抽象 到具体) 逐层描述数字电路系统的设计思想。它使用一系列层次化的模块来表示极其复 杂的数字系统。然后,利用e d a 工具,对仿真模型逐层进行验证,再把其中需要转换 为实际电路的模块进行组合,通过综合工具生成门级电路网表。接下来,再用e d a 后 端设计工具,把网表转换为要实现的具体电路的版图数据p “。 v e r j l 0 2h d l 是硬件描述语言的一种,用于数字电子系统设计。设计者可用它进行 从行为级到开关级的逻辑设计和数字逻辑系统的仿真验证,建立好的模型可以进行时序 分析和逻辑综合。它是目前应用最广泛的一种硬件描述语言1 3 ”。 v e r i l o g h d l 是在1 9 8 3 年,由g d a ( g a t e w a y d e s i g i l a u t o m a t i o n ) 公司的p h 订m o o r b y 首创的。p h i lm o o r b y 后来成为v e r i l o g x l 的主要设计者和c a d e n c e 公司的第一合伙人。 在1 9 8 4 1 9 8 5 年,p h j lm o o r b y 设计出了第一个名为v er j l o g x l 的仿真器;1 9 8 6 年,他 对v e r i i o gh d l 的发展又作出了另一个巨大的贡献:提出了用于快速门级仿真的x l 算 法。随着v e r i l o g x l 算法的成功,v e r i l o gh d l 语言得到迅速发展。1 9 8 9 年,c a d e n c e 公司收购了g d a 公司,v e r i l 0 2h d l 语言成为c a d e n c e 公司的私有财产。1 9 9 0 年,c a d e n c e 公司决定公,下v e r i l o gh d l 语言,于是成立了0 v l ( o p e nv e r i l o gi n t e m a t i o n a l ) 组织, 负责促进、,e r i l o gh d l 语言的发展。基于v e r i l o gh d l 的优越性,l e e e 于1 9 9 5 年制定 了、,e r i l o gh d l 的i e e e 标准,即v e r i l o 叠h d l1 3 6 4 1 9 9 5 ;2 0 0 1 年发布了v e r i l o gh d l 1 3 6 4 2 0 0 1 标准。在这个标准中,加入了v e r i l o g h d l a 标准,使v e r i i o g h d l 具有了对 模拟电路的设计描述能力【3 2 】。 2 2 2 设计能力 v e r i l o gh d l 可用于算法级、门级到开关级的多种抽象设计层次的数字系统建模。 被建模的数字系统对象的复杂性只受e d a 工具仿真能力的限制。对于数字系统能够按 层次描述,并可以显式地进行时序建模。语言具有下述描述能力:描述行为特性的能力、 描述数据流特性的能力、模块化的设计结构、响应监控能力和设计验证方面的时延和波 形的产生机制。所有这些都只需要用v e r i l o g h d l 建模就可以实现。同时该语言从c 编 程语言中继承了多种操作符和结构,简单易学。下面列出v e r i l o gh d l 语言几种主要的 设计能力【3 3 】: 江南大学硕士学位论文 1 基本逻辑门例如a n d 、o r 和n a n d 等都内置在语言中。 2 开关级基本结构模型例如p m o s 和n m o s 等也被内置在语言中。 3 时序描述提供显式语言结构指定设计中的端口到端口的时延及路径时延和设 计的时序检查。 4 描述方式可采用三种不同方式或混合方式对设计建模。这些方式包括:行为 描述方式使用过程化结构建模;数据流方式使用连续赋值语句方式建 模;结构化方式使用门和模块实例语句描述建模。 5 数据类型v e r i l o gh d l 中有两类数据类型:线网数据类型和寄存器数据类型。 线网类型表示构件间的物理连线而寄存器类型表示抽象的数据存储元件。 6 层次设计能够描述层次设计,可使用模块实例结构描述任何层次。 7 设计规模设计的规模可以是任意的;语言不对设计的规模( 大小) 施加任何限 制。 8 人机交互人和机器都可阅读v e r i o g 语言,因此它可作为e d a 的工具和设计者 之间的交互语言。 9 多级描述设计能够在多个层次上加以描述,从开关级、门级、寄存器传送级 ( r t l ) 到算法级。 1 0 丰富的内置函数v e r i i o g h d l 还具有许多内置逻辑函数,例如( 按位与) i ( 按位 或1 。 1 1 高级编程结构对高级编程语言结构,例如条件语句、情况语句和循环语句, 语言中都可以使用。 1 2 文件处理能力提供强有力的文件读写能力。 2 3 仿真环境m o d e l s i m 2 3 1m 0 d e l s i m 简介 m e n t o rg r a d h i c s 公司的m o d e l s i m 软件包含在越t e r a 软件订购包之中,被许可在 p c 、s o l a r i s 、h p u x 或i j n u x 平台上使用。m o d e l s i m 工具支持所有t e r a 器件的行为 级仿真和v h d l 或v e r i l o g 仿真激励;是业界最优秀的h d l 语言仿真器之一;具有快速 的仿真性能和最先进的调试能力:支持众多的a s i c 和f p g a 厂家库,是作f p g a 、a s i c 设计的r t l 级和门级电路仿真的首选;支持c 模型、基于s w i f t 的s m a n m o d e l 逻辑 模型和硬件模型的仿真;它具有丰富而又易用的图形用户界面,提供最友好的调试环境, 并为加快调试提供强有力的手段;它是业界唯一单一内核支持v h d l 、v e r i l o gh d l 和 s v s t e m c 混合仿真的仿真器;采用直接优化的编译技术和单一内核仿真技术,编译仿真 速度快,编译的代码与平台无关,便于保护i p 核。 m o d e l s i m 6 0 是m o d e l s i m 的最新版本,根据不同使用范围又分为几种不同的版本: 第二章髓计、验证语言及工具 s e 、p e 、l e 和o e m ,其中s e 是最高级的版本。它具有以下主要特点f 3 4 】: 1 单内核三语言( v h d l 、v e r i l o g 和s y s t e m c ) 混合仿真器,可以进行v h d l , v e r j l o g 以及v h d l 和v e r i l o gh d l 的混合仿真。 2 高性能的r t l 和门级优化,有本地编译结构,编译仿真速度快。 3 编译的代码与机器和版本无关,便于数据移植和库维护。 4 支持加密i p ,便于保护l p 核。 5 集成c 调试器,可以在统一的界面中同时仿真c 和v h d l v e r i l o g 。 6 完全支持v e r j l o g - 2 0 0 1 ;初步支持s y s t e mv e r i l o g :b e t a 版支持p s l :m o d e l s j m 是唯一支持所有标准的仿真器,同时也是定义和执行这些标准的积极的参与 者

温馨提示

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

评论

0/150

提交评论