(电路与系统专业论文)面向多处理器核SOC的软硬件协同验证平台研究[电路与系统专业优秀论文].pdf_第1页
(电路与系统专业论文)面向多处理器核SOC的软硬件协同验证平台研究[电路与系统专业优秀论文].pdf_第2页
(电路与系统专业论文)面向多处理器核SOC的软硬件协同验证平台研究[电路与系统专业优秀论文].pdf_第3页
(电路与系统专业论文)面向多处理器核SOC的软硬件协同验证平台研究[电路与系统专业优秀论文].pdf_第4页
(电路与系统专业论文)面向多处理器核SOC的软硬件协同验证平台研究[电路与系统专业优秀论文].pdf_第5页
已阅读5页,还剩64页未读 继续免费阅读

(电路与系统专业论文)面向多处理器核SOC的软硬件协同验证平台研究[电路与系统专业优秀论文].pdf.pdf 免费下载

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

文档简介

摘要 在今天的i c 产业中,上市时间已经成为电子产品能否成功的重要因素。在 产品设计周期中,系统验证时间占据了系统设计总时间的7 0 左右,要缩短产 品的上市时间,主要靠缩短产品的设计验证时间。随着系统验证技术的不断发展, 以及片上系统s o c 设计日渐占据集成电路设计发展的主流,软硬件协同验证技 术的开发正愈来愈受到集成电路设计者们的重视。 本论文针对于此,提出了一种面向多处理器核s o c 的软硬件协同验证方法。 该方法在传统的软硬件协同验证技术的基础上,在验证平台中增加了一个从传统 硬件描述语言v e r i l o gh d l 到s y s t e m c 的翻译器,同化了系统软件部分与硬件部 分的描述语言,由此使得系统软件部分与硬件部分的仿真验证可以在同一机器平 台上进行,消除了传统的软硬件协同验证技术中由于软件与硬件部分描述语言不 同而引入的进程间通信开销,大大提高了仿真验证的速度,缩短了系统验证所需 的时间,更有利于加快产品的上市时间。 本文在设计了该软硬件协同验证平台后,对其进行了测试。测试的结果表明, 该软硬件协同验证平台能够实现对多处理器核s o c 电路的验证,并且在验证时 间上,相对于传统的软硬件协同验证平台来说,有十分明显的改进。 关键字:s o c ,软硬件,协同验证,s y s t e m c a b s t r a c t i nt o d a y sm a r k e to f i cp r o d u c t t 1 1 et i m et om a r k e th a sg n n e dm o r ei m p o r t a n c e t h a nt h ep e r f o r m a n c e ,p o w e ra n dc o s t ,a n db e c o m et h eu p m o s tc r i t e r i o nb yw l l i c ht h e p r o d u c t ss u c c e s si sw e i 曲e d i nt h ed e s i g nf l o wo fa ni cp r o d u c t ,7 0 o ft h et o t a l d e s i g nt i m e 招s p e n to nt h es y s t e mv e r i f i c a t i o n s od e s i g n e r sh a v et os h r i n kt h e v e r i f i c a t i o nt i m eo ft h ep r o d u c t i no r d e rt os h o r t e nt h et i m et om a r k e t w i t ht h e c o n s t a n td e v e i o p m e n to fv e r i f i c a t i o nt e c h n i q u ea n dt h ef a c tt h a ts o ch a sb e c o m e p r o m i n e n ti nt h ei cd e s i g nf i e l d h a r d w a r e s o f t w a r ec o v e r i f i c a t i o ni sg e t t i n gm o r e a n dm o r ef o e l l so f t h ei cd e s i g n e r s a c c o r d i n gt ot h i ss i t u a t i o n ,t h i sp a p e rb r i n g sf o r w a r dan e wh a r d w a r e s o f t w a r e c 0 一v e r i f i c a t i o nm e t h o df o rm u l t i p r o c e s s o rs o c t 1 1 i sm e t h o di sb a s e do nt h e t r a d i t i o n a h w s wc o v e r i f i c a t i o nt e c h n i q u e a n da d dav e r i l o gi i d lt os y s t e m c t r a n s l a t o r t h et r a n s l a t o re l i m i n a t et h ed i f f e r e n c eb e t w e e nt h es o f t w a r ea n dh a r d w a r e s y s t e m ,s oa st om a k ei tp o s s i b l et ov e i l f yt h es o f t w a r ea n dh a r d w a r es y s t e mw i t h i na s i n g l ee l l g i n e ,a n da v o i dt h ei n t e rp r o c e s sc o m m u n i c a t i o nb r o u g h ti nb yt h et r a d i t i o n a l h w s wc o v e r i f i c a t i o n t h i sn c wh w s wc o v e r i f i c a t i o nm e t h o dc a l li r e p r o v et h e 黼c i e n c yo fs y s t e r nv e r i f i c a t i o n r e m a r k a b l yr e d u c et h et i m es p e n to nv e r i f i c a t i o n a n dc a r lt h e r e f o r es h o r t e nt h ep r o d u c t st i m et om a r k e t t h en e wh w s wc o v e r i f i c a t i o np l a t f o r mh a sb e e nt h r o u g ht e s t sa f t e ri ti sb u i l t t h er e s u l t so ft h et e s t ss h o wt h a tm i sh w s wc o v c r i f i c a t i o n p l a t f o r m c a l l a p p r o p r i a t e l yp e r f o r mt h ev e i l f i c a t i o no ft h em u l t i - p r o c e s s o rs o c ,a n dd e m o n s t r a t e s i g n i f i c a n ti m p r o v e m e n ti ns y s t e mv e r i f i c a t i o nt i m ec o m p a r e dt ot h et r a d i t i o n a l h w s wc o - v e f i f i c a t i o np l a t f o r m k e y w o r d :s o c ,h a r d w a r e s o f t w a r e ,c 0 - v e r i f i c a t i o n ,s y s t e m c 面向多处理器核$ 0 c 的软硬件协同验证平台 第一章绪论 在集成电路产品市场快速发展的今天,电子产品的上市时间( f i m e - t c - m a r k e 0 具有愈来愈关键的地位。上市时间的重要性甚至已经超过了产品的功能和成本, 成为衡量电子产品是否成功的首要指标。由于在集成电子产品的设计总时间中, 系统验证的时间约占7 0 左右【1 1 。系统验证时间的长短,将大大影响电子产品的 设计总时间,并由此影响电子产品的上市时间。为了缩短所设计的电子产品的上 市时间,使其更具竞争力,设计者们已经愈来愈将目光集中在系统验证技术的开 发和改进上。近十年来,虽然系统验证技术得到了广泛的重视和长足的发展,但 相对于集成电路设计技术的高速发展来说,系统验证技术还是一个瓶颈翻。因此, 对高效率的系统验证技术的开发和研究,具有十分重要的意义。 s o c 是片上系统( s y s t e mo l lc h i p ) 的简称,其顾名思义就是将整个系统集 成在单个的芯片上嘲。s o c 电路的产生是现今半导体微细加工工艺精度不断提 高,集成电路的集成度以惊人速度发展的最新成果。与传统的板级电路不同,s o c 设计结合数字与模拟技术,将i 0 各种转换器件、存储器和微处理器集成在同 一封装内,从而具备数据处理、存储和一整套专用功能,甚至电源和电源驱动电 路也将集成在同一模块中专家认为,集成电路发展的大趋势是高速、高集成度 和低功耗的系统集成。随着深亚微米级的工艺加工水平向o 1 8 微米迈进,在单 一芯片上已经具备集成上百兆晶体管的能力。s o c 能够提高半导体器件的电气 性能,改善系统的可靠性,降低大多数应用所需的印刷电路板面积,受到整机制 造商的普遍欢迎。s o c 电路技术的使用,必然会成为集成电路设计领域发展的 未来趋势所在。 s o c 电路作为当今最具发展潜力的一个电子设计领域,其相应的系统验证 技术一直都受到很大的重视。本论文主要针对s o c 电路设计的特点,提出一种 面向多处理器核s o c 的软硬件协同验证方法,并基于该方法在l i n u x 操作系统下 面向多处理器核s o c 的软硬件协同验证平台 实现了软硬件协同验证平台,通过具体的s o c 电路模型对该平台进行了测试。 本章将首先简单阐述系统功能验证方法学,以及软硬件协同验证技术的发展现状 和研究意义。然后将介绍本论文的研究内容和章节安排。 1 1 系统功能验证方法学 一项设计也许包含有错误,但却能满足设计需求;或者这项设计完全没有错 误,但却不能满足设计需求。在这种情况下,我们要如何来判断一项设计的可靠 性呢? 答案是检验和验证。检验是判断设计是否符合先前规定的设计需求的过 程,而验证是判断设计过程中是否出现错误的过程哪。b o e h m 通过两个问题的回 答来非正式地定义了这两个概念; 检验回答了“我是否在设计正确的产品? ” 验证回答了“我是否在正确地设计产品? ” 在本论文中,主要是针对验证这个方面进行讨论。验证技术可以大体上分为 形式验证( f o l m a lv e r i f i c a t i o n ) 和经验验证( 锄p 施a lv e r i f i c a t i o n ) 这两大类。形式验 证方法试图从数学的角度来证明或是反驳一项设计是正确的。这种验证方法不需 要运行实际设计来进行测试。要对一项设计进行形式验证,通常要求验证者经过 大量的训练,并且相对较少的设计能够适用于形式验证。由于形式验证中的假设 可能是无效的或是错误的,而且可能会受到验证者在操作过程中产生人为错误的 影响,许多形式验证所谓的依据后来都被证明是不正确或是不完备的。 与形式验证不同,经验验证通过产生并在设计产品上运行测试向量,来找出 设计中存在的镨误。经验验证并不意图对一项设计正确与否给出一个明确的答 案,而是试图在一定程度上确认一个不正确的设计是不正确的。因此,经验验证 方法是否有效就完全取决于其产生的测试向量的有效性。 在当今的验证学领域,虽然形式验证具有其特定的优势。但还是经验验证方 法占据主流地位本论文中所讨论的面向多处理器核s o c 的软硬件协同验证方 法也是属于经验验证方法的一个分支。 面向多处理器核s o c 的软硬件协同验证平台 1 2 软硬件协同验证技术的研究意义和发展现状 软硬件协同验证方法与传统的数字系统仿真验证方法不同,它是针对软件和 硬件系统模块进行的混合模拟仿真 s l 。软硬件协同验证方法的产生是与s o c 电 路的产生和发展分不开的。 由于s o c 系统设计是基于之前已通过设计验证的口核( i n t e l l e c t u a l p r o p e r t y ) 的重用和选择,这一特点决定了其设计验证的焦点不是在单个的功能模块,而是 整个系统级的功能仿真验证。传统的嵌入式系统设计验证方法通常是将软件部分 和硬件部分的设计验证分开独立进行,软硬件在确定了初步设计目标后就很少再 互相考虑。直到软件和硬件的原型构造初步完成后,才进行软硬件的集成和测试。 这样的设计验证方法经常会导致在系统设计后期,发现软件与硬件系统之闻的接 口存在问题,或是一些设计初期产生的系统功能方面的错误。此时再进行软件或 硬件的修改,都将导致设计费用的增加和设计周期的延长。而后者在以上市时间 为产品重要衡量标准的今天,是有着十分严重的影响的。 软硬件协同验证技术的产生正好改变了这种不利的局面。使用软硬件协同验 证技术来验证s o c 设计,可以在设计初期,软件与硬件部分功能划分完成之后, 就通过软件与硬件部分之间的数据交换和通信,来实现软硬件协同验证,在保证 芯片一次成功率的同时,尽量缩短验证时间,以实现更快的上市时间嘲下面就 简单介绍一下软硬件协同验证技术,它又可分为外围硬件模型的验证和处理器模 型的验证两部分。 对于s o c 的外围硬件模型( 指微处理器之外的硬件部分) 来说,通常使用 硬件模拟器作为验证工具。硬件模拟器通过忽略及简化设计的物理特性,对设计 的实现进行模拟l 铆硬件模拟器通过执行r t l 级的设计描述,模拟设计的物理 实现,它无法确定设计真实的物理实现与设计描述之闻的区别。仿真的结果取决 于设计描述是否准确反映了设计的物理实现。硬件模拟器不是一个静态工具,需 要编写激励和检查输出响应。激励由模拟设计工作环境的测试( t e s t b e n c h ) 产 生,响应为仿真的输出,由验证者确定输出的有效性。硬件模拟器分为四种类型, 分别为事件驱动模拟器,周期精确型模拟器,联合模拟器,以及硬件建模器m 1 事件驱动模拟器是最常用的硬件模拟器,例如m o d e l s i m v c s 等都是 事件驱动模拟器,它将信号的变化定义为一个事件,该事件驱动仿 面向多处理器核s o c 的软硬件协同验证平台 真执行,事件驱动模拟器能准确地模拟设计的时序特征,可模拟异 步设计。 2 基于周期的模拟器的特点是忽略设计的时序,假定所有f l i pn o p 的 和 时间都满足要求,在一个时钟周期,信号仅更新setup h o l d 一次, 从而信号必须与时钟同步。仿真速度比事件驱动模拟器高。基于周 期的模拟器的工作过程步骤是,首先编译电路,将组合逻辑压缩成 单独的表达式,根据该表达式可确定f l o p 的输入,然后执行仿真, 遇到时钟的有效沿,n i ph o p 的值被更新。基子周期的模拟器的缺 点是不能仿真异步电路,不能进行设计时序的验证。 3 联合模拟器对同一设计各个部分,分别用不同的硬件模拟器仿真。 如即含有同步设计又含有异步设计的电路,可用事件驱动模拟器对 异步设计仿真,用基于周期的模拟器对同步设计仿真。联合模拟器 中各个硬件模拟器的操作是锁步( 1 0 c k e d s t e p ) 的,类似于电路的流水 线( p i p e l i n e ) 操作。其缺点是由于不同硬件模拟器之间需要同步和相 互通讯,联合模拟器的仿真速度受到最慢的模拟器的限制,因而影 响模拟器的性能,而且在各硬件模拟器传送的信息会产生多义性。 4 硬件建模器创建一个物理芯片的逻辑模型,向模拟器提供该芯片的 行为信息,芯片和模拟器的通信过程是首先将物理芯片插入硬件模 拟器,然后格式化来自模拟器的数据,作为该芯片的输入,最后将 该芯片输出的数据,包含时序信息,送往模拟器。硬件建模器可以 提供很高的仿真速度,但是设备价格高昂需要注意的是,硬件建 模器做的仍然是功能仿真,而不是时序仿真,因为芯片是降频运行 的。 对于s o c 的处理器模型( 包括微处理器以及其上运行的嵌入式软件) 来说, 根据处理器的不同模拟级别,其仿真验证主要有以下四种方案旧: 1 处理器全功能模型。该方法将处理器与系统中的其他外围硬件设备 等同对待,利用硬件仿真器模拟仿真微处理器的内部硬件结构,包 括数据通路,指令解码单元,片上总线等,由单一的硬件仿真器实 现包含处理器模型和外围硬件模型的整个系统的仿真验证。这种验 面向多处理器核s o c 的软硬件协同验证平台 证方法的优点在于只需用种硬件仿真器就可以实现对整个系统的 验证,省去了专门针对处理器模型的模拟验证。但是,由于s o c 电 路结构复杂,规模庞大,若采用处理器全功能模型的验证方法来对 整个系统进行验证,则必然会耗费大量的时间。 2 嵌入式软件编译模拟。该方法是将嵌入式软件的源代码编译成可在 宿主机( h o s tm a c h i n e ) 上直接执行的目标码,并通过p l i ,f l i 或其他 接口技术实现与硬件仿真器的连接,从而实现软硬件的协同验证。 3 处理器硬件的模拟。该方法是指采用真实的嵌入式处理器或构造嵌 入式系统的原f p g a 模型的仿真方法,以加快嵌入式软件执行速度的 方法。这种验证方法虽然能大大加快仿真验证的速度,但由于验证 环境需要使用真实的嵌入式处理器或构造f p g a 板,使得验证的成本 也大大提高。 4 指令集模拟器是嵌入式软件的解释器,它根据嵌入式软件的执行情 况修改代表目标处理器状态的变量,并通过总线功能模型产生与指 令执行相对应的端口事件。指令集模拟器通过这些端口事件与离散 事件模拟器进行信息交换,从而实现软件和硬件模块的协同验证。 指令集模拟器相对于处理器全功能模型验证方法来说,节省了处理 器内部硬件事件的调度开销,可以大幅度地提高协同模拟的速度, 并且嵌入式软件是以解释的形式执行的,可以观察内部寄存器值的 变化,很方便地对软件进行调试,系统不需要任何硬件,验证成本 较低。 通过以上对外围硬件模型验证方法以及处理器模型验证方法的讨论可以看 出,综合考虑模拟验证速度和验证成本开销等多方面因素,事件驱动模拟器与指 令集模拟器相结合的软硬件协同验证方法相对于其他组合的协同验证方法是具 有很大的优势的。它使得整个系统的验证可以在一个虚拟的软件环境中完成,降 低了系统验证的成本,并且可以达到高速模拟验证的要求。本论文所提出的面向 多处理器核s o c 的软硬件协同模拟技术就是基于这种事件驱动模拟器与指令集 模拟器相结合的模拟技术。 面向多处理器核s o c 的软硬件协同验证平台 1 3 论文研究内容与章节安排 1 3 1 论文研究重点 随着系统验证技术的不断发展,以及片上系统s o c 设计日渐占据集成电路设 计发展的主流,软硬件协同验证技术的开发正愈来愈受到集成电路设计者们的重 视。本论文针对于此,提出了一种面向多处理器核s o c 的软硬件协同验证方法。 该方法在传统的软硬件协同验证技术的基础上,在验证平台中增加了一个从传统 硬件描述语言h d l 到s y s t e m c 的翻译器,同化了系统软件部分与硬件部分的描述 语言,由此使得系统软件部分与硬件部分的仿真验证可以在同一机器平台上进 行,消除了传统的软硬件协同验证技术中由于软件与硬件部分描述语言不同而引 入的进程间通信( i n t e r p r o c e s s c o m m u n i c a t i o n ) 开销,大大提高了仿真验证的速度, 缩短了系统验证所需的时间,更有利于加快产品的上市时间。 1 3 2 本论文章节安排 本论文第一章先简单阐述了系统功能验证方法学,介绍了软硬件协同验证技 术的研究意义和发展现状,就处理器模型的验证和外围硬件模型的验证两个方面 介绍了软硬件协同验证的现有的几项技术。最后点出本论文的研究重点,即面向 多处理器核s o c 的软硬件协同验证技术。 第二章首先就处理器模型和外围硬件模型两部分简要说明面向多处理器核 s o c 的软硬件协同验证平台的设计方案。接着介绍与本论文研究重点密切相关的 片上系统s o c 的发展现状,以及s y s t e m c 硬件描述语言的特点和发展。 第三章具体介绍面向多处理器s o c 的软硬件协同验证平台的处理器模型的 实现,其中包括指令集模拟器及其优化,总线功能模型及其优化,以及将指令集 模拟器与总线功能模型相链接以构成处理模型。 第四章具体介绍面向多处理器s o c 的软硬件协同验证平台的外围硬件模型 的实现。外围硬件模型包括辅助验证工具v e r i l o g 到s y s t e m c 翻译器,以及具体硬 件模型存储器m e m o r y 和通用异步发送接收串c i u a r t 。这一章最后会介绍如何将 面向多处理器核s o c 的软硬件协同验证平台 外围硬件模型与总线功能模型相链接以构成完整的软硬件协同验证平台。 第五章将介绍在l i n u x 操作系统下对所设计的面向多处理器核s o c 的软硬件 协问验证平台进行的测试。测试包括三部分:第一部分是用该软硬件协同验证平 台来模拟验证一个典型的双处理器核s o c 电路模型,以验证该软硬件协同验证平 台是否可行;第二部分是分别用本论文所设计的软硬件协同验证平台和传统的软 硬件协同验证平台来验证一简单片上系统s o c 电路模型,通过比较两种平台的运 行结果来证明本论文所设计的软硬件协同验证平台在验证速度上的显著改进;第 三部分是用本论文所设计的软硬件协同验证平台在进行指令集模拟器和总线功 能模型优化前后,分别对一简单片上系统s o c 电路模型进行验证的结果比较。 第六章将对整篇论文的研究作出总结,并对以后可以继续进行的工作进行展 望。 面向多处理器核s o c 的软硬件协同验证平台 第二章面向m p s o c 的软硬件协同验证平台的 设计方案 2 1 协同验证平台的设计方案 本论文所设计的面向多处理器核s o c 的软硬件协同验证平台包括处理器模 型与外围硬件模型两个组成部分,下面将分别就这两个组成部分来简单介绍软硬 件协同验证平台的实现方案。 2 1 1 协同验证平台处理器模型的设计方案 面向多处理器核s o c 的软硬件协同验证验证平台的处理器模型,包括微处理 器指令集模拟器与总线功能模型。这两个模块分别与片上系统s o c 的微处理器和 片上总线相对应,即是这两个片上系统s o c 组成部分的虚拟软件模型。 在今天的片上系统s o c 电路设计中,a r m 微处理器无疑是被应用得最频繁 的微处理器之一a r m 是由a r m 公司提供内核,由半导体生产商生产加工的3 2 位r i s c 微处理器。它具有处理速度快,功耗低,价格低,在芯片上可集成外设 种类多等优点。现在,a r m 已经成为设计片上系统s o c 的首选微处理器,获得 了许多实时操作系统供应商的支持。针对于此,本论文所设计的面向多处理器核 s o c 的软硬件协同验证平台选用了a r m 指令集模拟器,来对实际片上系统s o c 中的微处理器进行软件环境下的模拟。 相对于微处理器指令集模拟器来说,总线功能模型的选择就没有那么自由 了,而是由已选择的微处理器来决定的。选择了什么种类的徼处理器指令集模拟 面向多处理器核s o c 的软硬件协同验证平台 器,就要选择与这种微处理器相对应的总线功能模型。因此,本论文所设计的软 硬件协同验证平台选用a r m 总线功能模型,来对实际片上系统s o c 中的片上总 线进行软件环境下的模拟。由于该验证平台是面向多处理器核s o c 的,因此本论 文的设计在总线功能模型上增加了一个仲裁器模型。当多个处理器同时向总线功 能模型发出调用指令时,仲裁器可以根据各个处理器特定的优先级来安排每个处 理器调用总线功能模型的顺序。 在确定了微处理器指令集模拟器与总线功能模型的选择后,将通过修改模型 的程序,将两个原本分立的模块链接起来,构成完整的处理器模型。 在实现了软硬件协同验证平台的处理器模型后,本论文还分别对a 】l m 指令 集模拟器与总线功能模型进行优化,以进一步提高软硬件协同仿真验证的速度, 缩短系统验证的时间。 2 1 2 协同验证平台外围硬件模型的设计方案 本论文所设计的面向多处理器核s o c 的软硬件协同验证平台的外围硬件模 型由两个模块组成。一个模块是传统硬件描述语言i - i d l ( h a r d w a r ed e s c r i p t i o n l a n g u a g e ) 到s y s t e m c 的翻译器,来作为辅助验证工具;另一个模块是片上系统s o c 处理器外围硬件模型。 传统的硬件描述语言h i ) l 包括v e r i l o gh d l 和v h d l 。一般认为,在电路的 r t l 级设计上,v e r i l o gi - i d l 的描述能力要强于v h d l 。很大一部分用于片上系统 s o c 设计的婵固核都是使用v e r i l o gh d l 语言来描述的。因此,本论文所设计的面 向多处理器核s o c 的软硬件协同验证平台选用v e r i l o g 至i j s y s t e m c 的翻译器,来完 成传统硬件描述语言到s y s t e m c 的转换。 一个片上系统s o c 的处理器外围硬件模型一般包括存储器,通用f o 口,中 断控制器,各种串口,以及专用集成外设等。本论文由于时间和篇幅的限制,就 选择最典型、具有代表性的存储器m e m o r y ,以及通用异步发送接收串i u a r t , 来作为面向多处理器核s o c 的软硬件协同验证平台的处理器外围硬件模型。 面向多处理嚣核s o c 的软硬件协同验证平台 2 2 片上系统s o c 设计的发展现状 随着超大规模集成电路v i _ s i - f 艺技术的发展,器件特征尺寸越来越小,芯 片规模越来越大,数百万门级的电路可以集成在一个芯片上。多种兼容工艺技术 的开发,可以将差别很大的不同种器件集成在同一个芯片上,为系统集成开辟了 广阔的工艺技术途径。 要真正称得上片上系统s o c ,不仅要把功能复杂的若干个数字逻辑电路放在 同一个芯片上,做成一个完整的单芯片数字系统,而且在芯片上还应该包括其它 类型的电子功能器件,如模拟器件和专用存储器,在某些应用中,可能还会扩大 一些,包括射频器件甚至m e m s ( m i e r o e l e c t r o n i cm e e t m n i e a ls y s t e m ) 等柳。通常片 上系统s o c 起码应在单芯片上包括数字系统和模拟电子器件。片上系统s o c 电路 的典型的设计流程如下图所示。 句s t 印m 豳“ 鲫l i 硝。口+ - 煳鲫n 批。、 【勰翻妇鞠删p l 孙v 蒯芦n i i 妯州 p _ m 一t t 上 。 7 弋一 h 懿纯c l 蕾c h 址d f e o r 咖劬n d 雄i j lc 优叩加棚曲如蝠0 时p 乡乏甲一b 4 嘲 , r 儿蕾曲毗味i i - 图2 - - 1s o c 电路设计流程图 l 由于片上系统s o c 设计在速度、功耗、成本上和多芯片系统相比占有较大的 优势,而且电子系统的专用性对不同的应用,要求有专用的系统,因此发展片上 系统s o c 设计在未来的集成电路设计业中将有举足轻重的地位。 片上系统s o c 是在单芯片上实现完整的电子系统的集成,它具有具有以下凡 1 2 面向多处理器核s o ( 7 的软硬件协同验证平台 个特点【1 0 1 : 1 系统规模大,结构复杂。数百万门乃至上亿个元器件设计规模,而且电 路结构还包括m p u 、s r a m 、d r a m 、e p i 的m 、f l a s h 、a d c 、d a c 以及其它模拟和射频电路。为了缩短上市时间,要求设计起点比普通 a s i c 专用集成电路高,不能依靠基本逻辑、电路单元作为基础单元,而 是采用被称为口核的更大的部件或模块。在验证方法上要采用软件和硬 件系统协同验证的方法。为了对各模块,特别是口核能进行有效的测试, 必须进行可测性设计。 2 速度快,时序关系严密。高达数百兆的系统时钟频率以及各模块内和模 块间错综复杂的时序关系,给设计带来了许多的问题,如时序验证、低 功耗设计以及信号完整性和电磁干扰、信号串扰等高频效应1 3 9 。 3 片上系统s o c 多采用深亚微米工艺加工技术,在深亚微米时走线延迟和 门延迟相比变得不可勿视,并成为主要因素。再因为片上系统s o c 复杂 的时序关系,增加了电路中时序匹配的困难。深亚微米工艺的十分小的 线间矩和层间距,线间和层间的信号耦合作用增强,再加之十分高的系 统工作频率,电磁干扰、信号串扰现象加剧,给设计验证带来困难。 本文所设计的软硬件协同验证平台可以实现多处理器核s o c 电路的模拟 验证。一个包含两个处理器核的典型s o c 处理器模型如下图所示: 图2 2 包含双处理器核的s o c 处理器模型 面向多处理器核s o c 的软硬件协同验证平台 对于所设计的系统应该选用什么方法来验证,通常都是由系统的设计方法来 决定的。要研究片上系统s o c 的验证技术,就必须先了解它的设计技术。因此, 下面分几个方面来简单介绍一下片上系统s o c 的设计技术。 2 2 1s o c 可复用设计 数百万门规模的片上系统s o c 设计,不能一切从头开始,要将设计建立在较 高的层次上,需要更多地采用ip 核复用技术【1 1 l 。只有这样,才能较快地完成设 计,保证设计成功,得到成本较低的片上系统s o c ,满足市场需求。 可复用是建立在芯核( c o r e ) 的基础上的,它是将己经过验证的各种超级宏单 元模块电路制成芯核,以便以后的设计复用【“。芯核通常分为三种,一种称为硬 核,具有和特定工艺相联系的物理版图,己被投片验证测试,可被新设计作为特 定的功能模块直接调用。 第二种是软核,是用硬件描述语言或c 语言写成,用于功能仿真。 第三种是固核( f i r mc o r e ) ,是在软核的基础上开发的,是种可综合的并带 有布局规划的软核。目前可复用设计方法在很大程度上要依靠固核,将r t l 级描 述结合具体标准单元库进行逻辑综合优化,形成门级网表m t l i s t ,再通过布局布 线工具最终形成设计所需的硬核。 这种软的r t l 综合方法提供了一些设计灵活性,可以结合具体应用,适当修 改描述,并重新验证,满足具体应用要求。并且随着工艺技术的发展,也可利用 新的固核库重新综合优化、布局布线、重新验证获得新工艺条件下的硬核。用这 种方法实现可复用设计,和传统的模块设计方法相比,其效率可以提高2 3 倍。 因此,0 3 5 u m i 艺以前的可复用设计多用这种r :阻软核综合的方法实现 随着工艺技术的发展,深亚微米d s m ( d e e p 鲫嘶- m i 啪m 删使片上系统s o c 更大更复杂,这种综合方法将遇到新的问题。因为随着工艺向0 1 8 u r n 或更小尺寸 发展,需要精确处理的不是门延迟而是互连线的延迟。再加之数百兆的时钟频率, 信号间时序关系十分严格,因此很难用软的r t l 综合方法达到可复用设计的目 的。 建立在芯核再利用基础上的片上系统s o c 设计,使设计方法从电路设计转向 面向多处理嚣核s o c 的软硬件协同验证平台 系统设计,设计重心将从传统的逻辑综合、门级布局布线、后仿真转向系统级模 拟,软硬件协同仿真,以及若干个芯核组合在一起的物理设计。这种情况迫使设 计业向两极分化,一方面是转向系统,利用p 核设计高性能高复杂度的专用系统; 另一方面是设计深亚微米技术下的芯核,步入物理层设计,使深亚微米芯核的性 能更好并可预测i “。 2 2 2s o c 低功耗设计 片上系统s o c 因为百万门以上的集成度和数百兆时钟频率下工作,将有数十 瓦乃至上百瓦的功耗。巨大的功耗给使用封装以及可靠性方面都带来问题,因此 降低功耗的设计是片上系统s o c 设计的必然要求。设计中应从多方面着手来降低 芯片功耗【1 4 l 。 首先在系统设计时,降低工作电压是一方面,但太低的工作电压将影响系统 性能。比较成熟的方法是采用空闲( i d l e ) 模式和低功耗模式,在没有什么任务的 情况下使系统处于等待状态或处于低电压低时钟频率的低功耗模式。采用可编程 电源是获取高性能低功耗设计的有效方法。 其次在电路组态结构方面尽可能少采用传统的互补式电路结构,因为互补电 路结构每个门输入端都有一对p 、n m o s 管,形成较大的容住负载,c m o s 电路 工作时对负载电容开关充放电功耗占整个功耗的百分之七十以上,因此深亚微米 的电路结构组态多选择低负载电容的电路结构组态,如开关逻辑,d o m i n o 逻辑 以及np 逻辑,使速度和功耗得到较好的优化。 再次,要使用低功耗的逻辑设计。一个数百兆频率的工作系统不可能处处都 是几百兆频率工作,对于电路中那些速度不高或者驱动能力不大的部位可采用低 功耗的门,以降低系统功耗。因此在逻辑综合时就将低功耗优化设计加进去,在 满足电路工作速度的前提下,尽可能地使用低功耗的单元电路。 最后,要采用低功耗电路设计技术m o s 输出电路几乎都采用一对互补的p 、 n m o s 管,在开关过程中,瞬间存在的两个器件同时通导,造成很大功耗。由于 片上系统s o c 弓l 脚多,电路频率高,这一现象更加严重,因此在电路设计时应尽 可能避免这一问题出现以降低功耗。 面向多处理器核s o c 的软硬件协同验证平台 2 2 3s o c 可测性设计 片上系统$ o c 是将芯核和用户自己定义的逻辑u d “l l s 刊幽e dl o 画c ) 一起 集成,芯核深埋在芯片中,因此不能对芯核进行事先测试,只能在片上系统s o c 被制造出来后作为片上系统$ o c 的一部份和芯片同时测试。因此对片上系统 s o c 测试存在许多困难。首先是芯核是别人的,选用芯核的设计者不一定对芯核 十分了解,不具备测试芯核的知识和能力。并且芯核深埋在芯片之中,不能用测 试单个独立芯核的方法去处理集成后的芯核测试,而只能通过某种电路模块的接 入,将芯核和外围测试资源接通,常用的方法有以下几种: 1 并行直接接入技术它是将芯核的i o 端直接接到芯片的引出端,或 者通过多路选择器实现芯核的i o 端和芯片引出端公用。对芯片内嵌 入芯核比较少的芯片或有丰富引出端可利用的芯片往往用这种方 法。并行直接接入的优点是可直接利用独立芯核的测试方法测试嵌 入片上系统s o c 中的芯核。 2 串行扫描链接入法这种方法是在芯核四周设置扫描链,使芯核的 所有i o l :l 都能间接地和外围接通。通过扫描链,可以将测试图形传 至测试点,也可以将测试响应结果传出。边界扫描技术就是一种特 定的接入方法。串行扫描方法的优点是可以节约引出端口。 3 接入功能测试机构。这种方法是在芯核周围接入逻辑模块以产生或 传播测试图形。片上系统自测试是其中一种。在片上系统s o c 中接 入测试资源,实现对特定芯核的测试。自测试降低了外围接入模块 的复杂性,只需简单的测试接口,绝大多数存储器测试可用此方法, 将自测试逻辑和存储器芯核设计在一起。 一个完整的片上系统s o c 测试应包括芯核内部测试,以保证每个芯核正确无 误。还应通过周围逻辑电路进行跨芯核的测试,以及对用户自定义逻辑电路的测 试。片上系统$ o c 设计时可测性设计的任务是将测试装置和被测系统级电路通过 d f t 的测试线路连成一个统一的机构可将各个芯核的接入路径经过多路选择器 和芯片的主要i o 端相连,也可以将测试接入路径和芯片总线相连,也可将需要 控制和需要观察的测试点接在扫描链中,形成一个统一的可以被测试装置控制的 整体。 - 1 6 面向多处理器核s o c 的软硬件协同验证平台 2 2 4s o c 物理综合 由于深亚微米时,互连线的延迟是最主要的延迟因素,而延迟又取决于物理 版图,因此传统的自上而下的设计方法只有在完成物理版图后才知道延迟大小 如果这时才发现时序错误,就必须返回前端,修改前端设计或重新布局。这种从 布局布线到重新综合的重复设计可能要进行多次,才能达到设计时序目标。 随着特征尺寸的减少,互连线影响越来越大。传统的逻辑综合和布局布线分 开的设计方法已经变得无法满足设计要求i 。必须将逻辑综合和布局布线更紧密 的联系起来,用物理综合方法,使设计者同时兼顾考虑高层次的功能闯题、结构 问题和低层次上的布局布线问题。物理综合过程分为初始规划、r 1 阻规划和门级 规划三个阶段。 在初始规划阶段,首先要完成初始布局,将i l = 】硝l 块安置在芯片上,并完成 i o 3 的布局,电源线规划。根据电路时序分折和布线拥挤程度的分析,设计者 可重新划分电路模块。通过顶层布线,进行模块问的布线,并提取寄生参数,生 成精确线网模型,确定各个剐乙模块的时序约束,形成综合约束。 r t l 规划阶段是对r t l 模块进行更精确的面积和时序的估算。通过r 1 凡估算 器快速生成门级网表,再进行快速布局获得础m 模块的更精确的描述,并基于这 种描述对顶层布局布线、譬脚位置进行精细调整。最后获得每一r t l 模块的线负 载模型和精确的各模块的综合约束。 门级规划,是对每一r r l 级模块独立地进行综合优化,完成门级网表,最后 进行布局布线。在这一规划阶段,需要对每一砌r 蜞块和整个芯片综合产生时钟 树。还要进行时序和线拥挤度分析。如果发现问题,可进行局部修改。由于物理 综合过程和前端逻辑综合紧密相连,逻辑综合是在布局布线的基础上进行,因此 可使延迟模型更加准确,使设计反复的次数减少。 2 2 5s o c 设计验证 设计验证是片上系统s o c 设计工作中十分重要的一环,电路规模越大系统越 复杂,贝n 占用验证时间越长。经验证明,片上系统s o c 验证的时间占系统设计总 面向多处理嚣棱s o c 的软硬件协同验证平台 时间的7 0 左右。目前市场上已经有了适合不同设计领域和设计对象的c a d i 具,但如果用这些工具来验证片上系统s o c 设计,则要将它们按照需要组合,并 集成在同一环境中。 模拟电路模拟需要晶体管级模型,大部分模拟工具都是从s p i c e 中衍生出来 的。由于需要求解电路方程,电路越复杂则模拟时间越长。利用并行结构分别进 行数值解算和利用模型进行模拟,可大大提高模拟速度,能对数万元器件电路乃 至芯核进行模拟。但要对整个数百万门规模的片上系统s o c 进行模拟还是有困难 的。 另一方面深亚微米片上系统s o c 线网延迟超过门延迟,工作频率达到数百 兆,信号间的打扰、信号完整性分析也必须通过晶体管级的模拟才能确定。而数 字信号模拟只需要逻辑模型,模拟速度快,规模大。由此看来,物理设计后提取 各模块晶体管和连线参数,首先进行模块级验证,在此基础上再通过支持多种不 同模型的模拟器协同模拟以解决片上系统s o c 设计中的验证问题旧。 在片上系统s o c 中,几乎都要用到微处理器以及实现专用功能的软件和硬 件。硬件和软件之间是密切相关的。但在系统被做出之前,软硬件之间的相互作 用通常是很难精确测出的。一些设计错误也不会明显表现出来。为了解决这一问 题,就必须采用软硬件件协同验证技术。 综上所述,片上系统s o c 的复杂性以及快速完成设计、降低成本等要求,决 定了s o c 的设计必须采用p 核复用的方法。低功耗设计、可测性设计是片上系统 s o c 设计的基本技术。混合信号模拟、软硬件协同验证是片上系统s o c 设计必须 的验证方法。正确选择硅加工工艺是实现片上系统s o c 集成的关键因素 2 3 s y s t e m c 硬件描述语言 1 9 9 9 年9 月,微电子业内的一些一流的e d a 公司、p 核提供商、半导体制造 商和嵌入式软件设计公司在加利福尼亚州s a nj o s e 举行的“嵌入式系统会议”上, 联合创建了开发s y s t e m c 创始会o s c i ( o p e ns y s t e m ci n i f i a t i v e ) i i 织,并推出了基 于c + + 的系统级设计语言s y s t 锄c 。o s c i 是一个非盈利性组织,它负责维 护和发展s y s t e m c 。s y s t e m c 是完全免费的,这使得e d a 供应商能够充分了解 面向多处理器核s o c 的软硬件协同验证平台 s y s t e m c 库的源代码以优化他们的各种解释工具。o s c i 拥有包括s y n o p s y s 、 c a d e n c e 、f r o n t i e rd e s i g n 、a r m 、e r i s s i o n 、l u c e n t 、s o n y 、t i 等核心成员。目前 已经由5 0 多个著名的微电子公司支持该标准。许多著名公司包括西门子、a l c a t e l 、 富士通、中国的东方通信、大唐菲利普等已经开始使用s y s t e m c 作为其系统级开 发语言。 s y s t e m c 是一种新的建模语言,它基于c + + ,主要面向系统级的设计和口 核交换【1 | j 。下面将简单介绍s y s t e m c 这种新兴的硬件描述语言的产生背景,发展 现状,及其语言特性。 2 3 1 s y s t e m c 产生背景 片上系统s o c 时代的出现,为设计过程的各个阶段都带来了新的挑战。在 系统级设计上,设计者们正在重新考虑如何进行系统规范,软硬件划分,以及设 计验证【1 研。在传统的设计过程中,系统以及软件设计者用c 或是c + + 进行编程, 而硬件设计者则使用硬件描述语言v h d l 和v e r i l o gh d l 来进行硬件建模。由于使 用不同的设计语言,设计工具不兼容,设计流不统一,使得设计过程很容易产生 问题。 为了能在不同的抽象系统级上描述系统功能,通信,软件与硬件,基于c + + 的s y s t e r n c 语言及其相应的建模平台应运而生。其中的原因是很清楚的;不断 增加的设计复杂度,要求使

温馨提示

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

评论

0/150

提交评论