吉林大学专用集成电路设计.ppt_第1页
吉林大学专用集成电路设计.ppt_第2页
吉林大学专用集成电路设计.ppt_第3页
吉林大学专用集成电路设计.ppt_第4页
吉林大学专用集成电路设计.ppt_第5页
已阅读5页,还剩147页未读 继续免费阅读

下载本文档

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

文档简介

1、a,1,HDL语言与ASIC原理授课教师:高延军联系电话a,2,参考教材,1、专用集成电路【美】Micheal john sebastian smith 著 虞惠华 汤庭鳌等译,电子工业出版社 国外电子与通信教材系列 2、Verilog HDL程序设计教程 王金明编著,人民邮电出版社 3、VerilogHDL高级数字设计 美Michael D. Ciletti 著 4、VerilogHDL数字系统设计教程 夏宇闻 编著,北京航空航天大学出版社,HDL语言与ASIC原理,a,3,课程简介: HDL语言与ASIC原理课程从浅到深全面地介绍专用集成电路的设计方法和过程。由于

2、本课程的课时有限,因此,对于多个教材的内容进行选择和取舍,根据专业方向和学时限制,选择了参考教材中部分章节内容组成了HDL语言与ASIC原理作为本课程的教学内容。 希望通过本课程的学习,使微电子专业的同学对ASIC的设计方法有一个基本的认识,为今后从事与该方向相关的工作打下一个基础,HDL语言与ASIC原理,a,4,课程主要内容: 第一部分 绪论 第二部分 Verilog HDL 语言 第三部分 ASIC库设计 第四部分 实践篇,HDL语言与ASIC原理,a,5,第一部分 绪论 1.1 概述 专用集成电路ASIC(Application Specific Integrated Circuits

3、)技术是在集成电路发展的基础上,结合电路和系统的设计方法,利用ICCAD/EDA/ESDA等计算机辅助技术和设计工具,发展而来的一种把实用用电路或电路系统集成化的设计方法。 定义:将某种特定应用电路或电路系统用集成电路的设计方法制造到一片半导体芯片上的技术称为ASIC技术。 特点:体积小,成本低,性能优,可靠性高,保密性强,产品综合性能和竞争力好,a,6,1.1.1 集成电路的发展历程 1947年12月Bell实验室肖克莱、巴丁、布拉顿发明了第一只点接触金锗晶体管,1950年肖克莱、斯帕克斯、迪尔发明单晶锗NPN结型晶体管。 1952年5月英国皇家研究所的达默提出集成电路的设想。 1958年德

4、克萨斯仪器公司基尔比为首的小组研制出第一块由12个器件组成的相移振荡和触发器集成电路。 这就是世界上最早的集成电路,也就是现代集成电路的雏形或先驱,a,7,集成电路的发展除了物理原理外还得益于许多新工艺的发明: 50年美国人奥尔和肖克莱发明的离子注入工艺; 56年美国人富勒发明的扩散工艺; 60年卢尔和克里斯坦森发明的外延生长工艺; 60年kang和Atalla研制出第一个硅MOS管; 70年斯皮勒和卡斯特兰尼发明的光刻工艺等等,使晶体管从点接触结构向平面结构过渡并给集成电路工艺提供了基本的技术支持。因此,从70年代开始,第一代集成电路才开始发展并迅速成熟。 此后40多年来,IC经历了从SSI

5、(Small Scale ntegreted)-MSI-LSI-VLSI-ULSI的发展历程。现在的IC工艺已经接近半导体器件的极限工艺。以CMOS数字IC为例,在不同发展阶段的特征参数见表11,a,8,表1-1 集成电路不同发展阶段的特征参数主要特征,a,9,1.1.2集成电路的分类 可以按器件结构类型、集成电路规模、使用基片材料、电路功能以及应用领域等方法划分。 双极型 TTL ECL NMOS 单片IC MOS型 PMOS CMOS BiMOS 按结构分类 BiMOS BiCMOS 混合IC 厚膜混合IC 薄膜混合IC,a,10,按规模分类 SSI/MSI/LSI/VLSI/ULSI/G

6、SI 组合逻辑电路 数字电路 时序逻辑电路 按功能分类 模拟电路 线性电路 非线性电路 数模混合电路,a,11,1.1.3 ASIC的设计手段 设计手段的演变过程 IC的设计方法和手段经历了几十年的发展演变,从最初的全手工设计发展到现在先进的可以全自动实现的过程。这也是近几十年来科学技术,尤其是电子信息技术发展的结果。从设计手段演变的过程划分,设计手段经历了手工设计、计算机辅助设计(ICCAD)、电子设计自动化EDA、电子系统设计自动化ESDA以及用户现场可编程器阶段,a,12,1原始手工设计: 设计过程全部由手工操作,从设计原理图,硬件电路模拟,到每个元器件单元的集成电路版图设计,布局布线直

7、到最后得到一套集成电路掩膜版,全部由人工完成。 设计流程为:设计原理图,硬件电路,电路模拟,元器件版图设计,版图布局布线,(分层剥离,刻红膜,初缩精缩,分步重复)制版,流片,成品,a,13,2计算机辅助设计: 从70年代初开始,起初仅仅能够用个人计算机辅助输入原理图,接着出现SPICE电路模拟软件,逐渐开始ICCAD的发展,后来越来越多的计算机辅助设计软件,越来越强的计算机辅助设计功能,不但提供了先进的设计方法和手段,更推动ICCAD技术向自动化设计发展。初期的ICCAD功能较少,只能对某些功能进行辅助设计,现在利用计算机辅助设计可以实现的功能大致包括:电路或系统设计,逻辑设计,逻辑、时序、电

8、路模拟,版图设计,版图编辑,反向提取,规则检查等等,a,14,3用计算机辅助工程CAE的电子设计自动化EDA: CAE配备了成套IC设计软件,为IC设计提供了完备、统一、高效的工作平台。使利用EDA设计LSI和VLSI成为可能。ICCAD和EDA以及半导体集成电路技术的发展使IC设计发生两个质的飞跃: (1)版图设计方面:除了传统的人机交互式方法对全定制版图进行编辑、绘图外,定制,半定制设计思想的确立使自动半自动布局成为可能。 (2)逻辑设计方面:逻辑综合软件的开发,使系统设计者只要用硬件描述语言(如VHDL语言)给出系统行为级的功能描述,就可以由计算机逻辑综合软件处理,得到逻辑电路图或网表,

9、优化了逻辑设计结果。 EDA设计流程:系统设计,功能模拟,逻辑综合,时序模拟,版图综合,后模拟,a,15,4电子系统设计自动化ESDA ESDA的目的是为设计人员提供进行系统级设计的分析手段,进而完成系统级自动化设计,最终实现SOC芯片系统。但ESDA仍处于发展和完善阶段,尚需解决建立系统级仿真库和实现不同仿真工具的协同模拟。 利用ESDA工具完成功能分析后,再用行为级综合工具将其自动转化成可综合的寄存器级RTL的HDL描述,最后就可以由EDA工具实现最终的芯片设计。 ESDA的流程:系统设计,行为级模拟,功能模拟,逻辑综合,时序模拟,版图综合,后模拟。然后由生产厂家制版,流片,成品,a,16

10、,5可编程器件的ASIC设计 可编程ASIC是专用集成电路发展的另一个有特色的分支,它主要利用可编程的集成电路如PROM,GAL,PLD,CPLD,FPGA等可编程电路或逻辑阵列编程,得到ASIC。其主要特点是直接提供软件设计编程,完成ASIC电路功能,不需要再通过集成电路工艺线加工。 可编程器件的ASIC设计种类较多,可以适应不同的需求。其中的PLD和FPGA是用得比较普遍得可编程器件。适合于短开发周期,有一定复杂性和电路规模的数字电路设计。尤其适合于从事电子系统设计的工程人员利用EDA工具进行ASIC设计,a,17,1.2 ASIC设计方法: 集成电路制作在只有几百微米厚的原形硅片上,每个

11、硅片可以容纳数百甚至成千上万个管芯。集成电路中的晶体管和连线视其复杂程度可以由许多层构成,目前最复杂的工艺大约由6层位于硅片内部的扩散层或离子注入层,以及6层位于硅片表面的连线层组成。 就设计方法而言,设计集成电路的方法可以分为全定制、半定制和可编程IC设计三种方式,a,18,1.2.1全定制设计简述 全定制ASIC是利用集成电路的最基本设计方法(不使用现有库单元),对集成电路中所有的元器件进行精工细作的设计方法。全定制设计可以实现最小面积,最佳布线布局、最优功耗速度积,得到最好的电特性。该方法尤其适宜于模拟电路,数模混合电路以及对速度、功耗、管芯面积、其它器件特性(如线性度、对称性、电流容量

12、、耐压等)有特殊要求的场合;或者在没有现成元件库的场合。 特点:精工细作,设计要求高、周期长,设计成本昂贵。 由于单元库和功能模块电路越加成熟,全定制设计的方法渐渐被半定制方法所取代。在现在的IC设计中,整个电路均采用全定制设计的现象越来越少,a,19,全定制设计要求: 全定制设计要考虑工艺条件,根据电路的复杂和难度决定器件工艺类型、布线层数、材料参数、工艺方法、极限参数、成品率等因素。 需要经验和技巧,掌握各种设计规则和方法,一般由专业微电子IC设计人员完成; 常规设计可以借鉴以往的设计,部分器件需要根据电特性单独设计; 布局、布线、排版组合等均需要反覆斟酌调整,按最佳尺寸、最合理布局、最短

13、连线、最便捷引脚等设计原则设计版图。 版图设计与工艺相关,要充分了解工艺规范,根据工艺参数和工艺要求合理设计版图和工艺,a,20,1.2.2.半定制设计方法简述 半定制设计方法又分成基于标准单元的设计方法和基于门阵列的设计方法。 基于标准单元的设计方法是:将预先设计好的称为标准单元的逻辑单元,如与门,或门,多路开关,触发器等,按照某种特定的规则排列,与预先设计好的大型单元一起组成ASIC。基于标准单元的ASIC又称为CBIC(Cell based IC)。 基于门阵列的设计方法是在预先制定的具有晶体管阵列的基片或母片上通过掩膜互连的方法完成专用集成电路设计。 半定制主要适合于开发周期短,低开发

14、成本、投资、风险小的小批量数字电路设计,a,21,1.2.3 基于标准单元的设计方法 该方法采用预先设计好的称为标准单元的逻辑单元,如门电路、多路开关、触发器、时钟发生器等,将它们按照某种特定的规则排列成阵列,做成半导体门阵列母片或基片,然后根据电路功能和要求用掩膜版将所需的逻辑单元连接成所需的专用集成电路。 单元库中所有的标准单元均采用定制方法预先设计,如同搭积木或砌墙一样拼接起来,通常按照等高不等宽的原则排列,留出宽度可调的布线通道,a,22,CBIC的主要优、缺点: 用预先设计、预先测试、预定特性的标准单元库,省时、省钱、少风险地完成ASIC设计任务。 设计人员只需确定标准单元的布局以及

15、CBIC中的互连。 标准单元可以置放于芯片的任何位置。 所有掩膜层是定制的; 可内嵌定制的功能单元; 制造周期较短,开发成本不是太高。 需要花钱购买或自己设计标准单元库; 要花较多的时间进行掩膜层的互连设计。 具有一个标准单元区与4个固定功能块的基于单元的ASIC示意图见图1.2,a,23,a,24,CBIC的设计和版图规则: 版心面积较小,无冗余元件,但建库工作量大, 所有掩膜层需定制,晶体管和互连由定制方法连接;可以内嵌定制的功能块;制造周期较短。 标准单元的版图结构见图1.3,两层金属的布局及布线见图1.4,a,25,图1.3 标准单元的版图结构,单元按等高不等宽的方式排列成行,行间留出

16、布线通道,金属1和金属2采取互相垂直运行。上方和下方的最底层金属分别为VDD和GAN(VSS)。在n阱区内进行P扩散形成P沟MOS器件,在P阱区N扩散形成N沟MOS器件。MOS器件的源漏之间采用金属栅或者多晶栅。源、漏(栅)开引线孔,经金属线互连构成电路。各单元与其它单元之间通过中心连接点的引线孔连接。在采用多层金属的结构中,金属层之间的连接也是通过特定的过孔实现,a,26,a,27,1.2.4 基于门阵列的ASIC 门阵列是将晶体管作为最小单元重复排列组成基本阵列,做成半导体门阵列母片或基片,然后根据电路功能和要求用掩膜版将所需的逻辑单元连接成所需的专用集成电路。用门阵列设计的ASIC中,只

17、有上面几层用作晶体管互连的金属层由设计人员用全定制掩膜方法确定,这类门阵列称为掩膜式门阵列MGA(masked gate array)。 门阵列中的逻辑单元称为宏单元,其中每个逻辑单元的基本单元版图相同,只有单元内以及单元之间的互连是定制的。客户设计人员可以从门阵列单元库中选择预先设计和预定特性逻辑单元或宏单元,进行定制的互连设计。门阵列主要适合于开发周期短,低开发成本的小批量数字电路设计,a,28,MGA门阵列可以分为: 通道式门阵列基本单元行与行之间留有固定的布线通道,只有互连是定制的。 无通道门阵列(门海)无预留的布线区,在门阵列掩膜层上面布线。 结构式门阵列结合CBIC和MGA的特点,

18、除了基本单元阵列外,还有内嵌的定制功能模块。芯片效率高,价格较低,设计周期短。 由于MGA的门阵基本单元是固定的,不便于实现存储器之类的电路。在内嵌式门阵列中,留出一些IC区域专门用于实现特殊功能。利用该内嵌区域可以设计存储器模块或其它功能电路模块,a,29,1.2.5.可编程ASIC 可编程逻辑器件(PLD,programable logic device)是一类标准的通用IC,对这类器件编程也可以实现ASIC功能。 可编程逻辑器件的特点是: 无定制掩膜层或逻辑单元; 设计周期短; 单独的大块可编程互连; 由可编程阵列逻辑,触发器或锁存器组成逻辑宏单元矩阵。 适合于短开发周期,有一定复杂性和

19、电路规模的数字电路设计。尤其适合于从事电子系统设计的工程人员利用EDA工具进行ASIC设计,a,30,常用可编程器件类型: 各类可编程只读存储器PROM(programable read-only memory); 通用阵列逻辑GAL(generic array logic) 可编程逻辑阵列PLA(programable logic array),由固定“或”阵列和可编程“与”阵列组成,熔丝型。 可编程阵列逻辑PAL (programable array logic),由固定“与”阵列和可编程“或”阵列组成,有熔丝型和可擦写。 可编程逻辑器件PLD(programable logic devi

20、ce)和复杂的可编程逻辑器件CPLD。适合于短开发周期,有一定复杂性和电路规模的数字电路设计。尤其适合于从事电子系统设计的工程人员利用EDA工具进行ASIC设计,a,31,1.2.6 现场可编程门阵列FPGA FPGA比PLD更大、更复杂,并具有现场可编程特性。其基本特点: 无定制掩膜层; 基本逻辑单元和互连采用编程的方法实现; 核心电路是规则的可编程基本逻辑单元阵列,可以实现组合逻辑和时序逻辑; 基本逻辑单元被可编程互连矩阵包围; 可编程I/O单元围绕着核心电路; 设计的ASIC一般都有冗余问题; 设计周期很短 ,但单片电路价格较高。 FPGA具有不同容量的系列产品,容量有万门级、十万门级、

21、百万门级等多种,a,32,a,33,a,34,1.3 设计流程图例 ASIC设计流程是指从电路输入到完成版图设计直到完成后仿真的整个过程: 1.设计输入 采用硬件描述语言(HDL)或电路图的输入方式输入电路原理图; 2. 逻辑综合采用HDL和逻辑综合工具产生网表,说明各逻辑单元的连接关系。 3. 系统划分将大系统划分成若干个ASIC模块。 4. 布图前仿真检查设计功能是否正确。 5. 布图规则在芯片上排列网表的模块。 6. 布局决定模块中单元的位置。 7. 布线单元与模块之间连线。 8. 提取确定互连的电阻和电容。 9. 布图后仿真检查加上互连线负载后的电路设计效果,a,35,a,36,1.4

22、 ASIC成本评述 IC设计需要根据电路功能和性能要求,选择电路形式、器件结构、工艺方案和设计规则,尽量减小芯片面积、降低设计成本、缩短设计周期,最终设计出正确、合理的掩膜版图,通过制版和工艺流片得到所需的集成电路。 从经济学的角度看,ASIC的设计要求是在尽可能短的设计周期内,以最低的设计成本获得成功的ASIC产品。 但是,由于ASIC的设计方法不同,其设计成本也不同,a,37,全定制设计周期最长,设计成本贵,设计费用最高,适合于批量很大或者对产品成本不计较的场合。 半定制的设计成本低于全定制,但高于可编程ASIC,适合于有较大批量的ASIC设计。 用FPGA设计ASIC的设计成本最低,但芯

23、片价格最高,适合于小批量ASIC产品。 现在的大部分ASIC设计都是以半定制和FPGA形式完成的,所以我们仅就具有可比性的FPGA、MGA和CBIC的设计成本进行比较、分析,a,38,1.4.1 ASIC工艺成本比较 半定制和FPGA可编程ASIC设计的元件成本比较: CBIC元件成本 MGA FPGA 按照一般的工艺规则,实现相同功能的FPGA的每门价格一般是MGA和CBIC价格的25倍。 但是半定制ASIC必须以数量取胜,否者,其设计成本要远远大于FPGA的设计成本。ASIC设计生产不单单要考虑元件成本,ASIC元件的批量大小、生产周期的长短,产品利润、产品寿命等等因素,也是决定采取哪种设

24、计方法、生产工艺和成本限制的重要因素,a,39,1.4.2 产品成本 任何产品的总成本可以分成固定成本和可变成本: 总成本产品固定成本产品可变成本售出量 固定成本与销售量无关,但分摊到每个售出产品的固定成本随销售量的增长而下降。 CBIC需要进行版图设计和流片,其固定成本较高,但一般批量较大,由于采取无冗余设计,芯片利用率高,摊到每个元件的成本较低; MGA只要进行掩膜互连设计和流片,有一定批量,但芯片利用率不高,存在一定的冗余,固定成本居中,每个产品的成本也居中; FPGA不需掩膜工艺,固定成本最低,但批量小,摊到每个元件的成本最高,a,40,1.4.2 产品成本 由于MGA和CBIC的固定

25、成本比较高,当销售量比较低时,MGA和CBIC的成本比FPGA高;当其数量增加到盈亏平衡点时,两者的成本相等。FPGA和MGA之间的盈亏平衡点的元件数量大约是2000个,FPGA和CBIC之间达到盈亏平衡点的元件数约是4000个,MGA和CBIC之间盈亏平衡点所需的时间约为20000个。 FPGA、MGA、CBIC之间的盈亏平衡点以及元件成本见图1.11,a,41,a,42,1.4.3 ASIC固定成本 ASIC固定成本包括工程师培训费和设计费(包括硬件、软件、电路设计、可测性设计、掩膜、仿真、测试程序)等。 FPGA的固定成本最低:通常利用比较简单的EDA工具和FPGA系统仿真软件等,就可以

26、由设计人员在普通计算机工作机房完成最终ASIC产品。 用MGA和CBIC方法实现的ASIC,除了需要一整套比较昂贵的EDA系统和仿真软件外,设计人员还要完成较复杂的系统设计、仿真、测试等工作,还要支付一次性工程费用NRE。需要支付掩膜成本、芯片生产、测试、封装等费用。其设计难度、周期、成本均大于FPGA,a,43,MGA和CBIC方式 ASIC设计周期基本上可以界定为从着手设计到完成ASIC版图设计和后模拟的过程。 而掩膜ASIC产品周期还应包括流片、测试、封装的过程。因此,除了设计周期较长外,值得一提的是,MGA和CBIC的工艺还存在一次流片失败的风险。 长的生产周期和流片风险对生产商的利润

27、有巨大影响。图1.13给出利润的模型,说明设计周期延长对产品利润的影响,a,44,a,45,1.4.2 ASIC可变成本 ASIC的可变成本主要由流片时的工艺、材料费用、合格率等因素决定。材料费用与硅圆片直径、成本、芯片面积、集成度、成品率等多种因素有关。 实际上,可变成本回随着时间和外界条件而变。按照摩尔的预测模型,芯片中晶体管数目每隔18隔月翻1倍,a,46,随着圆片尺寸不断增大,圆片加工成本、设备成本、维护运行成本都会发生变化。最小线宽、集成度、布线层数、工艺水平等的发展,会对合格率、加工费用等决定元件成本的诸多因素产生影响。所以可变成本会随着时间、工艺、成品率、经济形势、ASIC尺寸和

28、复杂程度而变。 对于任何新的工艺技术,一年后每门的价格下降40,两年后下降30。 对于线宽,85年为2微米,87年1.5微米,89年为1微米,9193年为0.8-0.6微米,9697年为0.5-0.35微米,9800年为0.25-0.18微米,目前工艺水平为0.13微米。图1.15给出每门价格以30左右的水平下降的趋势,a,47,a,48,1.5 ASIC单元库的来源 对于可编程ASIC,FPGA公司以成套设计工具形式提供几千美元的一套的逻辑单元库。 对于MGA和CBIC,可以有3种选择:ASIC供应商提供单元库;从第三方供应商处购买;自己建立自己的单元库。无论采用哪种方式,ASIC单元库的每

29、个单元必须包括:物理版图、行为级模型、Verilog HDL/VHDL模型、详细时序模型、测试策略、电路原理图、单元符号、连线负载模型、布线模型。 对于MGA和CBIC单元库,都需要完成单元设计和单元版图,a,49,1.5.1 IC 制造第一步-拉单晶 单硅晶棒,理论上最大直径可达45厘米,最大长度为3米,1.5集成电路制造工艺,a,50,1.5.2集成电路加工过程简介 一、硅片制备(切、磨、抛) *圆片(Wafer)尺寸与衬底厚度: 3 0.4mm 5 0.625mm 4 0.525mm 6 0.75mm,a,51,Process Flow of Annealed Wafer,Crystal

30、 Growth,Slicing切,Graphite Heater 石墨加热器,Si Melt,Si Crystal,Polishing磨,Wafering,High Temp. Annealing,Furnace,Annealed Wafer,Defect Free Surface by Annealing,Surface Improvement抛,Surface Defect Map,Polished Wafer,a,52,二、前部工序,a,53,三、后部封装 (在另外厂房,a,54,封装后实物照片举例,a,55,1.6 IC生产线模式,IC生产线主要有两种模式:大批量生产线与标准工艺生产线

31、。 1). 集成电路大批量生产线(IC Mass Production Line) 这是一种传统的IC生产线。其功能是大批量生产单品种(或品种系列)通用IC如各种DRAM生产线等。 建立这样一条生产线的资金已由数千万美元上升到数亿(10亿以上)美元,a,56,2). 标准工艺加工线 (Foundry) Foundry引入IC后,通常称之为晶圆代工线,它是用来制造用户特定设计的ASIC的一种方式,它运用成熟的标准工艺为多方用户服务,既保证有符合技术规范要求的性能,又保证有相当高的成品率,还要按照用户选择,提供辅助性的服务,包括设计程序、试验和封装等,a,57,Foundry的出现,是IC设计公司

32、赖于生存和发展的基础。也有相一些IC专业制造厂家利用别家的Foundry生产自己主导产品的配套产品。下面介绍Foundry的实例(TSM公司)。其投资及加工能力见下表。TSM公司标准加工线投资及加工能力,a,58,服务过程:ASIC设计-制版-芯片制造-探针测试-成品测试-产品交用户,ASIC设计服务:提供设计规划、符号库给用户进行功能验证和时序分析;提供设计工具供用户使用,服务方针:高质量、低成本、短周期,1,2,3,封装服务:高可靠的陶瓷封装;价格便宜的塑料封装,测试服务:产品探针测试及最终测试;测试程序生成与优化、测试培训、测试方案论证等,4,5,a,59,1、集成电路发展的方向 1)在

33、发展微细加工技术的基础上,开发超高速、超高集成度的电路。 2)迅速、全面地利用已达到的或已成熟的工艺技术、设计技术、封装技术、和测试技术等发展各种专用集成电路(ASIC,IC发展方向与我国IC的发展情况,从另一个角度来说,进入90年代以来,电子信息类产品的开发明显地出现了两个特点: 1、开发产品的复杂程度加深,出现SOC; 2、开发产品的上市时限紧迫,a,60,2、我国集成电路的发展现状 2002年中国信息技术趋势大会上专家指出的IC技术是IT领域热点技术之一;IC是整个电子信息产业乃至国民经济的基础。 目前我国的半导体集成电路生产分为三大类: IC设计公司(Fabless,无生产线 ) 国内

34、半导体芯片厂家的主流产品是5至6英寸硅片,大约占总量的三分之二强。随着上海华虹NEC公司8英寸生产线的投产,6至8英寸硅片的需求量将上升。 芯片加工厂(Foundry) 我国集成电路芯片制造业现己相对集中,主要分布在上海、北京、江苏、浙江等省市。 后工序(测试、封装、设备) 其中IC设计以人为主,脑力密集型,属高回报产业,a,61,3、我国集成电路生产能力方面: 1993年生产的集成电路为1.78亿块,占世界总产量的0.4%,相当于美国1969年的水平,日本1971年的水平。 1996年为7.09亿块,而1996年国内集成电路市场总用量为67.8亿块,国内市场占有率仅为10。 1999年为23

35、亿块,销售额70多亿元,国内市场占有率不足20,绝大部分依靠进口。 2000年需求量为180亿块,预计可生产32亿块。 总之,我国集成电路产业的总体发展水平还很低,与国外相比大约落后15年。但是,目前已具备0.25微米芯片设计开发和0.18微米芯片规模生产能力,以“方舟”、“龙芯”为代表的高性能CPU芯片开发成功,标志着我国已掌握产业发展的部分重大核心技术,a,62,第一部分 小结,本部分重点:了解ASIC设计原理与特点,设计思想,实现后的产品,如何用IC方法实现,a,63,第一部分结束语: 书山有路勤为径,学海无涯乐作舟,a,64,a,65,a,66,第二部分 VerilogHDL 语言,a

36、,67,第一讲 Verilog HDL设计方法概述,a,68,前言,1)专用集成电路(ASIC)和用户现场可编程门阵列(FPGA)的复杂度越来越高,2)把整个电子系统综合到一个芯片上-SOC的出现,1)由于电路制造工艺技术进步非常迅速,电路设计能力赶不上技术的进步,2)迫切需要一种共同的工业标准来统一对数字逻辑电路及系统的描述 能把系统设计工作分解为(前端)和(后端)两个互相独立而又相关的部分,HDL工业标准得 到了迅速的发展,a,69,1.1.硬件描述语言HDL(Hardware Description Language,硬件描述语言(HDL)是一种用形式化方法来描述数字电路和设计数字逻辑系

37、统的语言。它可以使数字逻辑电路设计者利用这种语言来描述自己的设计思想,然后利用EDA工具进行仿真,再自动综合到门级电路,再用ASIC或FPGA实现其功能,a,70,硬件描述语言的发展至今已有二十多年的历史,并成功地应用于设计的各个阶段:仿真、验证、综合等。 进入80年代后期,VHDL和Verilog HDL语言适应了这种趋势的要求,先后成为IEEE标准。 把硬件描述语言用于自动综合还只有短短的十几年的历史。最近几年来,用综合工具把可综合风格的HDL模块自动转换为电路发展非常迅速,在美国已成为设计数字电路的主流,a,71,Verilog HDL,PLI和SDF是Verilog语言的三个主要部分,

38、Verilog HDL 是一种描述电子设计的硬件描述语言 编程语言接口(PLI)是Verilog仿真器和一种编程语言如C语言之间路径和数据结构的接口 标准延时格式(SDF)是模型反标延时信息用的文件格式,a,72,1.2.Verilog HDL的历史,1.2.1.什么是Verilog HDL Verilog HDL是硬件描述语言的一种,用于数字电子系统设计。它允许设计者用它来进行各种级别的逻辑设计,可以用它进行数字逻辑系统的仿真验证、时序分析、逻辑综合,a,73,据有关文献报道,目前在美国使用Verilog HDL进行设计的工程师大约有60000人,全美国有200多所大学教授用 Verilog

39、 硬件描述语言的设计方法。 在我国台湾地区几乎所有著名大学的电子和计算机工程系都讲授Verilog有关的课程,a,74,1.2.2 Verilog HDL 的产生和发展,1981年Gateway Automation硬件描述语言公司成立;1983年该公司发布“Verilog HDL”及其仿真器;1985年推出改进产品Verilog HDL-XL;1983-1987年Verilog HDL可以描述硬件和测试激励的行为结构,Verilog-XL较快,特别在门级,并能处理万门以上的设计。Verilog-XL仿真器是解释型的,便于设计者交互地调试硬件描述,便于发现设计中出现的问题;1987年Synon

40、sys公司开始使用Verilog行为语言作为它综合工具的输入;1989年12月 Cadence公司并购了Gateway公司,a,75,1.2.2 Verilog HDL 的产生和发展,1990年初Cadence公司把Verilog HDL和Verilog-XL分成单独产品,发布了Verilog HDL,与VHDL竞争。Open Verilog International(OVI)成立,OVI由Verilog HDL的使用者和CAE供应商组成,制定标准。 1993年 几乎所有ASIC厂商支持Verilog HDL,认为Verilog-XL是最好的仿真器。OVI推出2.0版本的Verilog HD

41、L规范,IEEE接收将OVI的Verilog2.0作为IEEE标准的提案。 1995年12月,定出Verilog HDL的标准IEEE 1364,a,76,1.3 有哪几种硬件描述语言?各有什么特点,Verilog HDL - 较多的第三方工具的支持 - 语法结构比VHDL简单 - 学习起来比VHDL容易 - 仿真工具比较好使 - 测试激励模块容易编写,a,77,1.3 有哪几种硬件描述语言?各有什么特点,VHDL - 比VerilogHDL早几年成为I EEE标准; - 语法/结构比较严格,因而编写出的 模块风格比较清晰; - 比较适合由较多的设计人员合作完成 的特大型项目(一百万门以上,a

42、,78,Verilog HDL与C语言的比较,Verilog HDL语言是在C语言的基础上发展起来的。 语法结构 关键字与控制结构 运算符,a,79,1.4. Verilog HDL目前的应用情况,几年以来,EDA界一直对在数字逻辑设计中究竟采用哪一种硬件描述语言争论不休,目前的情况是两者不相上下。 Verilog HDL是专门为复杂数字逻辑电路和系统的设计仿真而开发的,本身就非常适合复杂数字逻辑电路和系统的仿真和综合。 另外目前Verilog HDL-A标准还支持模拟电路的描述。 因此在混合信号的电路系统的设计中,它必将会有更广泛的应用。 特大型(几百万门级以上)的系统级(System)设计

43、,则VHDL更为适合,a,80,1.5 采用Verilog HDL设计复杂数字电路的优点,传统的设计方法: - 查用器件手册; - 选用合适的微处理器和电路芯片; - 设计面包板和线路板; - 调试; - 定型; - 设计复杂的系统(几十万门以上)极其困难,a,81,现代的设计方法: - 选用合适的 EDA仿真工具; - 选用合适电路图输入和HDL编辑工具; - 逐个编写可综合HDL模块; - 逐个编写HDL测试模块; - 逐个做Verilog HDL 电路逻辑访真; - 编写Verilog HDL总测试模块; - 做系统电路逻辑总仿真,1.5采用Verilog HDL设计复杂数字电路的优点,

44、a,82,现代的设计方法(续前): - 选用合适的基本逻辑元件库和宏库 - 租用或购买必要的IP核; - 选用合适的综合器; - 进行综合得到门级电路结构; - 布局布线,得到时延文件; - 后仿真; - 定型, FPGA编码或ASIC投片,1.5采用Verilog HDL设计复杂数字电路的优点,a,83,1.6采用硬件描述语言(Verilog HDL)的设计流程简介-Top-Down 设计思想,a,84,自顶向下Top-down的设计流程,CPU,ALU,RAM,STATE,IR,ACCUM,PC,CPU,CPU,ALU,PC,ACCUM,STATE,IR,RAM,1整个设计的行为化建模和

45、功能正确性仿真,2设计分至主要的部分且每个 部分按RTL行为级建模 *仿真每个部分 *对整个设计重仿真,3按库元件生成每个部分的结构化模型 *每个主要部分重仿真 *对整个设计重仿真,a,85,自底向上Bottom-up的设计流程,CPU,ALU,RAM,STATE,IR,ACCUM,PC,32-bit Adder,addbit,addbit,addbit,ALU,Decoder,Add32,Mult,1-bit Adder,1分析设计功能的正确性,2整个设计建模和仿真,3中间层元件建模和仿真,4最底层元件建模和仿真,a,86,用EDA设计数字系统的流程,HDL,设,计,文,件,HDL,功,能,

46、仿,真,HDL,综合,优,化,布,局,布,线,布,线,后,门,级,仿,真,图,1-6-3 HDL,设,计,流,程,图,电,路,功,能,仿,真,电,路,图,设,计,文,件,电,路,制,造,工,艺,文,件,或,FPGA,码,流,文,件,有,问,题,没,问,题,有,问,题,没,问,题,有,问,题,没,问,题,与,实,现,逻,辑,的,物,理,器,件,有,关,的,工,艺,技,术,文,件,确定实现电路,的具体库名,a,87,为什么要用硬件描述语言来设计,电路的逻辑功能容易理解; 便于计算机对逻辑进行分析处理; 把逻辑设计与具体电路的实现分成两个独立 的阶段来操作; 逻辑设计与实现的工艺无关; 逻辑设计的资

47、源积累可以重复利用(IP core); 可以由多人共同更好更快地设计非常复杂 的逻辑电路(几十万门以上的逻辑系统,a,88,两者建模能力的比较,a,89,1.7小结(1,采用Verilog HDL设计方法比采用电路图输入的方法更有优越性,这就是为什么美国等先进工业国家在进入九十年代以后纷纷采用HDL设计方法的原因。在两种符合IEEE标准的硬件描述语言中,Verilog HDL与VHDL相比更加基础、更易学习,掌握HDL设计方法应从学习Verilog HDL设计方法开始。Verilog HDL可用于复杂数字逻辑电路和系统的总体仿真、子系统仿真和具体电路综合等各个设计阶段,a,90,1.7小结(2

48、,由于TOP_DOWN的设计方法是首先从系统设计入手,从顶层进行功能划分和结构设计。系统的总体仿真是顶层进行功能划分的重要环节,这时的设计是与工艺无关的。由于设计的主要仿真和调试过程是在高层次完成的所以能够早期发现结构设计上的错误,避免设计工作的浪费,同时也减少了逻辑仿真的工作量。自顶向下的设计方法方便了从系统级划分和管理整个项目,使得几十万门甚至几百万门规模的复杂数字电路的设计成为可能,并可减少设计人员,避免不必要的重复设计,提高了设计的一次成功率,a,91,1.7小结(3,从底向上的设计在某种意义上讲可以看作上述TOP_DOWN设计的逆过程。虽然设计也是从系统级开始,即从设计树的树根开始对

49、设计进行逐次划分,但划分时首先考虑的是单元是否存在,即设计划分过程必须从存在的基本单元出发,设计树最末枝上的单元要么是已经制造出的单元,要么是其它项目已开发好的单元或者是可外购得到的单元,a,92,1.7小结(4,自顶向下的设计过程中在每一层次划分时都要对某些目标作优化,TOP_DOWN的设计过程是理想的设计过程,它的缺点是得到的最小单元不标准,制造成本可能很高。从底向上的设计过程全采用标准基本单元,通常比较经济,但有时可能不能满足一些特定的指标要求。复杂数字逻辑电路和系统的设计过程通常是这两种设计方法的结合,设计时需要考虑多个目标的综合平衡,a,93,1.8 思考题,1. 什么是硬件描述语言

50、?它的主要作用是什么? 2.目前世界上符合IEEE标准的硬件描述语言有哪两种?它门各有什么特点? 3.简单叙述一下利用EDA工具并采用硬件描述语言(HDL)的设计方法和流程。 4.采用硬件描述语言设计方法的优点是什么?有什么缺点,a,94,第二讲Verilog 语法的基本概念,a,95,Verilog HDL 的抽象级别,行为级:有关行为和技术指标模块,容易理解,开关级:有关物理形状和布局参数的模块,非常难理解,RTL级:有关逻辑执行步骤的模块,较难理解,门级 :有关逻辑部件互相连接的模块,很难理解,a,96,抽象级别和综合与仿真的关系,行为仿真:行为的验证和验证模块分割的合理性 前仿真 :即

51、 RTL级仿真,检查有关模块逻辑执行步骤是否正确。 逻辑综合:把RTL级模块转换成门级 。 后仿真:用门级模型做验证,检查门的互连逻辑其功能是否正确。 布局布线: 在门级模型的基础上加上了布线延时 布局布线后仿真:与真实的电路最接近的验证,a,97,2.1 verilog 模块的基本概念 我们将通过几个简单的Verilog HDL程序,从中了解Verilog 模块的特性,a,98,行为级,例2.1 二选一多路器 module muxtwo (out, a, b, sl); input a,b,sl; output out; Reg out; always (sl or a or b) if (

52、!sl) out = a; else out = b; endmodule 二选一多路器如何工作,a,b,sl,out,a,99,结构级,例:2.2 带有与非门的二选一多路器 module muxtwo (out, a, b, sl); input a,b,sl; output out; not u1(ns1,sl); and #1 u2(sela,a,nsl); and #1 u3 (selb,b,sl); or #2 u4(out ,sela,selb); endmodule not等是Verilog语言的保留字 如何把例2.1自动转换为例2.2的描述模块,out,a,100,综合的概念,

53、如果我们在编写Verilog模块时,不但符合语法,还符合一些基本规则,就可以通过计算机上运行的工具把例2.1自动转换为例2.2的描述模块,这个过程叫做综合(Synthesis)。 例2.2的描述模块非常容易与某种工艺的基本元件逐一对应起来,再通过布局布线工具自动的把它转变为某种具体工艺的电路布线结构。 请大家思考:如何实现这种转变,a,101,下面再看几个简单的模块,目的是初步了解Verilog语法最重要的几个基本概念:并行性、层次结构性、可综合性和测试平台(testbench,a,102,例2.3 三位加法器 module adder ( count,sum,a,b,cin ); input

54、 2:0 a,b; input cin; output count; output 2:0 sum; assign count,sum = a + b + cin; endmodule 这个例子通过连续赋值语句描述了一个名为adder的三位加法器可以根据两个三比特数a、b和进位(cin)计算出和(sum)和进位(count)。 从例子中可以看出整个Verilog HDL程序是嵌套在module和 endmodule 声明语句里的,a,103,例2.4比较器 module compare ( equal,a,b ); output equal; /声明输出信号equal input 1:0 a,

55、b; /声明输入信号a,b assign equal=(a= =b)?1:0; /*如果a、b 两个输入信号相等,输出为1。否则为0*/ endmodule 这个程序通过连续赋值语句描述了一个名为compare的比较器。对两比特数 a、b 进行比较,如a与b相等,则输出equal为高电平,否则为低电平。在这个程序中,/*.*/和/.表示注释部分,注释只是为了方便程序员理解程序,对编译是不起作用的,a,104,例2.5 三态驱动器(1) module trist2(out,in,enable); output out; input in, enable; bufif1 mybuf(out,in,

56、enable); endmodule 这个程序描述了一个名为trist2的三态驱动器。程序通过调用一个在Verilog语言提供的原语库中现存的三态驱动器实例元件bufif1来实现其逻辑功能。这个调用过程也称为库元件bufif1的实例化,在本模块中他被具体化为mybuf,a,105,例2.6三态驱动器(2) module trist1(out,in,enable); output out; input in, enable; mytri tri_inst(out,in,enable); /调用由mytri模块定义的实例元件tri_inst endmodule module mytri(out,i

57、n,enable); output out; input in, enable; assign out = enable? in : bz; endmodule 在这个例子中存在着两个模块。模块trist1调用由模块mytri定义的实例元件tri_inst。模块trist1是顶层模块。模块mytri则被称为子模块,a,106,小 结,1.Verilog HDL程序是由模块构成的。每个模块的内容都是嵌在module和endmodule两个语句之间。每个模块实现特定的功能。模块是可以进行层次嵌套的。正因为如此,才可以将大型的数字电路设计分割成不同的小模块来实现特定的功能,最后通过顶层模块调用子模块

58、来实现整体功能。 2.每个模块要进行端口定义,并说明输入输出口,然后对模块的功能进行行为逻辑描述。 3.Verilog HDL程序的书写格式自由,一行可以写几个语句,一个语句也可以分写多行。 4.除了endmodule语句外,每个语句和数据定义的最后必须有分号。 5.可以用/*.*/和/.对Verilog HDL程序的任何部分作注释。一个好的,有使用价值的源程序都应当加上必要的注释,以增强程序的可读性和可维护性,a,107,思考题,1.构成模块的关键词是什么? 2.什么叫综合?通过综合产生的是什么?产生的结果有什么用处? 3.仿真是什么?为什么要进行仿真?仿真可以在几个层面上进行?每个层面的仿

59、真有什么意义? 4.模块的端口是如何描述的? 5.在引用实例模块的时候,如何在主模块中连接信号线,a,108,第三讲 常用Verilog语法之一 -模块的结构、数据类型和变量、基本的运算符号,a,109,3.1 模块的结构 Verilog的基本设计单元是“模块”(block)。一个模块是由两部分组成的,一部分描述接口,另一部分描述逻辑功能,即定义输入是如何影响输出的。下面举例说明: 从上面的例子可以看出,Verilog结构完全嵌在module和endmodule声明语句之间,每个Verilog程序包括四个主要部分:端口定义、I/O说明、内部信号声明、功能定义,a,b,c,d,module bl

60、ock(a,b,c,d); input a,b; output c,d; assign c=a|b; assign d=a endmodule,a,110,3.1.1 模块的端口定义 模块的端口声明了模块的输入输出口。其格式如下: module 模块名(口1,口2,口3,口4,a,111,3.1.2 模块内容(1) 模块的内容包括I/O说明、内部信号声明、功能定义。 1.I/O说明的格式如下: 输入口:input 端口名1,端口名2,,端口名i; /(共有i个输入口) 输出口:output 端口名1,端口名2,,端口名j; /(共有j个输出口) I/O说明也可以写在端口声明语句里。其格式如下:

温馨提示

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

评论

0/150

提交评论