SoC技术原理和应用ppt课件_第1页
SoC技术原理和应用ppt课件_第2页
SoC技术原理和应用ppt课件_第3页
SoC技术原理和应用ppt课件_第4页
SoC技术原理和应用ppt课件_第5页
已阅读5页,还剩133页未读 继续免费阅读

下载本文档

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

文档简介

1、SoC技术原理与应用主讲:郭 兵 单位:四川大学计算机学院电话:: 2007 年 4 月第三章 VLSI集成电路主要内容 引言 数字IC设计 模拟IC设计 射频IC设计 IC设计与EDA工具 Verilog HDL设计简介 可测性设计 可编程逻辑器件 IC的制造过程 3.1、引言 自60年代开始,集成电路IC经历了小规模SSI)、中规模MSI)、大规模LSI),发展到目前的超大规模VLSI和甚大规模集成电路ULSI)。器件特征尺寸不断缩小,从亚微米最小特征尺寸1m)、深亚微米DSM最小特征尺寸0.5m到超深亚微米VDSM最小特征尺寸

2、0.25m),其主要特点包括: (1)特征尺寸越来越小(2)芯片面积越来越大 (3)单片上的晶体管数越来越多 (4)时钟速度越来越快 (5电源电压越来越低 (6布线层数越来越多 (7) I/O引脚越来越多 从几十个引脚到最多1200个引脚,目前大部分IC的封装在100300个引脚。 集成电路工艺技术的高速发展,超深亚微米成为目前的主流工艺技术,使更多的IC采用超深亚微米工艺,到2019年接近90%的IC使用0.25um以下工艺,平均门数超过2百万,使得超深亚微米VLSI集成电路的设计面临一些新的问题和挑战,迫切需要在理论及技术上进行创新,探索新的超深亚微米VLSI集成电路设计/验证方法、流程及

3、EDA技术。 DSM时代特征尺寸减小,时钟频率提高使互连线Interconnect延时大于门延时,各种噪声的影响明显加剧,从而使传统IC设计方法面临各种问题。不同的学术及技术领域对这些问题有着不同的认识和表达方式,对于前端设计部门最为直接的问题是设计时序收敛难度加大。 图3-7所示的设计中,在使用Wireload模型WLM:WireLoad Model综合后,设计达到600MHz,在布局完成后,最高性能达到500MHz。使用特定统计Wireload模型反复综合后使设计达到550MHz,仍不能满足要求。新网表在次布局后,为500MHz。布局的In-Place OptimizationIPO将性能

4、提升到550MHz,如此需要多次反复才能达到时序收敛。 设计时序的不收敛导致了前端设计与后端设计的结果严重不一致,投片不可能成功,设计人员面临不可预知需要多少次反复才能消除逻辑设计期望与ASIC厂商物理综合设计人员所能提供的时序方面的差异。随着工艺技术的不断发展,这种反复的次数不断增加,使设计周期越来越长,开发成本越来越高,几乎达到不可接受的状况。 造成这一问题的根源主要是由于Wireload模型不准确。传统的综合基于统计Wireload模型,Wireload模型是对装入互连电阻和电容的统计估算。这种统计估计是基于对采用给定库进行多次设计的平均,同样寄生参数的估计也被用于所有类似扇出网,因而缺

5、乏实现细节需要的精确互连延迟,不能精确表达互连延迟,后端综合修复工具不能提供足够的优化技术来纠正许多时序问题。在DSM工艺下互连线延时十分严重,并引入多种噪声,设计人员不得不在逻辑、时序和物理工具之间不断反复,以达到需要的电路性能,设计工具对于互连延迟不同的表达方式更恶化了这一问题。 在传统IC设计环境中,设计人员通常采用以下技术手段来解决时序收敛问题:(1使用保守的库和流程。(2Floorplan和创建定制的Wireload模型。(3在布局/布线工具中,使用有限的优化技术进行修复。 但这些手段不能从根本上解决VDSM IC设计所面临的问题,为此近年来学术以及EDA技术界对VDSM工艺下各种噪

6、声的特性以及有效的设计工具等问题进行了深入的分析和研究,并提出了一些解决方案及针对VDSN IC设计的EDA工具。 电路延时有门延时和互连线延时两类,它们均与金属线的长度和宽度、多晶硅的宽度和长度、氧化层的厚度等参数有关。以前互连线延时没有受到重视,但统计结果表明,在VDSM工艺下的互连线延时占到总延时的8090%。 有关互连线延时和噪声的情况较为复杂,对于它们的来源、特性及模型描述是现代VDSM IC领域中研究的一个热点。 在VDSM IC设计中另一个重要的问题是低功耗设计。自上世纪70年代起,就开始了对CMOS电路功耗的理论分析,并逐渐受到重视。近年来,由于芯片集成度和工作时钟频率的迅速提

7、高,低功耗设计已成为VDSM IC设计中与性能和面积同等重要的一个因素。特别是对于电池供电的便携式产品,如移动终端、PDA及笔记本电脑等,其芯片及系统的设计都是围绕低功耗要求来进行的。 CMOS数字集成电路的功耗由三部分组成:(1动态功耗:为CMOS门电路0/1状态转换所需要的能量,实质上是PMOS及NMOS晶体管等效电容C的充放电,(2内部短路功耗:CMOS电路如果以下条件成立Vtn Vin Vdd -| Vtn |(其中Vtn是NMOS的门限电压,Vtp是PMOS的门限电压时,在Vdd到地之间的NMOS和PMOS会同时打开,这就产生了短路电流。在门的输入端上升或者下降的时间比其输出端的上升

8、或者下降时间快的时候,短路电流现象会更为明显。为了减少平均的短路电流,尽量保持输入和输出在同一个沿上。一般来说,内部短路电流功耗不会超过动态功耗的10%,同时,如果在一个节点上, Vdd Vin +| Vtn |的时候,短路电流会被消除。(3静态漏电功耗:静态漏电是指二极管在反向加电时,晶体管内部出现的漏电现象,在MOS中主要指的是从衬底的注入效应和亚门限效应,它们与工艺无关。漏电所造成的功耗很小,不是功耗优化的重点。 因此,在电路组态结构方面尽可能少采用传统的CMOS电路结构,因为互补电路结构每个门输入端具有一对PMOS和NMOS管,形成较大的容性负载,CMOS电路工作时对负载电容开关充放电

9、功耗占整个功耗的百分之七十以上。为此,深亚微米的电路结构组态多选择低负载电容的电路结构组态,如开关逻辑、Domino逻辑以及NP逻辑,使速度和功耗得到较好的优化。 在IC设计中,功耗优化设计主要是根据以上理论原理,在以下几个方面进行优化:(1RTL级代码优化:不同的RTL代码,会产生不同的功率损耗,因为RTL代码最终会实现为电路。不同的电路风格和电路结构会对功率产生相当深远的影响。(2后端综合与布线优化:综合与布线是将RTL代码综合成真实电路,一段RTL代码所对应的电路可以有多种形式。而CMOS电路的功耗与电容的充放电有很大关系,在后端综合与布线中,可以采取一些措施减少电容,优化电路,减少电路

10、的操作,选择节能的单元库,修改信号的相关关系,再次综合减少毛刺的产生概率。(3通过降低工作电压来降低器件的功耗,IC的工作电压逐步从5V降到3.5V、2.5V、1.8V等。但这种降低是有限度的,因为过低的工作电压会使功率馈入发生困难。(4采用门控Clocked Gate),对于系统中暂不工作的模块,可将其时钟关闭,需要工作时再将其唤醒。由于CMOS电路的静态功耗很小,因而可有效地降低整个系统的功耗。 对于VDSM IC低功耗设计除了以上优化方法外,目前进入更高一级的研究,主要有系统级功耗管理策略、软件程序结构及软件代码优化等,特别是良好的系统功耗管理方案对于降低SoC芯片及系统功耗将取得非常明

11、显的效果。比较成熟的方法是采用空闲Id1e模式和低功耗模式,在没有软件任务执行的情况下使系统处于等待状态或处于低电压和低时钟频率的低功耗模式。另外,采用可编程电源也是获得高性能和低功耗的一种有效方法。 IC按电路性能分为数字IC、模拟IC和射频IC,下面分别对这三类IC基于VDSM的设计做一个简要的介绍,有关的基础知识,如电路与系统、数字逻辑、半导体器件、射频与微波电子学、Verilog语言等,本书将不做过多的介绍。3.2 数字IC设计 数字和模拟的区别主要体现在对信息的编码上,数字电子学使用离散值表示信息而模拟电子学采用连续信号表示信息。离散的意思指分开的或分离的,与连续的或相连的相对。数字

12、IC和模拟IC的区别是:数字电路工作在CMOS管的线性区和截止区,模拟电路工作在CMOS管的饱和区,在CMOS管的Vg加不同的偏置电压或信号电压),使得CMOS管工作在不同的工作区域,因此,数字IC和模拟IC的电源部分是不同的,如5V TTL电平,电平00.8V表示逻辑“0”,电平25V表示逻辑“1”,电平0.82V在数字IC中属于“X态,但恰恰是模拟IC的Vg电压范围。 当代数字IC品种繁多,按其设计和制造情况来区分,可分为以下四类IC: (1)标准集成电路 这类产品不需要用户进行任何设计工作,可直接从市场上购买使用,可分为以下两类:1. 标准集成电路系列:这类电路由IC制造商开发并大量生产

13、,可用于各种场合,是一种通用性强的产品。这类产品品种繁多,用户在使用这类电路进行系统设计时,难以用一、二种规格的产品达到设计要求,往往需要较多的器件和较大的PCB面积,因此,需要较高的开发和生产成本。 2.软件组态标准电路:这类电路主要是各种通用微处理器、微控制器和DSP等,这种电路要靠一定的软件来完成所需的功能,应用比较灵活,但这种器件与其它器件的配合需要用户设计专门的接口电路,其工作方式主要为分时串行方式,速度较慢。 (2全定制ICFull-custom IC) 在全定制IC技术中,设计者需要建立完整的版图,良好的版图一般用速度和尺寸等特性来定义,这个任务通常称为物理设计。全定制IC技术的

14、优点体现在功率、性能和大小等方面的高效性,将需要互连的晶体管放置在相邻位置,用很短的导线来连接,可以产生良好的性能和功耗,并且,只有电路需要的晶体管才会出现在IC上,不会产生由于有未用晶体管而造成的芯片面积浪费现象。全定制IC技术的主要缺点是其过高的非重发性设计NRE:No Repeat Engineering,又译非经常性工程成本和较长的上市时间。NRE代表在IC最终从芯片制造厂制造出来以前客户需要投入的所有成本,这些成本包括工程资源、昂贵的软件设计工具、用来制造芯片不同金属层的昂贵光刻掩膜组以及初始原型器件的生产成本,这些NRE成本可能从数十万美元至数百万美元。 (3半定制IC (Semi

15、-custom IC) 在这种技术下,设计者不需要建立全定制的版图,而是将事先制作好的版图连接起来,这种半定制的IC称为ASICApplication Specific Integrated Circuit),即单用途处理器。半定制IC技术主要有门阵列Gate Array和标准单元Standard Cell,如门电路、触发器等两种类型,与全定制IC技术相比,主要优点是NRE成本较低和上市时间较快,因为需要建立的版图和掩膜较少。而与可编程逻辑器件IC技术相比,半定制在性能、功率和大小等方面具有较高的效率。由于有良好的效率及较低的NRE成本,半定制IC技术是目前最流行的IC技术。 (4可编程逻辑器

16、件 可编程逻辑器件,简称PLDProgrammable Logic Device),IC的所有逻辑门已完成版图制作,其在IC上的放置位置已经明确,设计者的工作就是以所需电路的方式连接逻辑门布线)。它是一种能将系统结构实现在IC上而不需制造IC的技术,可在现场进行编程的IC技术,这里的现场指实验室或办公室,编程不是指编写在微处理器上执行的软件,而是指配置逻辑电路和互连开关,以实现所需的结构电路。PLD可分为SPLDSimple PLD简单PLD,只能完成简单的组合电路)、CPLDComplex PLD复杂PLD,一般包含锁存器,还可以实现时序电路和FPGAField Programmable G

17、ate Array现场可编程门阵列,一种更模块化、规模更容易控制的PLD设计方法,由可编程逻辑块的阵列组成,可编程逻辑块之间通过可编程互连块连接)。 VLSI设计一般采用层次式设计,它是VLSI设计中最广泛使用的方法,可以简化VLSI设计的复杂性,分为自顶向下和自底向上两种方法。层次化设计分为以下几个层次如表3-1所示):( 1 系 统 级 : 系 统 规 范 化 说 明 S y s t e m Specification),即系统的功能,包括系统功能、性能、物理尺寸、设计模式、制造工艺、设计周期和设计费用等。(2算法级:将系统功能的实现方案设计出来,通常是给出系统的时序图及各子模块之间的数据

18、流图。(3寄存器传输级RTL:Register-Transfer level):将系统功能结构化,以寄存器和传输来表示。(4门级:将系统功能逻辑结构化,通常以文本Verilog HDL 或VHDL)、原理图、逻辑图表示设计结果,有时也采用布尔表达式来表示设计结果。(5电路级:将逻辑设计表达式转换成电路实现。(6版图级物理级):物理设计或称版图设计是VLSI设计中最费时的一步,将电路设计中的每一个元器件,包括晶体管、电阻、电容、电感等以及它们之间的连线转换成集成电路制造所需要的版图信息。典型的RTL级数字IC设计流程如图3-8所示 从图3-8可以看出,对于任何ASIC产品的开发,最初总是从市场上

19、得到需求的信息或产品的概念,根据这些概念需求,IC工程师可以逐步完成IC规格的定义和总体方案设计,总体方案设计定义了芯片的功能、模块划分、模块功能和模块之间的时序关系等内容。 在总体方案经过充分讨论或论证后,开始ASIC产品的研发。IC的开发阶段包含了设计输入、功能仿真、综合、DFT、形式验证、静态时序分析、布局布线和ECO等内容。 在过去很长一段时间内,硬件描述语言只是用来验证设计的思路是否正确,设计者往往需要手工将硬件语言的描述转换为门级网表的形式。随着计算机技术和EDA软件工具的发展,尤其是综合工具的出现,在电路设计方面,实现了从硬件描述语言到门级网表的自动转换或称编译等自动综合能力。所

20、谓综合器,也可称设计编译器,根据面积、速度、功耗、时序等约束条件,完成可综合的RTL描述到综合库单元之间的映射,得到一个门级网表等。 一般的逻辑综合过程如图3-9所示,输入为可综合的RTL代码、约束条件和单元库即工艺库),输出的是门级网表。在逻辑综合过程中,为优化输出和工艺映射的需要,一定要有相应的约束条件以实现对设计实体的控制。同时,在根据约束条件进行逻辑综合时,单元库将提供综合工具所需的全部半导体工艺信息,即单元库不仅包含ASIC单元的逻辑功能、单元的面积、输入到输出的时序关系、输出的扇出限制和对单元的时序检查等。综合器内部可内嵌静态时序分析工具,可以根据综合约束来完成门级网表的时序优化和

21、面积优化。 逻辑综合的过程一般包含三个阶段:(1展平Flattern):将Verilog语言的RTL描述转换为未优化的门级布尔逻辑方程描述。(2优化:执行优化算法,化简布尔方程。(3设计实现:按约束要求,采用相应的工艺库,将优化的布尔方程描述映射为实际的逻辑门电路。 目前,大多数IC设计引入了可测试结构设计,一般在电路初步综合后可进行DFT设计。典型的DFT电路包括存储单元的内建自测BIST电路、扫描链电路和边界扫描电路。BIST电路是为了测试而设计的专门电路,它可以来自半导体生产厂商,也可以用商用的工具自动生成。扫描电路一般是用可扫描的寄存器代替一般的寄存器,由于带扫描功能的寄存器的延迟与一

22、般的寄存器并不一致,所以在综合工具进行时序分析时最好能够考虑这种“附加的延迟。边界扫描电路主要用来对电路板上的连接进行测试,也可以将内部扫描链的结果从边界扫描电路引出。 形式验证是一种静态的验证手段,根据电路结构静态地判断两个设计在功能上是否等价,从而判断一个设计在修改前和修改后其功能是否保持一致。它无须测试向量,但是在运用形式验证时,必须有一个参照设计和一个待验证的设计。参照设计是我们认为功能上完备无缺的设计,它可以是用高级语言,如C、C+实现的,也可以是集成电路的建模语言System C,或者是用验证语言Vera或SpecmanE实现的,但就现实而言,多数形式验证过程中的参照设计就是我们的

23、RTL设计,一般是用Verilog或VHDL实现的。 利用形式验证还可以进行RTL-GATE对比,我们可以验证插入DFT前后的电路网表功能上是否一致,生成时钟树前后的电路网表功能上是否一致,布局布线前后的电路网表在功能上是否一致等。 静态时序分析是IC开发流程中非常重要的一环。通过静态时序分析,工程师一方面可以了解到关键路径的信息,分析关键路径的时序;另一方面,工程师还可以了解到电路节点的扇出情况和容性负载的大小。 IC的后端设计包括布局、插入时钟树、布线和物理验证等内容。 ECOEngineering Chang Order就是工程更改命令,一般的设计流程并不需要这个步骤。ECO的发生是指在

24、已经输出版图GDSII数据后,设计者又发现某个非常小的硬件缺陷Bug),而且解决这个问题又只需要在非常小的范围内更改金属连线关系,或者利用版图上冗余的逻辑门来修正设计中的小问题。传统的更改一般由工程师手工修正,目前,一些版图工具内嵌了ECO算法实现,这样我们就可以利用版图工具来自动完成。 虽然数字IC的用量占多数,但模拟IC仍有相当大的生存空间:(1首先,数字技术是一种人工编码技术,而自然界的监测对象和控制对象,如声、光、温度等全是连续变化的模拟量,而数字技术不可能直接监测和直接控制,实现这一接口功能的正是模拟电路。(2数字信号只能有线传输利用双绞线、同轴线、光缆等),采用射频载波的调制和解调

25、,才能完成无线发射和接收,这又是非模拟电路不可的用场。(3任何数字系统都必须有电源的控制和管理,在移动式数字系统中,电源控制和电源管理的问题更加突出。3.3 3.3 模拟模拟ICIC设计设计 集成化的模拟电路设计和采用分立器件的模拟电路设计有显著的区别:(1采用分立器件设计的电路所用的有源及无源元器件并不都制造在同一块衬底上,而集成化的电路则是做在同一块芯片上的,所有有源和无源元器件的几何形状、尺寸和位置都在集成电路设计师的支配和控制下,这就赋予他在设计过程中新的、充分的自由度。(2集成电路设计师不可能搭试验线路板,他只能应用模拟方法确认他的设计,确认性能是否能达到要求。(3集成电路设计师在选

26、用元器件时要受到一定限制,他所选用的元器件必需和他采用的集成电路工艺相兼容。模拟集成电路设计可划分为若干阶段如下图) 目前模拟IC发展的趋势包括:(1)嵌入式模拟IC和高性能模拟IC。(2)采用标准CMOS工艺设计制造ADC、DAC、RF电路等典型模拟电路和混合信号电路已经成为业内热点。(3CMOS工艺设计模拟IC的工作难度,高于设计数字IC和混合信号IC。(4混合信号Mixed SignalIC。数字、模拟电路的混合信号IC设计成为ASIC/SoC设计中常常需要的技术,尤其是通信领域混合信号IC设计方法也由原来的功能设计向功能组装的方向发展。3.4 射频IC设计 射频/微波集成电路,是在半绝

27、缘半导体衬底上用一系列的半导体工艺方法制备出无源器件如电容、电感和有源元器件如双极晶体管、MOS晶体管),并连接起来构成应用于微波甚至毫米波频段的功能电路。其特点是将PCB板的分立元件集成在微小的芯片之中,这样缩小了电路的体积,降低了电路成本,提高了电路的可靠性,且其工作频率较高,容易实现宽频带和大信息的传送。 射频/微波集成电路设计需要的多学科的相关知识,处于新兴的学科前沿,其与各学科的关系可以用图3-11来表示: 射频集成电路本身不同于常规的数字和模拟集成电路,其设计流程如图3-12所示, 射频集成电路设计流程包括:(1首先要有一个基本的电路设计的构架,即电路的基本拓扑结构。(2然后将电路

28、结构分别导入Cadence和ADS中进行射频相关的各种参数的模拟分析,尤其是其中的关键的阻抗参数、S参数和噪声特性。在分析中利用Cadence在时域模拟的优点与ADS在频域分析的长处,共同得到优化的电路及其具体的元件参数,在电路仿真中必须考虑封装所能引入的引线、压焊点的模型。(3仿真中所采用的工艺元件及工艺库模型必需考虑射频电路的特点,直接采用一些公司提供的SPICE模型模拟电路会影响电路模拟的准确性,并且注意工艺库必需随工艺线的提供及时更新。(4)利用芯片代工加工方便Cadence的版图工具,将电路转化为版图,并设计相应的参数化单元。在版图设计中,必须考虑射频电路的特点,特别关注射频信号的通

29、路。 (5完成版图后,对其进行设计规则等的验证,在版图中进行寄生参数提取,并将提取的参数进行再仿真。由于所取的参数可以同时用于Cadence和ADS,可以同时在两种工具上对电路再仿真即后仿真)。 (6)最后,将再次优化的电路生成版图并经验证后生成版图GDSII文件交付Foundry投片。 该流程综合了模拟电路的设计方法,其中,增加了与射频相关的ADS相验证的模拟,是将Cadence与ADS的优势相互结合。因此,可以有效提高设计的准确性。 3.5 IC设计与EDA工具 EDAElectronic Design Automation工程是以计算机为工作平台,以EDA软件工具为开发环境,以电子化系统

30、设计为应用方向的电子产品自动设计过程,包括IC设计自动化、可编程器件设计自动化、电子系统设计自动化、PCB设计自动化、功能仿真、故障测试、形式验证自动化等,不包含电子产品生产自动化,其相应产品化的工具是信息产业的重要基础如图3-13所示)。 EDA工程学科,是近几年迅速发展起来的计算机软/硬件和微电子学交叉的现代电子设计学科,涉及到计算机操作系统、数据库、编译原理、计算数学、人工智能、电路理论、微电子集成电路设计等领域,是信息产业发展的核心技术之一。 集成电路产业是以市场、设计、制造和应用为主要环节的系统工程,设计是连接市场和制造之间的桥梁,是集成电路产品开发的入口,成功的产品来源于成功的设计

31、,成功的设计取决于优秀的EDA设计工具。IC设计的EDA软件工具发展过程包括:(1第一代:在集成电路产业发展初期 20世纪70年代,随着中小规模集成电路的开发应用,用传统的手工制图的方式设计PCB和集成电路已无法满足设计精度和效率的要求。因此,工程师开始进行二维平面图形的计算机辅助设计CAD:Computer Aided Design),以便解脱繁杂的版图设计工作,这就诞生了第一代EDA工具。这个阶段的特征是采用小型计算机,主要针对物理级的设计,软件功能为交互图形编辑和设计规则检查,集成电路设计附属于半导体工业。这样的CAD系统为IC设计师提供方便的版图编辑、设计验证和数据转换等功能,如以Co

32、mputer-vision为代表的CAD系统,支持版图图形编辑及PCB绘图。(2第二代:20世纪80年代 为了适应电子产品在规模和制作上的需要,出现了以计算机仿真和自动步线为核心技术的第二代EDA工具,产生了计算机辅助制造CAM:Computer Aided Manufacturing)、计算机辅助测试CAT:Computer Aided Test和计算机辅助工具CAE:Computer Aided Ebgineering等概念。为设计师提供了方便的原理图编辑、仿真和物理版图的布图和验证功能,如以Applicon、Calma、CV为代表的版图编辑和DRC,以Mentor、Daisy、Valid

33、为代表的CAD系统,从原理图输入、模拟、分析、到自动布图及验证的全过程支持。(3第三代:20世纪90年代 出现了以HDL高级语言描述、系统级仿真和综合技术为特征的第三代EDA工具,极大地提高了系统设计的效率,使广大的电子设计工程师开始实现“概念驱动工程的梦想。设计师摆脱了大量的具体设计工作,而将精力集中于创造性的方案与概念构思上,从而大大提高了设计效率,缩短了产品的研制周期,如以Cadence、Synopsys、Avanti、Mentor、Viewlogic等为代表的EDA系统,对IC设计的整个流程提供支持,甚至包括系统级的设计工具。(4第四代:目前正在紧锣密鼓地进行。 由于集成电路的工艺水平

34、已经进入超深亚微米(0.25微米),在0.8微米工艺以下,连线延迟已占总延迟的70,因而计算工作量要比微米及亚微米增大。设计工具改进所增加的设计能力必须超过工艺增长速度,才能适应工艺的快速发展,正在研制面向VDSM + SoC的新一代EDA系统。 在利用EDA工具进行IC设计时,首先需要解决的问题是利用适当的方式描述系统的功能,并输入到计算机中,以便计算机进行识别,然后,根据设计约束进行相关的自动设计。这种描述硬件功能的方式就是硬件描述语言HDL:Hardware Desccription),可分为文字语言Word HDL和图形语言Graphic HDl)。图形语言即广泛使用的逻辑电路图和状态

35、流程图,是为广大IC设计人员所熟悉的描述方法。在现有的EDA工具中,两种描述方法均可采用。比较而言,计算机对于图形语言的识别比较困难,同时,图形描述难以抽象,很难清晰描述不同层次的IC系统。而由文字符号构成的形式语言,已在计算机系统中广泛应用,相应的编译技术十分成熟,计算机执行这种文字符号组成的形式语言程序具有很高的工作效率。因此,在EDA工具中,文字描述语言应用得最为普遍。一般地,硬件描述语言HDL都是指文字硬件描述语言WHDL。 EDA工具的集成设计环境是指运用各种EDA工具,按设计流程进行进行项目设计的环境。由于各个EDA工具开发商在不同的设计环节有不同的特长,其EDA工具也具有不同的特

36、色,如Synopsys公司的逻辑综合工具DC,逻辑综合效率高,占用资源少,以及逻辑仿真工具VCS,时序仿真较精确,设计项目能工作于较高的工作频率,在业界享有盛名;Candence公司的EDA工具长于模拟IC设计,Verilog语言仿真工具Verilog-XL功能和性能也相当不错,Mentor公司的EDA工具长于版图设计和后端验证。 由于EDA处理算法复杂,需要高性能的计算支持,目前多数大型EDA工具都运行在Unix平台上,包括IBM AIX、HP HP-UX、Sun Solaris和Linux等;为降低EDA费用,在Windows平台上单机可运行的EDA工具也越来越多,如Workview和Mo

37、delSim等。EDA软件作为大型、复杂的软件系统,主要采用C、C+和Java等语言在Unix或Linux平台上开发,是一个高投入、高风险和专利门槛较高的产品,基本由几家大的公司垄断,后来者很难进入,我国在这方面差距较大。 选择优秀、适用的EDA工具,构成合适的EDA工程集成设计环境,是项目开发工程师的首要任务之一。选择优秀的EDA工具有以下几个约束条件:(1EDA工具的使用授权限制。(2设计语言、设计数据和设计格式的兼容问题。(3EDA工具与计算机和操作系统的兼容问题。(4是否具有IDE环境,工具界面是否友好等。(5设计项目的实际需要限制。3.6 Verilog HDL设计简介 硬件描述语言

38、有多种,自20世纪80年代后期起,逐步开始推广使用。应用比较普遍的有:美国国防部提出的VHDL、Candence公司开发的Verilog、Mentor Graphics公司开发的BLM和DATA I/O公司的ABEL等,目前已成为国际标准的硬件描述语言只有VHDL和Verilog两种。VHDL的英文全称是Very high speed integrated circuit Hardware Description Language,即超高速集成电路硬件描述语言,是美国国防部为支持超高速电路VHSIC:Very High Speed Integrated Circuit设计项目的研发于20世纪8

39、0年代初提出的,采用ADA语言的语法,其目的是为了在各个开发商之间统一设计标准,便于资源共享。 1986年,IEEE标准化组织开始审订VHDL,并于1987年12月通过了标准审查,宣布实施,即IEEE STD 1076-1987。1993年又对VHDL做了进一步修订,形成了新的标准,即1076-1993,目前多数VHDL设计采用此标准。Veirlog HDL最初由Gateway Design Automation (GDA公司的Phil Moorby首创,采用C语言的语法,1989年Candence收购了GDA公司,Verilog HDL遂成为Candence公司EDA工具的硬件描述语言。20

40、19年,Verilog HDL成为IEEE的标准,即Verilog HDL 1364-2019,正式成为一种IC开发的商用硬件描述语言。为了改进设计的准确性以满足VDSM设计的需要,Verilog 1364-2019增加了系统级建模的功能,提高了ASIC时序准确性,对Verilog PLI 进行改进后,可以提供更强的模拟控制功能,同时提高了交互性能。 中国国家质量技术监督局于2019年4月9日发布了“中华人民共和国国家标准GB/T 18349-2019:集成电路/计算机硬件描述语言Verilog,英文名:Integrated Circuit / Computer Hardware Descri

41、ption Language Verilog”,并于2019年10月1日正式实施。该标准等同于IEEE STD 1364-2019,旨在将Verilog作为硬件描述语言的完整国家规范 VHDL和Verilog HDL都支持从行为级到门级的系统描述,适合于IC系统自顶向下的层次化设计。目前,硬件描述语言正在向模拟电路和混合信号设计的方向发展。 由于Verilog语言采用C语言的语法,充分保留了C语言简洁、高效和灵活的编程风格,因而在数字IC设计者和高等院校的教学中占有绝对的多数。Verilog语言的最大特点是易学易用,如果具有一些C语言的编程经验,可以在较短的时间内学习和掌握Verilog语言,

42、容易获得IC设计的实际经验。与之相比,VHDL的学习要困难得多,很难在较短的时间内真正掌握,而在似懂非懂的前提下进行实际电路的设计,对培养良好的设计风格反而会产生不利的影响。 目前,Verilog语言在实际工程应用中主要是进行RTL级的设计,以及相应的测试脚本TestBench设计。Verilog语言中多数语句是不可综合的,主要用于设计灵活的TestBench。一般地,一个典型的、可综合Verilog RTL设计主要内容包括:例化模块Instantiation modules),包括IP核。常用的数字元件,如比较器Comparator,Verilog 比较语句生成)、多路复用器Mux,Veri

43、log If-else-end语句生成)、多路输出选择器Demux)、编/解码器Coder/Decoder等。lI/O信号、寄存器Reg信号和线Wire信号定义。l信号的与、或、非、移位等算术、逻辑或布尔运算。l信号的阻塞赋值和非阻塞赋值。l敏感信号列表等。 RTL编码类似于软件开发,通常使用的软件工程指导原则在RTL编码时也适用,其基本的编码原则要求RTL代码简单、结构化和规则化,这样的代码也易于综合、复用和验证,下面给出一些基本的指导原则,这些原则仅仅作为参考,每个设计团队应该根据具体的设计环境、工具和产品的规范,制订自己的指导原则。 (1命名习惯设计阶段的最开始应该制定一个统一的和合理的

44、命名习惯,并由整个团队共同坚持.(2RTL编码的一般指导原则l使用简单结构和时钟方案。代码的结构应该一致,规划的划分方案使各模块规模大致相等,以实现一致性。设计的划分应该使一个单独模块中的所有逻辑使用同一个时钟或复位信号。l应该使用行首缩进以提高RTL代码的可读性。同时,为使行不致太长,缩进应该小,通常为23个空格。应该避免使用Tab键,因为Tab键在不同的文本编辑器中会引起文本错位。(3可综合的RTL开发可综合性是指RTL代码设计符合综合工具的可综合规范,RTL代码和综合后网表的功能与设计意图一致。RTL的目标是通过综合Synthesize生成设计,每一个综合工具对Verilog结构都有它独

45、特的口味,这些结构使综合过程有效,也简化了综合后的分析。除上面给出的一般Verilog RTL编码原则外,Verilog RTL的开发应该面向综合。 综合工具通常会以某种方式解释RTL代码,确定它意味着何种类型的逻辑。由于综合过程本身要花费很长时间,因此,静态语法检查工具Lint可以在综合前浏览RTL代码,指出综合时可能会遇到的语法问题和错误,是按照Linux/Unix软件编程工具Glint和Clint的方式命名的。极力推荐设计者将Lint过滤过程加入到设计流程中,如在makefile中,此过程会早期发现许多设计错误和违反代码风格的地方,迫使工程师在综合前必须先检查RTL编码。 3.7 可测性

46、设计 3.7.1 可测性基础 3.7.2 可测性结构设计 3.7.3 JTAG接口 3.7.1 可测性基础 据近年来的统计,对IC设计进行测试与验证所花的时间占到了整个设计过程的70%左右。IC产品在生产完成之后,还要进行测试,以判断产品的功能和性能是否合格。IC的测试包括以下几类:(1芯片生产后测试。(2芯片封装后进行电路测试。(3IC装上PCB后测试。(4系统成套完成后测试。(5在使用现场测试。 如果IC产生故障,在不同的场合检测并排除故障,其测试成本的开销相差巨大。根据有关统计资料表明,同样的产品,如果以芯片生产后的检测成本为$1计,则封装后的电路检测成本为$10,PCB上完成检测的成本

47、为$100,在系统上完成需要$1000,而在现场完成同样的工作高达$104。可见,在集成电路生产和使用过程中,尽可能早地发现产品的故障,对降低生产成本和使用成本具有重大的意义。通常,将芯片生产后的测试和封装完成后的电路检测称为工厂测试,由IC制造商完成。芯片封装完成后的电路测试及以后各阶段的成品和半成品测试由用户完成。 IC的测试通常在测试设备上进行,将被测IC放在测试仪器上,测试设备根据需要产生一系列测试输入信号,加到输入端,在电路的输出端获得输出信号,将测试的实际输出与预期输出比较,如果两者相等,表明测试通过;否则,表明测试失败。 在理想情况下,测试通过,证明产品是合格的;否则,该产品不合

48、格。测试结果的可靠性取决于测试信号的正确性和完整性。测试用的输入信号称为测试矢量信号或测试码。测试码的产生方法称为测试码生成,测试码可以由人工生成,也可以由计算机自动生成,然而对于复杂的大规模IC,测试码的生成是一项耗时而又烦琐的工作。对于具有n个输入的IC组合电路,每一个测试矢量可以唯一决定一个无故障输出,因而每个测试矢量都可以是一个测试。n个输入的电路,最多有2n个测试矢量。对于一个具有n个并且在电路内具有m个寄存器的IC电路,最多有2n+m个测试矢量。很明显,当电路规模较大时,测试码的数目将过于庞大,使得测试实际上不可能进行。 1966年,J. P. Roth提出了一个组合电路测试生成的

49、完全算法,称为D算法。D算法从理论上首先解决了组合电路的测试生成问题,即任何一个组合电路中任意单故障都可以采用D算法找到检测该故障的测试码。D算法是一种完备的、便于计算机实现的算法。随后,许多学者对D算法进行了改进,以克服D算法对解空间盲目搜索的缺点。1982年,P. Goel提出的PODEN算法和1983年H. Fajiwara、T. Shimono提出的面向扇出的FAN算法都是较好的改进算法,已经能够解决几千门组合电路的自动测试生成问题。上述算法都属于启发式方法。还有一类方法是F. F. Sellers等提出的布尔差分法,以及随机产生法等。相比之下,时序电路测试生成的研究进展比较缓慢。20

50、世纪80年代后期以来,时序电路的测试生成取得了一些进展,较著名算法的有ESSENTIAL算法等。 当一个IC系统设计完成后,需要对其进行功能仿真和验证。在仿真时,需要对被测系统的输入端施加一系列测试码,测试码的设计应以最小的测试码集合以获得最高的故障覆盖率。故障覆盖率是在测试码生成之后检验其正确性的指标,其值为: 若故障率达到95%以上,即可认为该测试码已达到要求。%100不可测故障数故障总数已测故障数故障覆盖率 随着IC系统的日益复杂,集成规模日趋庞大,测试生成处理开销巨大。此外,与IC的内部接点相比,I/O引脚要少得多,根本无法将所有需要激励和观察的节点全部引出。很明显,如果只考虑改良测试

51、方法,测试问题将成为十分困难的问题,远不能适应电路集成度增长的发展要求。积极的方法是在电路设计阶段就考虑电路的测试问题,即在设计电路逻辑功能的同时,为今后能够进行高效的测试提供方便,这就是可测性设计。图3-15表示了测试开销与芯片集成规模之间的关系,图中曲线UD表示无约束设计,直线HD表示可测性设计。普通设计方法中,测试开销将随着IC电路规模的增大呈指数规律上升,以至当电路规模大于某种程度时,测试事实上将成为不可能。采用可测性设计后,测试开销与集成规模呈线性增长关系。因此,对于VLSI IC设计,可测性设计是必不可少的。 在可测性设计中,需要解决的另一个问题是如何评估一个设计完成的电路的测试难

52、易程度,即可测性分析。可测性分析是对一个设计完成的电路或待测电路不进行故障模拟就能定量地估计其测试难易程度的一类方法,包括以下三方面的内容:(1可控制性Controllability):通过电路的原始输入向电路中的某个节点赋规定值0或1难易程度的度量。(2可观察性Observability):通过电路的输出了解电路中某个节点值的难易程度。(3可测性testability):可控制性和可观察性的结合,是电路中故障检测难易程度的度量。 可测性分析是对可控制性、可观察性和可测性的定量分析,其计算复杂度不应高于测试生成复杂性,否则就失去了实际价值。此外,可测性分析的结果应具有足够的精确性,即通过可测性

53、分析获得的结果,应能真实反映电路中故障检测的难易程度。目前存在多种可测性分析算法,如基于传递因子法的TEMS算法、CAMELOT算法;基于成本分析法的TEST/80算法、SCOAP算法等;以及基于信号概率法的PREDICT算法、STAFAN算法等。 引发IC发生故障的原因千差万别,故障的形式多种多样。为了便于分析和判断故障,需要将故障的特征进行抽象和分类,将在某一层次呈现同样效果的故障归并成一类,并使用同一种描述方法,这种故障描述方式称为故障模型。故障模型应具备精确性和易处理性两个特点,以便准确地反映某一类故障对电路和系统的影响,并进行各种运算处理。按照系统构成的不同层次,可以建立不同层次的故

54、障模型,如功能块故障模型、逻辑门级故障模型和晶体管级故障模型,其中逻辑门级故障是一类主要的故障,可分为以下几类:(1固定故障Stuck-at Fault):最常见的逻辑故障,指电路中某个信号线输入/输出的逻辑电平固定不变,可分为单固定故障和双固定故障。(2桥接故障Bridging Fault):两根或者多根信号线连接在一起而引起的电路发生的故障称为桥接故障。桥接故障有明显的规律性,即在搭线处实现线逻辑,正逻辑时实现的是线与功能,负逻辑时实现的是线或功能。(3固定开路故障Stuck-open Fault):是CMOS电路特有的一种故障,与固定故障不同,固定故障将故障门作为组合电路处理,而固定开路

55、故障具有时序电路的特征。 (4时滞故障Delay Fault):固定故障和桥接故障是一种静态故障,而时滞故障是一种动态故障,这种故障在低频时工作时正常,随着信号频率的提高,元件的延迟时间有可能超过规定的值,从而导致时序配合上的错误,使电路的功能出错,这种故障称为时滞故障。(5冗余故障Roundance Fault):除了上述故障外,还有一类故障,要么它是不可激活的,要么是无法检测出来的,这类故障称为冗余故障。这种故障的特点是通常不影响电路的逻辑功能。 故障模拟是测试生成中不可缺少的辅助工具,是指在输入矢量中插入故障,应用故障模拟算法,测试输入矢量的故障覆盖率。如果故障覆盖率达到要求,则所用的输

56、入矢量作为故障字典,供测试时使用。常用的故障模拟方法包括:(1并行故障模拟:指计算机的字长有几位,则充分利用计算机字长的每一位对几个输入组合并进行模拟,然后,根据电路的正常状态和故障状态的输出值,判断哪一组输入为测试该故障的测试码。 (2演绎故障模拟:对电路的故障进行演绎运算,求出可以测试故障的一种测试方法。演绎故障模拟法从电路原始输入端上的故障表开始演绎运算,直到求出该电路的原始输出端的故障表,一次就可以计算出该测试码能够检测的全部故障。这一过程可以利用故障表传播原理完成。(3同时故障模拟:与演绎故障模拟的基本思想是一致的,都使用了故障表的传播,但在这一方法中,故障电路和正常电路同时处理,因

57、此,称为同时故障模拟。在同时故障模拟中,用模拟代替了集合运算,从而减少了运算量。 3.7.2 可测性结构设计 测试码自动生成需要复杂的计算,在大规模IC中,往往包含有大量的时序电路和寄存器,使得测试码生成问题更为复杂。因此,只在测试码生成方法上进行研究,不能适应IC技术的发展。采用可测性设计DFT:Design for Test是一个积极而又具有良好前景的发展方向。所谓可测性设计,就是在IC设计阶段就考虑电路的可测性,使设计得到的系统容易被测试,容易找到测试码。可测性设计的主要目的不是Functional Testing,而是Manufacturing Testing,验证IC内部的电路结构是

58、否有制造缺陷。采用可测性的设计方法可以给测试工作带来很多益处,如减少测试时间、简化测试过程和提高故障覆盖率等。 在可测性设计中,应注意以下几个问题:(1测试矢量尽可能少。(2容易生成测试矢量。(3测试码生成时间少。 (4对其它电路的影响最小。 可测性设计的理论基础是可控制性和可观察性。对于测试而言,可控制性就是使得IC中各节点的电平值易于被外部信号控制,以便能够方便地对故障敏化。可观察性就是能够方便地从外部输出端口观察内部故障的情况。换言之,要使内部故障能够传播到输出端。对于时序电路来说,如果能够方便地控制和观察IC内部存储元件的状态,那么时序电路测试生成所面临的问题是处理组合电路,从而从根本

59、上减轻测试生成的负担。 目前主要采用四种方法:(1专门测试设计 专门测试设计Ad-hoc Testing是针对某一特定电路对其进行修改,以便进行测试。常用方法包括大型时序电路的分块方法、增加测试点、加入多路选择器和提供状态复位等。一般地说,专门测试设计技术是设计者长年设计积累的设计技巧,对于解决复杂电路的测试是相当有效的。 (2扫描测试技术 扫描Scan测试技术是可测性设计的一种方法,可应用于任何规则的IC,扫描设计能够提供较高质量的测试码,使测试设计过程自动化,并全面缩短测试运行时间。为了充分利用扫描设计技术的潜力,在设计时必须严格遵守可测性设计规则。此外,扫描测试技术需要额外的硬件开销,即

60、插入扫描寄存器链。在扫描设计中,应用最广泛的是由IBM公司首创的电平敏感扫描设计,有两个基本原则:第一,电路是电平敏感的,采用电平触发代替边沿触发,可以克服竞争问题;第二,所有的寄存器都可以转变成移位寄存器。在LSSD中,基本单元是移位寄存锁存器SRL:Shift Register Latch),即扫描寄存器,在被测电路的周围插入扫描寄存器,将这些存储单元连成扫描路径,形成一个扫描链Scan Chain),改善IC内部电路测试工作的可控制性和可观察性,提高测试工作的效率。 (3内建自测试 内建自测试BIST:Built-in self-test技术是指在芯片内部产生测试码,并对测试结果进行分析

温馨提示

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

评论

0/150

提交评论