欢迎来到天天文库
浏览记录
ID:43501349
大小:6.52 MB
页数:93页
时间:2019-10-09
《第5章 可编程逻辑器件综合设计》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、第5章可编程逻辑器件综合设计第5章可编程逻辑器件综合设计教学提示:本章介绍可编程逻辑器件应用系统综合设计。主要包括可编程逻辑器件的发展、CPLD和FPGA的结构和编程方法以及编程举例。教学要求:通过本章学习,学生能了解CPLD和FPGA的基本结构和编程方法,通过实例的练习,初步掌握VHDL语言的使用。第5章可编程逻辑器件综合设计5.1可编程逻辑器件概述5.2CPLD/FPGA结构与原理5.3Xilinx公司的CPLD介绍5.4Xilinx公司的FPGA5.5Xilinx公司的开发软件5.6VHDL编程举例5.1可编程逻辑器件概述图5.1典型的PLD的部分结构(实现组合逻辑的部分)[u
2、1]图5.1典型的PLD的部分结构(实现组合逻辑的部分)5.1可编程逻辑器件概述5.1.1PLD分类PLD产品一般分为两大类。(1)中小规模PLD:主要指PAL,GAL和CPLD,是基于乘积项(Product-Term)技术,EEPROM(或Flash)工艺。EEPROM工艺的PLD密度小,多用于5000门以下的小规模设计,适合做复杂的组合逻辑,如译码。(2)FPGA:基于查找表(Look-Uptable,LUT)技术,SRAM工艺的大规模PLD/FPGA。SRAM工艺的PLD(FPGA),密度高,触发器多,多用于10000门以上的大规模设计,适合做复杂的时序逻辑,如数字信号处理和各
3、种算法。PLD产品一般分为两大类。5.1可编程逻辑器件概述5.1.2FPGA/CPLD概述尽管FPGA/CPLD和其他类型PLD的结构各有其特点和长处,但概括起来,它们是由以下三大部分组成的。(1)逻辑块阵列:PLD器件的逻辑组成核心。CPLD采用与或结构,更适合组合逻辑;而FPGA采用查找表结构,有更多的寄存器,更适合同步设计。(2)输入/输出块:逻辑块和芯片引脚的接口。(3)连线资源:用于逻辑块之间、逻辑块与输入/输出块之间的连接。CPLD的连线的延时是可预测的,而FPGA的连线的延时是不可预测的,但可通过软件进行定时约束。5.1可编程逻辑器件概述5.1.2FPGA/CPLD概述
4、FPGA/CPLD芯片都是特殊的ASIC芯片,它们除了具有ASIC的特点之外,还具有以下几个优点:(1)能实现的功能也越来越强,同时也可以实现系统集成。(2)使用FPGA/CPLD的资金投入小,节省了许多潜在的花费。(3)用FPGA/CPLD试制样片,能以最快的速度占领市场。(4) FPGA/CPLD软件易学易用,可以使设计人员更能集中精力进行电路设计,快速将产品推向市场。5.1可编程逻辑器件概述5.1.3PLD的开发软件将编程文件烧写到PLD芯片中,对于CPLD和FPGA各有不同的方法。(1) CPLD,即通过编程电缆和JTAG口(电缆一端接在计算机的并行打印口上,另一端接在P
5、CB板上的一个十芯插头),向系统板上的器件提供编程数据。同时,CPLD也可用编程器编程。CPLD可以加密,并且很难解密。5.1可编程逻辑器件概述5.1.3PLD的开发软件(2) FPGA。FPGA是基于SRAM工艺的,需要将数据固化在一个专用的EEPROM中。SRAM工艺的FPGA一般不可以直接加密。(3)反熔丝(Anti-fuse)技术的FPGA。这种FPGA不能重复擦写,需要使用专用编程器,所以开发过程比较麻烦,费用也比较高。但反熔丝技术也有许多优点:布线能力更强,系统速度更快,功耗更低,同时抗辐射能力强,耐高低温并可以加密,所以主要用在军事及航空航天领域。5.2CPLD/FP
6、GA结构与原理1.基于乘积项的CPLD结构CPLD主要包含三部分:宏单元(Marocell),可编程连线(ProgrammableInterconnectionArray)和I/O接口。宏单元是CPLD的基本结构,由它来实现基本的逻辑功能。图5.3中FuntionBlock部分是多个宏单元的集合(因为宏单元较多,没有一一画出)。。5.2CPLD/FPGA结构与原理图5.3XC9500内部结构5.2CPLD/FPGA结构与原理图5.4宏单元的结构5.2CPLD/FPGA结构与原理图5.4宏单元的结构2.基于乘积项结构的CPLD的逻辑实现原理下面以一个简单的电路为例,说明CPLD是如何利
7、用乘积项结构实现逻辑的5.2CPLD/FPGA结构与原理设组合逻辑的输出(AND3的输出)为f,则f=(A+B)*C*(!D)=A*C*!D+B*C*!D(!D表示D的“非”),CPLD将以下面的方式来实现组合逻辑f如图5.6所示,A,B,C,D由CPLD芯片的引脚输入后进入可编程连线阵列(PIA),在内部会产生A,A反,B,B反,C,C反,D,D反8个输出。图中每一个叉表示相连(可编程熔丝导通),所以得到f=f1+f2=(A*C*!D)+(B*C*!D)
此文档下载收益归作者所有