(电路与系统专业论文)基于微处理器IP核的ASIC设计技术研究[电路与系统专业优秀论文].pdf_第1页
(电路与系统专业论文)基于微处理器IP核的ASIC设计技术研究[电路与系统专业优秀论文].pdf_第2页
(电路与系统专业论文)基于微处理器IP核的ASIC设计技术研究[电路与系统专业优秀论文].pdf_第3页
(电路与系统专业论文)基于微处理器IP核的ASIC设计技术研究[电路与系统专业优秀论文].pdf_第4页
(电路与系统专业论文)基于微处理器IP核的ASIC设计技术研究[电路与系统专业优秀论文].pdf_第5页
已阅读5页,还剩80页未读 继续免费阅读

(电路与系统专业论文)基于微处理器IP核的ASIC设计技术研究[电路与系统专业优秀论文].pdf.pdf 免费下载

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

文档简介

东南大学硕士学位论文 摘要 在蓬勃的技术大发展中,a r m 微处理器已经成为嵌入式系统主流的微处理 器,其低电源低功耗优势日益明显,成为许多s o c 架构的首选处理器。而s o c 各种不同的互连方式也随着以口核复用为基础的s o c 设计技术的发展不断推 出,本文详细介绍了其中的a m b a 总线结构。 不同的s o c 平台中,可能包含的模块各不相同。但是内存控制器和中断控 制器是必不可少的。因此,本次课题主要是设计基于a j m b a 的内存控制器、 中断控制器等模块的i p 设计,通过可重用设计方法,采用a r t i s a n 公司0 1 8 微米标准单元库,完成可重用单元的设计。通过本次课题,掌握基于a r m 体系 的嵌入式微处理器芯片设计的一般设计流程,了解构造基于a m b a 总线的s o c 方法,完成口核的设计验证,熟悉逻辑综合的一般流程。 本文详细分析了内存控制器和中断控制器的总体功能以及内部各个模块的 划分,介绍了一般p 设计流程。最后给出了设计结果,包括仿真波形、逻辑综 合后的电路。仿真结果显示,基本实现了设计指标。 关键字 a r m 、a m b a 、i p 、s o c 、内存控制器、中断控制器 东南大学硕士学位论文 a b s t r a c t w i t l lt h ed e v e l o p m e n to ft e c h n o l o g y 删m i c m p r o c e s s o rh 踮b e c o m et l l em a i l l s t r e a mo fm i c r o - p r o c e s s o ri ne m b e d d e ds y s t e m 。n sl o wp o w e rs u p p l ya j l d1 0 wp o w e r c o m s u m p t i o nm a k e si t 恤ef i r s tc h o i c eo fm o s ts o ca r c l l i t c c t u r e t h ed i 此r e n t c o n n e c t i o nm o d e so fs o ch a v eb c c na d v 锄c e d 埘t hs o cd e s i g nt c c h n o l o g yb a s e do n r e u s a g cm 就h o d o l o g yo f ip 1 1 1 i sa n i c l ei n 仃o d u c e st h ea m b ab u sa r c l l i t e c t u r e 锄0 n g t h e m a 1 t h o u g hd i f r e r e n ts o cp l a t f o m 、i nh a v ed i 妇电r e n tm o d l l l e s ,也e r ea r es o m e n e c e s s a r ym o d u l e s ,s u c h 嬲m e m o r yc o n t r 0 1 1 e ra j l di n t e m 唧c o n t r d l le r m yd e s i g n t h e m ef b c u s e s0 nt h ei pd e s i 印o f m e m o r yc o n 昀l l e ra n di n t c r n l p tc o n 们l i e rb a s e do n a r m a m b a a d o p t 洫gt s m c o 1 8 u mp r o c e s sl + 8 一v 0 l ts a g es 伽l d a r dc e ul i b r a 啦 t h ef m a ld e s i g ni sf i l m l l e d t h ew h o l ed e s 培nm a k e sm ef a m i l i a r 、i t ht l l ed e s i g nn o w o fs o cb a s e do na r ma 蹦l 主t e c t u r e ,t ks o cm e n w d o l o g yb a s e do n ta m b ab u s ,i p v e r i f i c a t i o n 趴dm e1 0 9 i cs y n m e s i s t 1 1 i sp a p e ra n a l y z e st h ew h o l e 如n c d o n sa n ds e 耻衄把m o d u l e so fm e m o r y c o n l l e ra n dn e 栅p tc o n 仃0 1 l e r 锄di n 仃o d u c e sm en o m a li pd e s i 乒n o w f m a l l y t h ed e s i g nr e s l l l t sa r eg i v e n ,m c l u d i n gs i m u l a t i o nw a v e sa 1 1 dc i r c l l i ta f t c rl o g i c a l s ”1 t h e s i s t 1 eo u t p u t sa r es a t i s 母i n g k e y w o r d s a r m 、a m b a 、i p 、s o c 、m e m o r yc o l l 蜘n e r 、i n t e m l p tc o n t r o l l e r 6 东南大学硕士学位论文 1 1 嵌入式系统 第一章引言 嵌入式系统是以应用为中心,以计算机技术为基础,并且软硬件可裁剪,适用于应用系 统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。它一般由嵌入式微处 理器、外围硬件设备、嵌入式操作系统以及用户的应用程序等四个部分组成,用于实现对其 他设备的控制( c o n t r 0 1 ) 、监视( m o n i t o r ) 或管理( m a n a g e m e n t ) 等功能。图1 1 是一个 典型的嵌入式系统。 图1 1 典型的嵌入式系统 同时还应该看到,嵌入式系统本身是一个外延极广的名词,凡是与产品结合在一起的具 嵌入式特点的控制系统都可以称为嵌入式系统。 嵌入式技术具有非常广阔的应用前景,其应用领域包括: ( 1 ) 工业控制 ( 2 ) 交通管理 ( 3 ) 信息家电 ( 4 ) 家庭智能管理系统 ( 5 ) p o s 网络及电子商务 ( 6 ) 环境监测 ( 7 ) 机器人 除了这些应用领域,嵌入式系统还在航天,国防、医疗卫生等领域具有广泛的应用。嵌 入式系统已经进入到现代社会人们生活的方方面面,可以说是“无处不在”。 7 东南大学硕士学位论文 1 2 删嵌入式微处理器 嵌入式系统的核心部件是各种类型的嵌入式处理器,根据其现状,可以分成下面几类。 ( 1 ) 嵌入式微处理器 ( 2 ) 嵌入式微控制器 ( 3 ) 嵌入式d s p 处理器 其中,嵌入式微处理器具有体积小、重量轻、成本低、可靠性高的优点,但是在电路板 上必须包括r o m 、r a m 、总线接口、各种外设等器件。 而其中的a r m 嵌入式微处理器,在目前的各种领域应用的相当广泛,成为嵌入式系统 的首选微处理器。全世界有几十家大的半导体公司都使用a r m 公司的授权,因此既使得 a r m 技术获得更多的第三方工具、制造、软件的支持,又使整个系统成本降低,从而使产 品更容易进入市场被消费者所接受,更具有竞争力。 因此我们有必要对a r m 嵌入式微处理器进行更多研究。 1 2 1a r m 微处理器的结构 1 2 2 1r 瑁c 体系结构 到目前为止,r j s c 体系结构还没有严格的定义,一般认为,r i s c 体系结构应具有如下 特点: 1 采用固定长度的指令格式,指令归整、简单、基本寻址方式有2 3 种。 2 使用单周期指令,便于流水线操作执行。 3 大量使用寄存器,数据处理指令只对寄存器进行操作,只有加载,存储指令可以访问 存储器,以提高指令的执行效率。 除此以外,a r m 体系结构还采用了一些特别的技术,在保证高性能的前提下尽量缩小 芯片的面积,并降低功耗;所有的指令都可根据前面的执行结果决定是否被执行,从而提高 指令的执行效率。 1 2 2 2a r m 微处理器的寄存器结构 a r m 处理器共有3 7 个寄存器,分为若干个组( b a n k ) ,这些寄存器包括: 3 1 个通用寄存器包括程序计数器( p c 指针) ,均为3 2 位的寄存器。 6 个状态寄存器,用以标识c p u 的工作状态及程序的运行状态,均为3 2 位,目前只使 用了其中的一部分。 同时,a r m 处理器又有7 种不同的处理器模式,在每一种处理器模式下均有一组相应 8 东南大学硕士学位论文 的寄存器与之对应。即在任意一种处理器模式下,可访问的寄存器包括1 5 个通用寄存器 ( r 0 r 1 4 ) 、l 2 个状态寄存器和程序计数器。在所有的寄存器中,有些是在7 种处理器 模式下共用的同一个物理寄存器,而有些寄存器则是在不同的处理器模式下有不同的物理寄 存器。 1 2 3 删微处理器的指令结构 a r m 微处理器在较新的体系结构中支持两种指令集:a r m 指令集和t h 岫b 指令集。 其中,a r m 指令为3 2 位的长度,1 1 1 u m b 指令为1 6 位长度。t h u m b 指令集为a r m 指令集 的功能子集,与等价的a r m 代码相比较,可节省3 0 4 0 以上的存储空间,同时具备3 2 位代码的所有优点。 1 3 关于本次课题 在蓬勃的技术大发展中,a i t m 微处理器已经成为嵌入式系统主流的微处理器,其低电 源低功耗优势日益明显,成为许多s o c 架构的首选处理器。 图1 2 基于a r m a m b a 的s o c 平台 图1 2 是一个典型的基于a r m , m b a 的s o c 平台。在这个平台中,有很多标准的i p 9 东南大学硕士学位论文 单元,包括最核心的a r mc p u 、a m b a 总线与各种控制器。 而内存控制器、中断控制器和电源管理器是其中最基本同时又最通用的模块。因此本次 毕业设计将集中解决内存控制器和中断控制器i p 的设计。 本次课题主要是设计基于a r m ,a m b a 的内存控制器、中断控制器等模块的l p 核设计, 通过可重用设计方法,采用a r t i s a n 公司0 1 8 微米标准单元库,完成可重用单元的设计。 通过本次课题,要求掌握基于a r m 体系的嵌入式微处理器芯片设计的一般设计流程,了解 构造基于a m b a 总线的s o c 方法,完成i p 核的设计验证,熟悉逻辑综合和自动布局布线 的一般流程。 1 0 东南大学硕士学位论文 2 1s o c 第二章知识产权模块i p 的设计 片上系统( s y s t e mo nc h i p ) 通常指在单一芯片上实现的数字计算机系统。该系统应包 含两个基本的部分:硬件部分和软件部分。硬件部分包括b u s ,r o m 瓜a m ,1 op o r t 等计算机 的基本部件;软件部分主要指操作系统,也可以包括重要的应用软件。 s o c 具有很多独特的优点: ( 1 ) 增加了功能:一个硬件平台,多个软件支撑,在单一芯片上集成多个高度复杂的功能, 从单一功能增加到多功能,实现了高速、高度集成和低功耗。 ( 2 ) 大大降低整机的成本:s o c 设计方法是采用有效的设计复用,s o c 的方法和设计流程。 ( 3 ) 大大降低整机的体积:集成度不断提高,工艺线宽不断缩小。过去用多块i c 构成系统, 现在变成块s o c 。 ( 4 ) 促进了整机系统更新换代的速度。 ( 5 ) 采用软、硬件协同设计方法提高了实际效率。 ( 6 ) 采用静态时序验证缩短了设计周期,降低了设计成本。 然而,系统芯片设计思想以及设计方法是微电子设计领域乃至整个信息产业的一场革 命。 2 2i p 设计过程 成功的s o c 设计中的一个关键因素是拥有一个具有良好可充用性的元件库。本节主要 简述i p 核的设计过程。 2 2 1 优秀i p 核特点 为了支持最大范围的应用,并提供最好的可重用收益,i p 核应该具有以下的特点 可配置性 标准接口 遵守设计规则 交付的数据、资料完整 东南大学硕士学位论文 2 2 2 i p 设计方法 随着可重用技术的不断成熟,验证伊( p ) 己经变得更加重要。图2 1 显示了如何用 u s b 总线功能模型和总线控制器模型( 包括d r a m 模型) 进行s o c 设计的验证( i p 核的 实现,i i p ) 。因此,为了使s o c 设计者有更高的设计效率,i p 开发者必须提供v i p 和i i p 。 。甲甲章。 i存6 自由申 l 控 1 卤由卤由7 图2 1s o c 验证方案 幽2 2 给出了i p 核设计中的5 个主要阶段。 l定义关键特征 l i 规划和制定设计规范 上 il i p 和v l p 验证 l j生产 l l a l p h a 测试和产品发布 图2 2 i p 核设计阶段 下面是对图中i p 设计阶段的详细解释: l 定义关键特征 核设计过程的第一步是定义核关键特征。这些关键特征包括核基本功能和可配置参数等 信息,以便将来核可以被用于不同的应用系统中。定义核关键特征需要对核的应用和应用和 应用模型有全面的了解。 1 2 东南大学硕士学位论文 2 规划和制定设计规范 在项目规划和制定规范的阶段,团队将开发项目整个生命期中所需要的关键文档。通 常包括: 功能设计规范 验证规范 封装规范 开发计划 3 i 口和v m 设计验证 定义了规范和设计规划后设计团队就可以开始核的馅心设计和验证了。 4 生产 设计完成后,对它进行测试直到最终交付。交付给最终用户时,应该包括用户使用文档。 s a l p h a 测试和产品发布 生产完成后,该核就准备进行a l p i l a 测试。这种测试一般由其他团队完成,目的是测试 可用性和交付文档的完整性。经过测试后的版本,最终形成s o c 设计中可用的版本。 2 2 3i p 设计流程 典型的l p 设计流程如图2 3 所示。 1 3 东南大学硕士学位论文 ( 图中盯l - r e g i s t e rt r a n s f e r l e v e l ,s t a = s t a :i i c 币m j n g a n a l y s i s ,l v s _ l o g i c v s ,s c h 啪a t i c d r c _ d e s 研 r u l ec h e c k ) 图2 3 典型的i p 设计流程 2 _ 2 3 1 目标规范分析和预研 这一阶段的分析对整个i c 产品应该做一个完整的分析与评估,如芯片成本( 也就是面积 大小) 、设计的成本( 如设计人员、设计工具及第三方i p 核的使用) 、设计进度和上市周期、 市场竞争者的评估以及经济上的风险与回报( 即可行性分析) 等等。只有经过准确的评估, 设计的i c 芯片及时满足市场的需求,这样的设计才是有价值的。 1 4 东南大学硕士学位论文 本阶段的任务: 初始的产品系统结构设计; 产品初始规划和资源需求设计; 风险和成本分析。 2 _ 2 3 2 系统设计以及行为级仿真 这一阶段一般使用较高抽象层次的语言如m a t l a b 、c 、s y s l e m c 、行为级的v e r i l o g 进行 建模,根据目标规范的要求以及建模仿真的结果,确定比较详细的设计规范以及验证规范。 目前常用的设计一i :具为m 札a b 和c a d e n c e 公司的v c c ( v i m l a lc o m p o n e n tc 0 d e s i 印) , s p w ( s i g 眦lp m c e s s i n gw o r k s 协t i o n ) 以及s y i l o p s y s 公司的c c s s ( c o r l c e n t r i cs t u d i os y s t e m ) 等 等。 本阶段任务: 分析几个顶层结构选项一需要考虑技术灵活性、资源需求及开发周期等: 完成顶层结构设计说明及仿真: 确定需要使用的第三方j p 模块; 确定开发路线 流程及关键模块。 2 2 3 3 模块设计和验证 硬件描述语言从它的抽象层次上一般分为三个层次:行为级、寄存器传输级和门级。 寄存器传输级( r t l ,r e g i s l e rt r m s f e r l e v e l ) 的描述通过各个功能块内部的数据流和控制 信号来描述系统,使用v e r i l o gh d l 或者d l 的可综合子集。由于目前的综合器只能对 r t l 级的设计进行综合,所以目前的模块设计一般都是从r t l 级开始的。 鉴于、,e r i l o g h d l 比v h d l 具有更简洁、灵活以及与后端设计的一致性的特点,本文的 逻辑电路设计在r 1 、l 设计采用了v e l o gh d l 。 为了验证模块设计的正确性,必须对设计的模块进行比较完备的验证。在i c 验证中, 有许多不同的技术方法达到验证的目的,包括仿真,静态分析,形式模型验证和等价性验证 等等。其中使用逻辑仿真器对设计的r t l 代码进行仿真,是最基本也是最常用的一种手段。 所以一般在模块的r t l 设计的同时进行测试平台( t e s t b e n c h ) 的设计。测试平台包括三个部分 的内窖: 1 ) 测试平台包括用于测试的激励信号源,要模拟被测模块的真实环境; 2 ) 测试平台应该调用被测模块( d u t :d e s i g nu n d e r t e s t ) : 3 )测试平台能够对输出响应进行检测,并报告测试的结果。 本设计的测试平台仍然采用v e r i l o g h d l 语言描述。 东南大学硕士学位论文 s e l f c h e c k i n gt e s t b e n c h i n d u tp a t t e r n ( s t i t u l u s ) d e s i g nu n d e r t e s t ( d u t ) 图2 4 自检测测试平台的例子 在对输出响应进行检测时,可以通过观察信号响应或信号波形来判断被测设计是否正 确,以及对错误进行定位。同时设计测试平台时常常对芯片的响应进行预测,从而对设计结 果进行自动判断,以提高设计的效率,这样的测试平台称为自检测测试平台( s e l f - c h e c k i n g t e s t b e n c h ) 。一个典型的自检测测试平台的结构如图2 4 所示。在测试平台( t e s t b e n c h ) 设计中, 还要特别注意边界条件、错误条件、例外处理等等非一般情况下的设计。 本阶段任务: 将顶层模块分解成更小模块; 定义模块功能和接口; r t l 级h d l 源代码编写; 测试向量与平台设计。 2 2 3 4r t l 仿真 r t l 仿真的过程就是测试向量对模块设计施加激励,通过硬件描述语言仿真器,以观 察r 1 l 模块设计的运行与仿真结果是否正确来检查模块是否满足设计要求。目前比较常用 的v e r i l o gh d l 仿真器包括c a d e n c e 公司的n c - v e r i l o 昏v e r i l o 争x l ,s y n o p s y s 公司的v c s 以及m e m o rg r a p h i c s 的m 0 d e l s i m 等等;另外一方面,r t l 仿真要对r 1 l 模块设计的代码 进行覆盖率分析。仿真中代码覆盖率一般包括:状态覆盖率、分支覆盖率、条件和表达示覆 盖率、触发和信号跟踪覆盖率等等。代码覆盖率分析可以提高测试平台的质量,减少动态验 证的时间。 本次设计主要使用m e n t o rg r a d h i c s 的m 0 d e l s i m 作为仿真工具。 目前i c 不断增加的复杂性对于验证和测试工作也提出了更高的要求,验证和测试的精 确度将直接关系到芯片的成败。其中,验证的精确程度直接影响成片以后逻辑功能的正确率, 由验证不充分导致的流片后逻辑功能的错误会带来巨人的风险和成本。 本阶段任务: 验证各个模块的功能; 1 6 d 一一 e 垤_ 詈一 一眦惦 毛j卸一一卸叩 印叽一一叽8 e 一一 r 东南大学硕士学位论文 验证测试平台的可用性; 如果出现错误,进行分析和重新设计。 2 - 2 3 5 逻辑综合与扫描链插入 逻辑综合就是根据系统逻辑功能要求和性能约束,在一个包含众多结构、功能、性能均 已知的逻辑单元库的支持下,寻找一个最佳或较佳的逻辑网络实现方案。它完成将r t l 级 的设计( v e r i l o 棚d l ) 转换成由库单元组成的门级网表的过程,如图2 5 所示。综合的过程 一括对源代码的翻译、逻辑的优化以及面向综合库的映射三个过程。综合的约束条件一般指 芯片工作环境( 温度、电压等等因素) 、工作速度、面积等等。综合的优化是电路时序驱动的, 主要基于芯片的内部路经进行速度优化,基于单元库内的同一单元不同设计进行面积优化。 综合后的v c r i l o g 或e d i f 门级网表可以直接进行后端的物理设计。 图2 5 综合的过程 综合方法和约束条件需要做成文档,这些文档需要和a s i c 生产商和综合工具使用工程 师讨论。检验其可行性和准确性。如发现情况可尽早修改综合条件甚至源代码文件,尽量减 少对后端设计时间的影响。 综合提高了设计的抽象层次和可重用性,提高了设计的效率,目前比较常用的综合器是 s y l l o p s y s 公司的d 它s i g i lc o m p i l e r 和c a d 胁c e 公司的a m b hb u i l 起a i e s 。 本次设计采用的是s ”o p s y s 公司的d e s i 印c o m p 1 e r 。 在芯片制作过程中,工艺的不稳定或其他偏差往往会导致芯片的缺陷或瑕疵。在芯片投 放市场之前,对芯片性能的检验是必不可少的。为了检验芯片在制造过程中是否带来缺陷, 在芯片设计过程对芯片进行可测试性设计( b e s j 鄹f 0 r - t e s t ) 也是非常重要的。可测试性设计 中普遍使用以下三种方法: 1 ) 扫描链插入( s c a i lc h a i ni n s e 而0 n ) 2 ) 边界扫描( b o u i l d a r ys c a nd f t ) 3 ) 存储器的内嵌式自检( m e m o r yb u i l t 山s e l f t e s t ) 1 7 东南大学硕士学位论文 其中扫描链插入在i c 设计中得到广泛的应用。一般的综合工具可以进行扫描链插入, 它的原理是综合时将内部的寄存器替换为可以扫描的寄存器( 即输入端带m u x ) ,同时将 寄存器串联成一个寄存器链。在芯片检测过程中,自动测试设备( a u t o m 鲥ct e s te q u i p m e n t a 1 r e ) 对被测器件施加输入激励,对内部寄存器进行扫描,测量输出响应,如果a t e 观测的 响应不同于预期的响应,在该器件测试失败。a t e 的输入激励有a r p g ( a u t o m a t e dt e s t p 纰mg e n e r 鲥o n ) 工具产生。扫描链特别适合对s t l l c l 【- a t _ x 型故障的测试。它的原理如图 2 6 所示。 可以说扫描测试的基本思想就是将较难测试的时序逻辑转化为较易测试的组合逻辑, 已经成为当前流行的集成电路测试方法。 本阶段任务: 编写综合脚本,进行模块综合 记录跟踪问题及其解决过程; 初步芯片性能估计。 图2 6 扫描链插入的示意图 2 _ 2 3 6 静态时序分析( 鼬t i ct i m i n ga n a i y s i s ) 传统上是采取动态仿真来验证一个设计的功能和时序,随着i c 设计规模的增加,验证 一个设计所需要的测试向量的树木以指数增长,从而导致仿真时间越来越长,导致产品上市 的周期变长。2 0 世纪9 0 年代出现的静态时序分析工具作为一种新兴的设计手段,提高了设 计验证的速度,现在已经是i c 设计流程中不可缺少的一部分。 对于一般的时序电路正常工作,该电路必须满足下面一些时序的约束条件: 1 ) 建立时间( s e tu 口t i m e ) :指在时钟的有效沿到来之前寄存器的输入信号保持稳定的 最小时间; 2 ) 保持时间( h 0 1 dt i m e ) :是在时钟的有效沿到达之后输入信号仍然要保持稳定的最小 时间; 3 ) 恢复时间限e c o v e l yt i m e ) ;异步控制输入信号去使能与下一个时钟有效沿之间的最 小时间; 1 8 东南大学硕士学位论文 4 ) 免除时间( r e m o v a lt i m e ) :异步控制输入信号去使能与前一个时钟有效延之间的最小 时间: 5 ) 时钟信号的最小高,1 氐脉冲宽度( m i np u i s ew i d t h ) :时钟信号稳定工作的高屯平或低 电平的最小时间; 如果电路中的某一个单元不能满足上述的时序条件要求。该单元电路会进入不稳定状 态,不稳定状态在电路中传播,从而导致整个电路都不能正常工作。静态时序分析的过程, 是将整个电路分为很多时序路径( 盎图2 ,7 所示) ,采用数学的方法,对电路中的各个路径进 行计算,与芯片工作的速度( 也就是时钟) 相比较,以验证电路的各单元时序要求是否满足, 从而判断设计是否达到速度要求。 图2 7 静态时序分析中的路径 与动态仿真比较,静态时序分析分析速度快,可以进行全芯片的时序分析,同时不需要 测试向量即可对所有的设计路径达到完全覆盖,如表2 1 所示。在设计流程中,一般在逻辑 综合和布局布线,l 亓分别进行静态时序分析,以检验时序是否满足设计的要求。电路时序达到 要求,是设计前去流片的一个必要条件。 表2 i 静态时序分析与动态仿真的比较 特点比较动态仿真静态时序分析 验证速度速度慢,速度快,比仿真快 后仿真耗时非常长一至两个数量级 自动化程度需要激励,仿真结果与测试平数学上的路径延时计算, 台的激励质量有关不需要激励, 覆盖率与测试平台的质量有关,路径验证的覆盖率1 0 0 一般达不到1 0 0 的覆盖率 测试内容测试全面,包括功能验证、只能验证设计的时序 时序验证等各个方面 但是需注意静态时序分析无法验证逻辑功能,所以他也无法取代功能验证仿真。 目前比较常用的静态时序分析工具包括s y l l 叩s y s 公可的p r i m e t j m e 和c a d e n c e 公司的 p e ”l 等等。 本次设计采用s y n 叩s y s 公司的d e s i g nc o m p i l e r 。 1 9 东南火学硕士学位论文 本阶段任务: 编写静态时序分析脚本文件,给出约束条件: 进行时序分析; 研究分析报告,给山时序问题解决方案。 以上的设计过程与物理版图无关,一般称为前端设计或逻辑设计。后面的设计过程涉及 到具体的工艺以及版图,一般称为后端设计或物理设计。由于实验室已有条件,我们的前端 设计主要利用m o d e l s i m 和s y n o p s j y sd c ,而后端设计主要依靠a p o n o i i 。 本次设计主要是完成软核的设计,也就是工作完成到前端设计。但是基于设计流程的完 整性考虑,我们还是将后端设计做个简单介绍。 2 - 2 3 _ 7 布局规划、布局( f i o or p i a n 、p i a c e m e n t ) 布局规划的部分包括将设计划分为不同的功能块、布置输入输出端口以及一些功能块、 宏模块以及设计芯片时钟以及电源的分布方案等等,对一些需要放置比较近的单元或模块进 行约束。对于深亚微米设计,由于连线延时在芯片总延时中的比重已经超过了门延时的比重, 而综合时对连线延时采用连线延时模型( w i r el o a dm o d e l ) 进行估计的不准确,会导致最后布 线的芯片时序不收敛,从而引起设计的反复。因此,设计过程中在综合前对芯片做一个总体 的布局规划,提高综合的连线延时模型的准确性,更快地达到时序收敛,这也就是物理综合 的原理。 做完布局规划后的下一步就是布局,也就是进行网表中单元的放置,这一部可以使用综 合时产生的时序约束来驱动布局,以使布局后的连线延时更接近综合的连线延时模型,可以 更快地达到时序收敛的结果。 2 - 2 3 8 时钟树综合( c l o c kt r e es y n t h e s i s ) 在芯片的物理版图设计中,时钟树的设计是非常重要的,比较庞大的芯片容易造成较大 的本地时钟间的相对延时,也叫时钟偏斜( c i o c ks k e w ) 。时钟偏斜严重影响电路的同步,如 果不加以处理,往往会造成电路的时序紊乱。为此,必须减少各时钟端的时钟偏著,从而保 证整个设计的时序要求。时钟树综合就是为了保证时钟网络的设计要求,对芯片的时钟网络 进行重新的设计,包括时钟树的生成,缓冲的插入,时钟网络的分层。对于不同的设计要求 可以采用不同的时钟网络形式,如:鱼骨型网络,星型网络等等。 同时准确的时钟信号延时与具体的物理版图联系紧密,所以在逻辑综合的时候般忽略 时钟( 采用s e td o n tt o u c h 命令的方法) 的处理,而在后端物理设计中进行插入时钟树操作。 为了尽可能地缩短时钟信号的延迟( 1 a t e n c y ) 和扭曲( s k e w ) 等,对时钟信号进行树状插入缓冲 东南大学硕士学位论文 ( b u 腩r ) 。一个时钟树在版图中的例子如图2 盘所示。 在时钟树综合过程中对版图设计做了一些改动( 增加了时钟驱动单元) 。这些物理版图的 改动需要反映到设计的网表中,以保证后面的设计验证中,反标的网络延时与设计的网表相 符,同时也可以通过l v s 检查。 2 2 3 9 布线( r o u t i n g ) 图2 _ 8 一个芯片中时钟树的例子 布线的部分主要包括以下几个步骤: 1 ) 预布线;包括宏单元的电源、地、信号的布线,p a d 单元的布线以及芯片核心逻辑 部分的电源环、电源网络的布线。 2 ) 完成预布线以后,是一些特定网络的布线,如时钟、总线等一些关键路径需要严格 保证其时序要求。 3 ) 全局布线( g 1 0 b a lr o 埘n g ) :布线工具首先把版图区域划分为不同的布线单元,同时建 立布线通道,对连线的网络连接方向和占用的布线资源( 布线通道和过孔) ,连线的 最短路径等进行确定,并对布线的拥塞程度进行估计,调整连线网络过度拥塞的部 分。在全局布线完成后,则需要将连线网络所对应的布线资源分配到布线网格中。 4 ) 详细布线( d e t a i lm u t i n 曲:全局布线以后,需要分配路径( a s s i g nt h c k ) ,使用交换单 元( s w i t c hb o x ) 进行局部单元的详细布线,完成最终的布线连接。最后对布局布线的 优化处理,检查d r c 、l v s ,s 慨a mo u t 输出g d s i i 格式的版图。 以上步骤的输出: 布局布线并通过d i 犯、l v s 的版图; 布局布线后的时间、面积信息; 布局布线后的网表和标准延迟文件s d f ; 硅片制造的信息。 2 1 东南大学硕士学位论文 2 2 3 1 0 后仿真( p o s t - s i m u i a t i o n ) 在整个设计过程中,对设计的仿真验证分为两个环节:前仿真( 又称r t l 级仿真) 和 后仿真( 又称门级仿真) 。 通常后仿真在完成后端的版图设计之后,对整个芯片作参数提取( p a m i t i ce x 如c t i o n ) , 以得到准确的门延时和连线延时,同时考虑芯片内部寄生电阻和电容引起的额外信号延时。 与前仿真相比,这样的仿真才是最接近芯片工作的真实情况。 后仿真对于大规模的设计同时也是非常耗时。芯片的后仿真包括逻辑仿真、时序分析、 功耗分析、可靠性分析等等。其中的逻辑仿真主要进行标准延时文件( s d f ) 的反标,可以使 用逻辑仿真工具完成;其他的几种分析基于晶体管的分析,由相应的工具来完成。 本阶段输出: 晟终版本的网表; 版面设计后仿真和静态时序分析结果。 2 2 3 1 1 形式验证( f o r m a lv e r i 酊c a t i o n ) 形式验证的技术包括形式模型检查和形式等价性检查。其中等价性检查通过数学的方法 验证某一个设计与参考设计的等价性。形式验证与动态仿真的特点比较如表2 2 所示: 表2 2 形式验证与动态仿真的比较 特点比较形式验证动态仿真 验证条件需要参考设计,需要测试平台和测试激励, 不需要测试平台和激励不需要参考设计 验证速度 速度很快,1 0 0 验证覆盖率速度慢,对仿真中没有触发的路 径不能验证 验证能力只能验证逻辑,不能验证时序,同时验证逻辑和时序 需要与时序分析工具联合使用 形式验证可以用在r t l r t l 、r t l g a c a 和g a t a g a c e 几种不同形式的比较上。r t l r t l 的验证一般用在检查对i u l 设计修改后不影响设计中原来正确逻辑功能。r t l g a t e 可以检 奁逻辑综合以及插入扫描链后网表逻辑的正确性。而g a 协- g a t e 的检查则可以确保对于网表 插入时钟树前后网表的逻辑等价性。 本阶段的输出是最终芯片信息报告,包括芯片的所有网表、状态报告、物理信息等。 随着】c 制造工艺进入深亚微米,纳米技术,i c 的设计挑战越来越大,设计的流程也越 米越复杂,以上简要地描述了目前的i p 设计流程的主要方面。而实际工程项目中采用的设 东南大学硕士学位论文 计流程根据设计内容以及设计要求会有所变化,同时由于在设计中碰到的各种问题( 比如时 序不收敛的问题) ,设计过程可能还会进行好几次反复,才能达到设计目标。本文在具体设 计中将有所提及。 2 3 标准单元库的组成 从前面的讨论可以看出,i p 的设计流程由不同阶段组成,每个设计阶段都需要由相应 的标准单元库支持,才能完成相应的设计。所以标准单元库是最基本的要素。标准单元库一 般由代工厂( f o u n d a r y ) 和相关的厂商合作提供,如a r t i s 、a v d ! 、c e l e s 廿y 等等。本文的电 路设计采用a r t i s a n 提供的t s m co 1 8 啪c m o s _ 亡艺1 8 二v 0 1 ts a g e 标准单元库和t p z 9 7 3 的输入输出单元库。 一个完整的标准单元库应该包括以下几个部分: 1 )核心逻辑单元库,包括组合电路单元和时序电路单元如a d d 、n a n d 、d f f 、x o r 等等逻辑单元; 2 ) i ,o 单元,包括输入、输出、双向总线单元以及电源和地单元、c o m e r 单元等等: 3 )硬核模块的生成器,如片内的r a m 、r o m 等等; 同时,标准单元库应该包括全部库单元的不同表示形式,才能满足不同阶段的设计需 求,完成整个设计流程。 1 ) 逻辑综合库:用于综合器读入,并对r t l 级的v e r i l o g 程序进行综合; 2 ) 单元的仿真库,每个单元的逻辑功能,以及对应于不同的工作环境( b e s t ,t y p i c a l , w o r s t ) 的延时模型: 3 ) 物理版图:每个单元的物理版图宽度不同,高度相等,用于后端设计的自动布局布 线: 4 延时模型:包括器件延时模型和在综合过程利静态时序分析使用w i r i j o a d _ 1 0 d e l 对器件连线延时的估计; 5 ) 库单元电路的草图说明; 6 ) 单元库相应的文档说明; 有关标准单元库的详细内容 东南大学硕士学位论文 第三章a m b a 总线协议 本次课题,主要是要完成基于a r m ,a m b a 的内控控制器和中断控制器i p 的设计。作 为这两个l p 的共同点,都必须要有a m b a 总线接口,可就是,随时可以和别的拥有a m b a 接口的模块互联,而不需要任何其他接口模块。 本章就设计中所需要使用到的a m b a 总线的部分功能展开介绍。 3 1s o c 总线的分析 传统的j c 设计方法已无法适应新的s o c 设计要求,因此需要根本的变革,即从以功能 设计为基础的传统i c 设计流程转变到以功能整合为基础的s o c 设计全新流程。s o c 设计塔 t p 的设计复用和功能组装、整合来完成。为了使i p 核集成更快速、更方便,缩短进入市场 的时间,迫切需要一种标准的互联方案。 在这一背景下产生的片上总线o c b ( o n - c h i pb u s ) 技术基于i p 核互联标准技术的发展, 目前已形成较有影响力的三种总线标准为:i b m 公司的c o 心o n n e c t ,a r m 公司的 a m b a ( a d v 柚c e dm i c r o c o r i n d l l e rb u sa r c h j t c c t u r e ) 秆1s i l i c o r e c o r p 公司的w j s h b o n e 。 表3 1 三种总线特性比较 总线名称 c o r e c o n n e c tw i s h b o n e a d 旧a 互连方式共享总线点对点共享总线数据流 共享总线 主控制器多个 十字互连多个 多个 数据线宽度,位 3 2 2 5 68 6 4 ( 可扩展) 3 2 2 5 6 地址线宽度,位3 26 43 2 数据传输方式字苇 半字滓字节 半字淳字节 、阜字滓 事务传输方式流水分裂猝发 流水分裂猝发流水分裂猝发 数据对齐方式大端,j 、端大端,j 、端 大端,j 、端 仲裁机制系统定义 系统定义系统定义 独立性硬什技术i p 核类型 硬件技术i p 核类型综合硬件技术i p 核类型 综合工具无关工具无关 综合工具无关 这三种总线都是完全同步的设计,都是使用时钟的上升沿来驱动和采样信号的。最大的 区别在于他们提供的特性和规范的完整性不同。三种总线的特性比较如表3 1 所列。 三种总线各有特点,决定了其应用范围的不同。c o r e c o n n e c t 拥有完备的一整套技术文 档,在技术上可行性较强,可以应用在类似于工作站的高性能系统的连接,可以适用于未来 更庞人、更复杂的系统连接,i 酬声称免费,但需要授权协议;a 船a 总线规范拥有众多第 三方支持,被a r m 公司9 0 9 6 以上的合作伙伴采用,在基于a 删处理器内核的s o c 设计中,已 东南大学硕士学位论文 经成为广泛支持的现有互联标准之一,适合较复杂的应用,需要遵守较简单的操作协议,姗a 的使用也需要授权协议;w i s h b o n e 异军突起,其简单性和灵活性受到,。大s o c 设计者的青睐, 而且它是完全免费的,并有丰富的免费i p 核资源。 随着a r m 嵌入式微处理器的蓬勃发展,a m b a 总线的应用也日益频繁。下面,我们将 集中介绍a m b a 总线。 3 2 a a 总线 a m b a 是一种基本的s o c 总线,它分成三种总线。 a h b :能够提供高带宽的接口用于连接高性能系统模块。 a s b :用于连接高性能系统模块,目前基本都选用a f b 为a 5 l b a 系统总线。 a p b :用于提供低带宽的接口用作外围总线,适合择接一般的外围设备。 根据需要,系统设计者必须选择对接三种总线中的哪一种,一个高性能设备可能选择 a h b 或a s p 总线这将给i p 核集成者带来困难,因为两种总线都试图访问同一类型的设备, 还没有明确的办法将设备与a h b 和a s p 总线集成。a p b 桥似乎不但不会提供任何好处,而且 会限制连接在上面的高性能总线,所有二种总线都包含一个地址状态和一个或多个数据状 态。 一个典型的基于a m b a 的微控制器同时集成a h b ( 或a s b ) 和a p b 接口,如图3 1 所示, a s b 总线是旧版的系统的总线,而新版的a h b 总线增强了对性能综合及时序验证的支持。 a p b 总线通常用作的局部的第二总线,作为a h b 或a s b 上的单个从属模块。 幽3 1a m b a 总线逻辑结构 根据a m b a 的规范,连接a h b a s p 和a p b 的a p b 桥的唯一功能是提供更简单的接口。 任何由低性能外围设备产生的延迟会由连接高性能( a h b a s p ) 总线的桥反峡出来。桥本 身仿佛是一个简单a p b 总线的主设备,它访问与之相连的从设备,并且通过高性能总线上控 制信号的子集控制它们, 东南大学硕士学位论文 3 2 1a i b 总线协议 3 2 1 1a 船总线简介 a h b 是a 船a 总线的新一代规范,它是目前应用最广泛的a h i b a 片上总线。该规范具有以下 一些特性: 支持突发传送、分离传送等传输方式 流水方式工作 总线互连采用多选实现 具有访问保护机制,以区分特权模式和非特权模式访问,指令和数据读取等 地址空间为3 2 位,数据总线最宽可达到1 2 8 位 支持字节、半字和字传输 a i b 总线采用的是单时钟沿工作,a m b aa h b 总线协议采用的是一个中央多选互连方案。 使用该方案,所有的总线主设备都可以同时驱动地址和控制信号来表示其将要进行传

温馨提示

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

评论

0/150

提交评论