大规模知识点总结_第1页
大规模知识点总结_第2页
大规模知识点总结_第3页
大规模知识点总结_第4页
大规模知识点总结_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

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

文档简介

1、大规模集成电路设计及应用第一章 概论系统:硬件开发、软件开发、软硬件协同设计集成电路发展史:(1)1904年,英国电气工程师Fleming发明真空二极管,标志着世界从此进入了电子时代(2)1906年,美国Lee De Forest 发明真空三极管,为电子计算机的发展奠定了基础(3)1946年,美国宾夕法尼亚大学诞生了第一台电子计算机(4)1940年,贝尔实验室Russel发明PN结(5)1947年,贝尔实验室John Bardeen和Walter Brattain 发明点接触晶体管(Point Contact Transistor)(6)1951年,贝尔实验室William Shockley发

2、明了结型晶体管(Junction Transistor)(7)1958年,发明集成电路(采用一定的制造工艺,把整个电路的元器件制作在同一块半导体基片上,构成特定功能的电子电路)(8)1958年,TI公司Jack Kilby用5个集成原件做出了简单振荡器(9)1959年,发明平面工艺技术(10)1957年,Fairchild公司Robert Noyce及同事Jean Hoerni发明了刻蚀氧化硅工艺,使复杂集成电路成为可能(11)1960年,Bell实验室Kahng和Atalla造出第一个MosFet(12)1967年,Bell实验室的Kahng和Sze发明浮栅(Floating Gate)工艺

3、(13)1970年,Intel公司 1K DRAM芯片(硅栅PMOS工艺)(14)1971年,Intel4004(硅栅PMOS工艺)我国集成电路发展史(1)1956年,研制出第一个锗晶体管(2)1965年,研制出第一片集成电路集成电路的分类按集成电路规模小规模(Small Scale IC) 100M按制造工艺双极ICCMOS ICBi-CMOS IC按处理信号的类型模拟集成电路数字集成电路数模混合集成电路按设计方法全定制设计半定制设计可编程设计按生产目的通用集成电路专用集成电路(ASIC)集成电路设计方法设计要求开发时限尽可能短计算设计费用,制造费用,人工费等设计成本设计正确性设计工程集成化

4、要求更好的EDA工具可测试性一般的设计流程系统描述行为级仿真及优化前端设计(寄存器传输级设计综合门级综合仿真测试生成)后端设计(电路设计及分析物理设计及优化版图设计验证)芯片制造集成电路设计能力的发展趋势:芯片复杂度的增长速度超过了设计能力的增长速度解决方案:采用更有效的设计方法和设计流程采用更有效、更适合的EDA设计工具采用更高层次的设计综合方法和最强有力的验证手段,保证设计的一次成功采用低功耗设计方法解决功耗问题在前端设计时充分考虑后端设计的要求,减少迭代次数采用可测试设计方法,保证芯片的可测试性层次化设计:自顶向下、自底向上抽象层次结构化设计VLSI制造工艺与版图设计集成电路是由一些单个

5、的器件组成的,每种器件基于版图设计由若干工艺步骤制造完成。器件和电路的性能与版、工艺等有密切关系。集成电路平面工艺基础:热氧化工艺、扩散工艺、淀积工艺、光刻工艺CMOS集成电路基本制造工艺:将NMOS器件和PMOS器件同时制作在同一硅衬底上分为三类:P阱CMOS工艺、N阱CMOS工艺、双阱CMOS工艺(使用双阱工艺不但可以提高器件密度,还可以有效的控制寄生晶体管的影响,抑制闩锁现象)双阱CMOS工艺主要步骤:(1)衬底准备:衬底氧化,生长Si3N4(2)光刻P阱,形成阱版,在P阱区腐蚀Si3N4,P阱注入(3)去光刻胶,P阱扩散并生长SiO2(4)腐蚀Si3N4,N阱注入并扩散(5)有源区衬底

6、氧化,生长Si3N4,有源区光刻和腐蚀,形成有源区版(6)N管场注入光刻,N管场注入(7)场区氧化,有源区Si3N4和SiO2腐蚀,栅氧化,沟道掺杂(8)多晶硅淀积、掺杂、光刻和腐蚀,形成多晶硅版(9)NMOS管光刻和注入硼,形成N+版(10)PMOS管光刻和注入磷,形成P+版(11)硅片表面生长SiO2薄膜(12)接触孔光刻,接触孔腐蚀(13)淀积铝,反刻铝,形成铝连线集成电路中的元件:双极型晶体管(PNP、NPN)、MOS晶体管(NMOS、PMOS、CMOS)、二极管、电阻、电容、电感版图设计基础:设计方法:手工设计,优点:有利于充分利用芯片面积,并能满足多种电路性能要求。缺点:效率低、周

7、期长、容易出错计算机辅助设计(CAD):可以降低设计费用和缩短设计周期自动化设计(EDA):可以进行自动布局设计、自动布线设计并根据设计要求进行设计优化,最终输出版图(2)版图设计的输入是用工业标准DEF描述的电路网表,输出是用工业标准CIF/GDSII描述的版图。整个版图设计可分为:划分(Partition)、布图规划(Floor-planning)、布局(Placement)、布线(Routing)、压缩(Compaction) 器件设计技术MOSFET:Metal Oxide Semi-conductor Field Effect Transistor是构成VLSI的基本原件CMOS:C

8、omplementary Metal Oxide Semiconductor互补金属氧化物半导体NMOS:N-type Metal Oxide Semiconductor 门电压为高时导通,为低时关闭PMOS:P-type Metal Oxide Semiconductor 门电压为低时导通,为高时关闭基本逻辑电路:组合逻辑电路:电路中没有存储单元,逻辑电路的输出完全由当前的输入决定时序逻辑电路:电路中有存储单元,逻辑电路的输出由原来状态和当前的输入决定 Verilog HDL建模与仿真常见的英文缩写:PLA:Programmable Logic Array 可编程逻辑阵列PAL:Progra

9、mmable Array Logic 可编程阵列逻辑PLD:Programmable Logic Device 可编程逻辑器件CPLD:Complex Programmable Logic Device 复杂可编程逻辑器件FPGA:Field Programmable Gate Array 现场可编程门阵列ASIC:Application Specific Integrated Circuit 专用集成电路Verilog HDL是硬件描述语言的一种,是目前应用最广泛的硬件描述语言之一,用于数字系统的设计。设计者用它进行数字逻辑系统的仿真模拟、时序分析、逻辑综合。VHDL与Verilog HDL

10、的比较:VHDL发展的较早,语法严格,而Verilog HDL是在C语言的基础上发展起来的一种硬件描述语言,语法较自由Verilog HDL能够描述电路的5中抽象级别:系统级、算法级、RTL级、门级、开关级系统级:用高级结构实线外部性能的模型算法级:用高级结构实线算法运行的模型RTL级(Register Transfer Level):描述数据在寄存器之间的流动和如何处理、控制这些数据流动的模型门级:描述逻辑门及其互相之间连接的模型开关级:描述器件中三极管和存储节点以及互相之间连接的模型通过综合,行为描述的模块可能转化为门级描述的模块Verilog 的基本设计单元:Verilog HDL模块。

11、一个完整的Verilog HDL模型由若干个Verilog HDL模块构成,每个模块又由若干个子模块构成(1)Verilog HDL程序是由模块构成的。每个模块的内容都是嵌在module和endmoudle两个语句之间的,每个模块实现特定的功能,模块是可以进行层次嵌套的每个模块要进行端口定义,并说明输入输出口,然后对模块的功能进行行为逻辑描述Verilog HDL程序的书写格式自由,一行可以写几个语句,一个语句也可以分写多行除了endmoudle语句外,每个语句和数据定义的最后必须有分号可以用/*.*/和/注释VHDL和Verilog HDL的共同点:能形式化的抽象表示电路的结构和行为支持逻辑

12、设计中层次与领域的描述可借用高级语言的精巧结构来简化电路的描述具有电路仿真与验证机制以保证设计的正确性支持电路描述由高层到底层的综合转化硬件描述与实现工艺无关(有关工艺可以通过语言提供的属性包括进去)便于文档管理易于理解和设计重用不同点:verilog HDL资源比VHDL丰富verilog HDL在系统级抽象方面比VHDL略差一些,而在门级开关电路描述方面比VHDL强得多verilog HDL更易于掌握(1)模块的结构:模块由两部分组成:端口定义(接口描述),模块内容(逻辑功能描述)模块的端口定义格式:module 模块名(口1,口2.);模块的内容:I/O 说明内部信号说明功能定义(有3种

13、方法实现逻辑功能):用assign声明语句,例如:assign a = b + c(2)用实例元件,例如:and #2 ul(1,a,b)(3)用always块(1)所有过程块(initial,always)、连续赋值语句assign和实例应用都是并行的always过程块内的语句是顺序执行的连续赋值语句assign和实例应用都可以独立于过程块存在于模块的功能定义部分Verilog HDL基本语法数据类型及其常量和变量Verilog 共有19种数据类型,最重要的四种:reg型、wire型、integer型、parameter型Verilog 中有常量、变量之分,分属于19种数据类型 参数型(pa

14、rameter)定义常量,例如:parameter data_width = 8,counter = 8 * 1024; 模块应用时,可通过参数传递改变已经规定的值,在一个模块中改变另一个模块的参数时,要用defparam命令。 变量:a.网络数据类型(wire,tir):表示实体之间的物理连接,该类型的变量不能存储值,必须受到驱动器(门或assign语句)驱动,wire-受单个驱动源的驱动,tir受多个驱动源的驱动wire型变量可以是任何方程式的输入信号,也可以是assign语句或实例元件的输出。例如:wire a,b,cwire 4:0 dbb.reg型(寄存器数据类型):通过赋值语句可以

15、改变reg型变量的值,always块中的每一个信号都必须定义为reg型。reg型通常是寄存器或触发器的输出,但不一定总是。例如:reg 7:0 datareg q0,q1c.reg型的扩展:memory型,通过扩展reg型变量的地址实现 例如:reg 7:0 memp 1023:0reg 7:0 memd 255:0.memory型不能综合。运算符和表达式+-*/.阻塞赋值和非阻塞赋值阻塞赋值与非阻塞赋值相比,就是阻塞赋值输出不延迟,而且是顺序执行;而非阻塞赋值延迟一个时钟周期,并且是并发执行的非阻塞赋值(=):块结束后才完成赋值(例:f=a,f不是立即被赋值),在always块描述的时序电路

16、中应使用非阻塞赋值阻塞赋值(=):赋值完成后块才结束(例:f=a,f立即被赋值),在always块描述的时序电路中使用阻塞赋值可能产生错误,一般用在组合逻辑电路中块语句顺序块:begin:块名 块内语句 end块内语句顺序执行每条语句的延迟时间是相对于前一条语句的仿真时间而言的直到最后一条语句执行完,程序流程控制才跳出该语句块并行块: fork:块名 块内语句 join块内语句同时执行,块内语句的顺序是任意的块内每条语句的延迟时间是相对于程序流程控制进入到块内的仿真时间延迟时间是用来给赋值语句提供执行时序的当按时间时序排列的最后的语句执行完后,或一个disable语句执行时,程序流程控制跳出该

17、程序块块名:为块取一个名字可以在块内定义局部变量,可以被其它语句调用起始时间和结束时间:对于顺序块:起始时间就是第一条语句开始被执行的时间,结束时间就是最后一条语句执行结束的时间对于并行块:起始时间是程序流程控制进入该块的时间,结束时间是按时间排序在最后的语句执行结束的时间case语句:分支表达式的值必须互不相同只允许有一个default语句所有表达式要有位宽,且必须相等要有default分支语句,否则产生逻辑锁存循环语句forever语句:格式:forever 语句(或语句组);用于产生周期性的波形,作为仿真测试的信号它与always语句的不同之处在于它不能独立写在程序中,必须用在initi

18、al块中repeat语句(重复执行,次数由表达式决定)格式:repeat(常量) 语句(或语句组)while语句:格式:while(表达式) 语句(或语句组);若表达式为真或非0则执行for语句格式:for(循环变量初值;循环条件;增量) 语句(或语句组)结构说明语句四种:initial、always、task、function。任何过程块都从属于这4种结构说明语句initial一个程序模块中可以有多个initial块每个initial块只在仿真开始时执行一次,多个initial块是并行的运行的作用:变量的初始化、产生激励波形,用于测试文件always always语句在仿真时不断重复执行,而

19、后面的语句是否执行取决于“时序控制”条件是否满足,缺少“时序控制”,程序将会出现死锁时序控制条件即触发条件,包括边沿触发(posedge/negedge)、电平触发,单个或多个一个模块中可以有多个always块function说明语句调用函数时返回一个用于表达式的值。函数中必须对与函数名相同的寄存器赋值。范围缺省时,返回值为1位的reg型。函数的使用规则:函数的定义中不能包含任何时间控制语句,即任何的#,或wait来标识的语句函数不能启动任务函数至少有一个输入参量函数中必须对与函数名相同的寄存器赋值(4)initial和always说明语句在仿真的一开始就立即开始执行。initial语句只执行

20、一次,always语句则不断地重复执行,直到仿真结束,在一个模块中,使用initial和always语句的次数是不受限制的。task和function语句可以在程序模块中一处或多处调用task和function的区别函数只能和主模块共用一个仿真时间单位,任务可以有自己的仿真时间单位任务可以调用函数,函数不能调用任务函数必须要有输入变量,任务可以有可以没有函数有返回值,任务没有返回值宏定义define 宏名 宏内容建议宏名用大写字母宏定义只做置换,不作语法检查,编译时才报错先定义,后使用引用宏时在宏名前加上“”文件包含处理include “文件名”一个include只能指定一个文件名文件包含可以

21、嵌套时间尺度timescale / 用来说明该命令后模块的仿真时间单位和时间精度,时间单位和时间精度的参数值必须是整数,有效数字是1,10,100,单位是s,ms,us,ps,fs条件编译ifdef 宏名程序段1else 程序段2endif有限状态机由状态寄存器(触发器)作为状态记忆部件(常用正跳边沿触发的D触发器),仅当触发信号到达时刻才可能发生状态改变,n个触发器最多有2n个状态两种有限状态机:Mealy型下一个输出是当前状态的输入的函数下一个状态是当前状态和输入的函数Moore型下一个输出是当前状态的函数下一个状态是当前状态和输入的函数TOP-DOWN设计和DOWN-TOP设计比较TOP-DOWN设计的设计过程是理想化的设计过程,它的缺点是得到的

温馨提示

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

评论

0/150

提交评论