教学课件:数字电路EDA设计(第二版).ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《教学课件:数字电路EDA设计(第二版).ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 教学 课件 数字电路 EDA 设计 第二
- 资源描述:
-
1、 EDA技术在电子设计领域的主要应用包括电子CAD与集成电路设计。随着电子CAD的发展,EDA技术也日益应用于集成电路设计,尤其是ASIC设计。ASIC是Application Specific Intergrated Circuit的简称,即专用集成电路。ASIC通常分为模拟ASIC、数字ASIC、模数混合ASIC与微波ASIC。数字ASIC可以划分为全定制ASIC、半定制ASIC和可编程ASIC三大类别。半定制ASIC实际上是一种半成品的ASIC,这种ASIC内部已经预制好单元电路,但各单元之间的连线掩膜尚未制造,有待设计确定。半定制ASIC包括门阵列ASIC与标准单元ASIC。门阵列AS
2、IC片上提供了大量规则排列的单元(早期的单元是门,故称门阵列),将这些单元按不同规律连接到一起就可以产生不同的功能。标准单元ASIC的特征是标准单元库,设计时通过调用库中提供的标准单元的版图完成版图设计,由于标准单元库的内容经过精心设计,因此通过调用其内容设计的版图往往能用较短的设计周期获得较高的性能。全定制ASIC需要设计者借助全定制IC版图设计工具,由设计者手工设计IC版图,包括芯片内部的布局布线、规则验证、参数提取、一致性检查等,这种ASIC对设计人员提出了很高的经验要求,设计周期长且设计成本高,适用于批量很大的芯片。编程ASIC的典型应用是PLD(可编程逻辑器件)。可编程逻辑器件的核心
3、价值体现在“可编程”,可编程是指器件的内部硬件连接可修改,大部分的可编程逻辑器件可以多次修改其内部布局布线从而改变所具有的逻辑功能,这为设计的修改完善与产品升级带来了很大的灵活性。由于主要逻辑功能在PLD内部实现,外界只能看到输入输出引脚,不能轻易知悉PLD内部的连接情况,因而也增加了数字电路设计的保密性。设计输入1设计实现2设计验证3器件下载4 EDA设计输入指设计者采用某种描述工具描述出所需的电路逻辑功能,然后将描述结果交给EDA软件进行设计处理。设计输入的形式有硬件描述语言输入、原理图输入、状态图输入、波形输入或几种方式混合输入等。其中硬件描述语言输入是最重要的设计输入方法。目前业界常用
4、的硬件描述语言有VHDL、Verilog-HDL、ABEL-HDL,本书主要介绍VHDL语言的设计方法。设计实现的过程由EDA软件承担,设计实现是将设计输入转换为可下载入目标器件的数据文件的全过程。设计实现主要包括优化(Optimization)、合并(Merging)、映射(Mapping)、布局(Placement)、布线(Routing)、下载数据产生等步骤。设计实现优化优化映射映射合并合并布局布局布线布线下载数据下载数据 优化是指EDA软件对设计输入进行分析整理,使得逻辑最简,并转换为适合目标器件实现的形式。合并是指将多个模块文件合并为一个网表文件。映射是指根据具体的目标器件内部的结构
5、对设计进行调整,使逻辑功能的分割适合于用指定的目标器件内部逻辑资源实现。映射之前软件产生的网表文件与器件无关,主要是以门电路和触发器为基本单元的表述,映射之后产生的网表文件将对应于具体的目标器件的内部单元电路,比如针对XILINX公司的FPGA芯片,映射后的网表文件将逻辑功转换为以CLB为基本单元的表述形式,便于后续布局。映射将逻辑功能转换为适合于目标器件内部硬件资源实现的形式后,实施的具体的逻辑功能分配,即用目标器件内不同的硬件资源实现各个逻辑功能,这一过程称为布局。针对XILINX公司的FPGA芯片,布局就是将映射后的各个逻辑子功能分配给具体的某个CLB的过程。布线是指在布局完成后,根据整
6、体逻辑功能的需要,将各子功能模块用硬件连线连接起来的过程。产生下载数据是指产生能够被目标器件识别的编程数据。对于可编程逻辑器件而言,CPLD的下载数据为熔丝图文件即JEDEC文件;FPGA的下载数据为位流数据文件Bitstream。器件下载也称为器件编程,这一步是将设计实现阶段产生的下载数据下载入目标器件的过程。设计验证包括功能仿真、时序仿真与硬件测试。这一步通过仿真器来完成,利用编译器产生的数据文件自动完成逻辑功能仿真和延时特性仿真。在仿真文件中加载不同的激励,可以观察中间结果以及输出波形。必要时,可以返回设计输入阶段,修改设计输入,最终达到设计要求。TOP-DOWN即自顶向下设计方法,是数
7、字系统设计常用的设计方法,其本质是模块化设计方法,其精髓在于对系统功能按层逐渐分解,按层进行设计,按层进行验证仿真 ABEL-HDLABEL-HDLVerilog-HDL VHDL ABEL-HDL是美国DATA I/O公司开发的硬件描述语言。目前支持ABEL-HDL语言的开发工具很多,有DOS版的ABEL4.0(目前主要用于GAL的开发)、DATAT I/O的Synario、Lattice的ispEXPERT、Xilinx的Foundation等软件。通过文件转换,ABEL-HDL程序可以被转换为VHDL等其他HDL。ABEL-HDL语言的基本结构可包含一个或几个独立的模块。每个模块包含一整
8、套对电路或子电路的完全的逻辑描述。无论有多少模块都能结合到一个源文件中,并同时予以处理。ABEL-HDL源文件模块可分成五段:头段、说明段、逻辑描述段、测试向量段和结束段。ABEL-HDL是美国DATA I/O公司开发的硬件描述语言。目前支持ABEL-HDL语言的开发工具很多,有DOS版的ABEL4.0(目前主要用于GAL的开发)、DATAT I/O的Synario、Lattice的ispEXPERT、Xilinx的Foundation等软件。通过文件转换,ABEL-HDL程序可以被转换为VHDL等其他HDL。ABEL-HDL语言的基本结构可包含一个或几个独立的模块。每个模块包含一整套对电路或
9、子电路的完全的逻辑描述。无论有多少模块都能结合到一个源文件中,并同时予以处理。ABEL-HDL源文件模块可分成五段:头段、说明段、逻辑描述段、测试向量段和结束段。ABEL-HDL是美国DATA I/O公司开发的硬件描述语言。目前支持ABEL-HDL语言的开发工具很多,有DOS版的ABEL4.0(目前主要用于GAL的开发)、DATAT I/O的Synario、Lattice的ispEXPERT、Xilinx的Foundation等软件。通过文件转换,ABEL-HDL程序可以被转换为VHDL等其他HDL。ABEL-HDL语言的基本结构可包含一个或几个独立的模块。每个模块包含一整套对电路或子电路的完
10、全的逻辑描述。无论有多少模块都能结合到一个源文件中,并同时予以处理。ABEL-HDL源文件模块可分成五段:头段、说明段、逻辑描述段、测试向量段和结束段。Verilog-HDL是目前应用较广泛的一种硬件描述语言。设计者可以用它来进行各种级别的逻辑设计,可以用它进行数字逻辑系统的仿真验证、时序分析、逻辑综合等。Verilog-HDL是专门为ASIC设计而开发的,本身即适合ASIC设计。在亚微米和深亚微米ASIC已成为电子设计主流的今天,Verilog-HDL的发展前景是非常远大的。Verilog-HDL较为适合算法级(Algorithm)、寄存器传输级(RTL)、逻辑级(Logic)和门级(Gat
11、e)设计,而对于特大型的系统级设计,则VHDL更为适合。Verilog-HDL把一个数字系统当作一组模块来描述。每一个模块具有模块的接口以及关于模块内容的描述。一个模块代表一个逻辑单元,这些模块用网络相互连接,相互通信。VHDL语言涵盖面广,抽象描述能力强,支持硬件的设计、验证、综合与测试。VHDL能在多个级别上对同一逻辑功能进行描述,如可以在寄存器级别上对电路的组成结构进行描述,也可以在行为描述级别上对电路的功能与性能进行描述。无论哪种级别的描述,都有赖于优良的综合工具将VHDL描述转化为具体的硬件结构。相对于其他硬件描述语言,VHDL的抽象描述能力更强,因此运用VHDL进行复杂电路设计时,
12、非常适合自顶向下分层设计的方法。首先从系统级功能设计开始,对系统的高层模块进行行为与功能描述并进行高层次的功能仿真,然后从高层模块开始往下逐级细化描述。VHDL设计描述的基本结构包含有一个实体和一个结构体,而完整的VHDL结构还包括配置、程序包与库。Verilog-HDL和VHDL的比较VHDLVerilogVerilog语言是一种较低级的描述语言,语言是一种较低级的描述语言,最适于描述门级电路,最适于描述门级电路,易于控制电路资源。易于控制电路资源。VerilogVerilog语言在高级描述方面不如语言在高级描述方面不如VHDLVHDL在在VerilogVerilog设计中,工作量通常比较大
13、,设计中,工作量通常比较大,因为设计者需要搞清楚具体电路结构的细节因为设计者需要搞清楚具体电路结构的细节VHDLVHDL语言是一种高级描述语言,适用于电路高级建模,语言是一种高级描述语言,适用于电路高级建模,综合的效率和效果都比较好。综合的效率和效果都比较好。VHDLVHDL直接描述门电路的能力不如直接描述门电路的能力不如VerilogVerilog语言语言VHDLVHDL入门较难,入门较难,但在熟悉以后,设计效率明显高于但在熟悉以后,设计效率明显高于VerilogVerilog,生成的电路性能也与生成的电路性能也与VerilogVerilog不相上下。在不相上下。在VHDLVHDL设计中,设
14、计中,综合器完成的工作量是巨大的,设计者所做的工作就相对减少了综合器完成的工作量是巨大的,设计者所做的工作就相对减少了Verilog-HDLVerilog-HDL和VHDL的相同点 Verilog-HDL和和VHDL都已成为都已成为IEEE标准。其共同的特点在于:标准。其共同的特点在于:能形式化地抽象表示电路的结构和行为,支持逻辑设计中层能形式化地抽象表示电路的结构和行为,支持逻辑设计中层次与领域的描述,可借用高级语言的精巧结构来简化电路的次与领域的描述,可借用高级语言的精巧结构来简化电路的描述,具有电路仿真与验证机制以保证设计的正确性,支持描述,具有电路仿真与验证机制以保证设计的正确性,支持
15、电路描述由高层到低层的综合转换,便于文档管理,易于理电路描述由高层到低层的综合转换,便于文档管理,易于理解和设计重用。解和设计重用。可编程逻辑器件开发工具可编程逻辑器件开发工具 ispLEVER ISEQuartus II IP的英文全称为Intellectual Property,即知识产权。IP涉及社会生活各个领域,在EDA领域,IP以IP 核(IP Core)的形式出现。所谓IP核,是指将电子设计过程中经常使用而又对设计要求较高的功能模块,经过严格测试与高度优化,精心设计为参数可调的模块,其他用户通过调整IP核的参数即可满足特定的设计需要。IP核的获得方法有继承、共享与购买。IP核按实现
16、方法区分,通常分为软核、固核与硬核。软核是指用硬件描述语言描述的功能模块,但不涉及具体的实现电路。软核最终产品与一般的HDL编写的源程序相似,但软核开发的成本较大,对开发所需的软件、硬件要求较高。由于软核开发时未涉及具体实现电路,因此为使用者在软核基础上的二次开发提供了较大的余地,使得软核的使用有较大的灵活性。固核是指经过了综合的功能模块。它有较大的设计深度,以网表文件的形式提交使用。如果客户与固核使用同一个IC生产线的单元库,固核应用达标率会高很多。ALTERA公司的IP核就是以固核的形式提交使用的,其IP核为加密网表文件,配合以管脚、电平等方面的约束条件使用。硬核提供了设计的最终产品:掩膜
17、(Mask)。设计深度越高,后续所需做的事情越少,相应的使用灵活性也越低。目前电子系统越来越复杂,很多FPGA产品已经将硬核固化于芯片内部,以加速使用者的开发速度。第二章 典型的cpld fpga芯片结构ALTERAALTERA公司公司CPLDCPLD芯片芯片CPLD传统CPLD的主要缺点在于:当器件内部的宏单元个数超过512个,或者门密度超过几千门时,宏单元之间的互连线规模将呈指数级增长,限于CPLD器件的面积约束,全局布线结构的CPLD内部密度有限。采用了新的结构,仍然以LABs为主要结构,但布线方法摒弃了以前的全局布线结构,而是采用了行列布线结构内部还集成了FLASH存储器,这使得MAX
18、 II系列芯片本身就具备了存储功能MAX II传统CPLD的乘积项结构与MAX II系列芯片对比传统的乘积项结构MAX II系列芯片各款芯片的引脚数目与封装基于LUT的LE结构 这种结构以逻辑单元LE(Logic elements)为基础单位,每个LE又包括一个4输入查找表与一个寄存器MAX II系列芯片的逻辑阵列由LAB(逻辑阵列块)构成,每个LAB包括10个逻辑单元,每个逻辑单元都能实现一部分用户期望的逻辑功能。MAX II系列芯片芯片的内部结构 MAX II系列芯片提供了一个全局时钟网络,该网络包括的全局时钟线为整个芯片内部的各部分提供时钟,不作时钟时可作诸如复位、预置位、输出使能等全局
19、控制信号。注意:上图中并未给出FLASH存储器的位置,因为不同型号芯片的FLASH位置不同。EPM240 器件的FLASH块位置在器件左侧,EPM570、EPM1270和 EPM2210器件的 FLASH块在左下区域。FLASH存储空间被划分为指定的配置间CFM,CFM提供了SRAM配置信息,使得MAX II系列芯片器件上电时能自动配置逻辑功能。MAX II系列芯片内置FLASH中的一部分,约8192位的存储空间被划分给用户作为用户存储器使用,这一区域称为UFM(User Flash Memory),UFM可以与其附近的3行LAB相接,由这些LAB进行读写。MAX II系列芯片的底层布局 LA
20、B局部互连能够驱动同一LAB的所用LE。LAB局部互连线的信号来自于整个芯片的行列互连线与各LE输出信号的反馈。通过直接互连的形式,与LAB相邻的其他LAB也能驱动LAB的局部互连线。直接互连的形式体现了高性能与灵活的特点,能够显著减轻整个芯片行列互连线的负担。借助于局部互连与直接互连,每个LE能够驱动30个LE。每个LAB能在同一时刻发出10种控制信号给其内部的逻辑单元。这些控制信号包括两条时钟信号、两条时钟使能信号、两条异步复位信号、一条同步复位信号、一条异步预置信号、一条同步预置信号以及加/减控制信号。例如当需要实现计数器功能时,一般需要这些信号中的同步预置与同步复位信号。每个逻辑阵列块
21、包括10个LE(逻辑单元),逻辑单元进位链、LAB控制信号、LAB局部互连线、一个查找表链以及寄存器互连链。每个LAB可含多达26个专用输入信号,还包括由同一LAB中其他逻辑单元的输出反馈回来的10个反馈信号。内部互连线用于同一LAB内部各LE之间的信号传递。查找表链用于将同一LAB的相邻LE的LUT输出信号进行互连传递。寄存器互连链将某一LE寄存器的输出与相邻LE寄存器进行互连传递。ALTERA公司的EDA开发软件Quartus II能够充分利用这些进位链自动将逻辑功能配置到相应的LE内。逻辑阵列块 每个逻辑阵列块包括10个LE(逻辑单元),逻辑单元进位链、LAB控制信号、LAB局部互连线、
22、一个查找表链以及寄存器互连链。每个LAB可含多达26个专用输入信号,还包括由同一LAB中其他逻辑单元的输出反馈回来的10个反馈信号。内部互连线用于同一LAB内部各LE之间的信号传递。查找表链用于将同一LAB的相邻LE的LUT输出信号进行互连传递。寄存器互连链将某一LE寄存器的输出与相邻LE寄存器进行互连传递。ALTERA公司的EDA开发软件Quartus II能够充分利用这些进位链自动将逻辑功能配置到相应的LE内。逻辑阵列块 每个逻辑阵列块包括10个LE(逻辑单元),逻辑单元进位链、LAB控制信号、LAB局部互连线、一个查找表链以及寄存器互连链。每个LAB可含多达26个专用输入信号,还包括由同
23、一LAB中其他逻辑单元的输出反馈回来的10个反馈信号。内部互连线用于同一LAB内部各LE之间的信号传递。查找表链用于将同一LAB的相邻LE的LUT输出信号进行互连传递。寄存器互连链将某一LE寄存器的输出与相邻LE寄存器进行互连传递。ALTERA公司的EDA开发软件Quartus II能够充分利用这些进位链自动将逻辑功能配置到相应的LE内。逻辑阵列块LAB的内部结构注意,LAB的时钟信号及其时钟使能信号一定是同时发挥作用的,例如,若LAB中某一个LE要用到时钟信号labclk1,则对应的时钟使能信号labclkena1必须有效。LAB的控制信号 逻辑单元LE虽然是MAX II系列芯片最小的逻辑模
24、块,却为实现逻辑功能提供了很多重要特性。MAX II系列芯片的逻辑单元结构 MAX II系列芯片的逻辑单元结构,从图中可看出,逻辑单元内的可编程寄存器能够配置为DFF、TFF、JKFF或SRFF。每个寄存器都有异步预置信号、时钟信号与时钟使能信号、复位信号以及异步加载信号。其中寄存器时钟信号与复位信号可由全局信号、通用I/O引脚或任何逻辑单元驱动,而时钟使能信号、异步加载数据由通用I/O引脚或逻辑单元驱动。异步加载的数据来自于逻辑单元的data3输入。对于组合逻辑功能而言,查找表的输出将寄存器旁路,而直接送到逻辑单元的输出端。每个逻辑单元的三个输出端分别独立地输出到局部互连布线、行互连线、列互
25、连线。由于三个输出可相互独立,因而在某些场合将发生查找表与寄存器同时输出数据的现象,这一现象也说明MAX II系列芯片可以将同一逻辑单元的查找表与寄存器用于不同功能的实现,这一特点与以往芯片相比显著提高了寄存器的利用效率。用户FLASH存储区 用户FLASH存储区(UFM block)是MAX II系列芯片的一大特色,这种内部FLASH存储器的功能类似于串行EEPROM,它允许用户存储宽度最高为16位、容量为8192位的固定数据。UFM允许任何逻辑单元访问,下图给出了UFM的接口信号。UFM与LAB的接口电路 UFM与LAB的接口电路XILINX公司Virtex-5系列FPGA可配置逻辑块CL
展开阅读全文