目录
引言 (1)
1可编程逻辑器件的发展历程 (1)
2 可编程逻辑器件的分类及开发工具 (3)
3可编程逻辑器件的发展现状 (3)
4 可编程逻辑器件的特点 (4)
5 可编程逻辑器件的应用 (5)
5.1可编程逻辑器件在电子技术领域中的应用 (5)
5.2可编程逻辑器件在ASIC设计中的应用 (6)
5.3 可编程逻辑器件在数字电路实验中的应用 (7)最有前途的编程语言
5.4 可编程逻辑器件在电气传动中的应用 (8)
5.5 在可编程逻辑芯片中实现PWM技术的实例分析 (8)
结束语 (10)
参考文献 (10)
英文翻译 (11)
致谢 (11)
可编程逻辑器件的发展与应用
摘要:本文介绍了可编程逻辑器件PLD的发展历程、分类、特点及其应用。可编程逻辑器件PLD是电子设计领域中最具活力和发展前途的器件,它具有在线修改能力即随时修改设计而不必改动其硬件电路,这一特点使其设计周期缩短、所设计系统的成本降低、稳定性提高。本文主要介绍了它在电子技术领域、ASIC设计、数字电路实验以及电气传动领域中的应用,并通过实例分析如何在可编程逻辑芯片中实现PWM技术。
关键词:可编程逻辑器件;FPGA ;ASIC ;高密度可编程逻辑器件;PWM
引言
数字电路经历了由早期的电子管、晶体管、中小规模集成电路发展到超大规模集成电路以及具有特定功能的专用集成电路ASIC(Application Specific Integrated Circuit)的发展历程,ASIC的应用和发展标志着集成电路已进入了一个新的阶段。可编程逻辑器件(Programmable Logic Device ,PLD)是通过编程来实现数字逻辑功能的可编程ASIC,随着微电子技术的高速发展,特别是ASIC的市场需求,出现了现场可编程逻辑器件FPLD(Field Programmable Logic Device),其中应用广泛的是现场可编程门阵列FPGA(Field Programmable Gate Array)和复杂可编程逻辑器件CPLD(Complex Programmab1e Logic Device)。可编程逻辑器件的问世被称为“冲击硅谷的第三次浪潮”。其应用领域日益广泛,由于PLD器件的可开发性和灵活性,使其能够实现较丰富的逻辑功能。实现系统之间的硬件接口与通信功能。尤其当使用计算机系统过于浪费,用中小集成电路芯片又过于繁杂和功能不足的场合下,PLD器件为电子设计师提供了较为合适的第三种选择。其灵活的可编程能力、快速的并行信号处理方式、足够多的内部资源、无复位问题和程序跑飞困扰等优点使其在电子领域和电气传动等领域中有广泛的应用。
1可编程逻辑器件的发展历程
PLD是可编程逻辑器件(Programmable Logic Device)的简称。可编程逻辑器件PLD是一种数字电路,它是20世纪70年代发展起来的一种划时代的新型逻辑器件,在电子设计领域中使用可编程逻辑器件是最具活力和发展前途的一项技术。它可以由用户来进行编程和配置,利用它可以解决不同的逻辑设计
题。PLD由基本逻辑门电路、触发器以及内部连接电路构成,利用软件和硬件(编程器)可以对其进行编程,从而实现特定的逻辑功能。
可编程逻辑器件(PLD)自70年代初期以来经历了从早期的可编程逻辑器件到结构上稍为复杂的可编程芯片再到功能齐全、编程灵活的可编程逻辑器件的发展过程,70年代初期的PLD主要用于解决各种类型的存储问题,如可编程只读存储器(PROM)、紫外线可擦除只读存储器(EPROM)和电可擦除只读存储器(EEPROM),由于结构的限制,它们只能完成简单的数字逻辑功能;结构稍为复杂的可编程逻辑器件在设计上有很强的灵活性,可以实现速度特性较好的逻辑功能,但由于结构简单,它们只能实现规模较小的电路;80年代中期,Altera 公司和Xilinx公司同期推出了CPLD(复杂可编程逻辑器件Complex Programmable Logic Device)和FPGA(现场可编程门阵列Field Programmable Gates Array),它们都具有体系结构和逻辑单元灵活、集成度高以及适用范围宽等特点,可以实现较大规模的电路。进入90年代后,可编程逻辑集成电路技术进入了飞速发展的时期,除继续提高器件的集成度和速度等技术指标外,在系统可编程技术ISP(In—System Programmability)和扫描测试技术的出现,使得可编程逻辑器件在器件编程技术和器件测试技术方面也获得了划时代的进步。可编程逻辑器件的特点随着数字集成电路的不断更新而不断增加,使得传统的数字系统设计方法发生了根本的改变。可编程逻辑器件的灵活性使得硬件系统设计师在实验室里用一台计算机、一套相应的EDA软件和
可编程逻辑芯片就可以完成数字系统的设计与生产,而其中应用最广泛的可编程逻辑器件当属FPGA和CPLD。FPGA和CPLD都是可编程逻辑器件,它们是在可编程阵列逻辑(PAL)、通用阵列逻辑(GAL)等逻辑器件的基础上发展起来的。同以往的PAL、GAL比较,FPGA/CPLD的规模更大,它可以替代几十甚至几千块通用IC芯片。这样的FPGA/CPLD实际上就是一个子系统部件,因此它受到了世界范围内电子工程设计人员的广泛关注和普遍欢迎。FPGA是新一代面向用户的可编程逻辑器件,它的功能密度远远超过其它PLD器件,一块FPGA可以替代100~200片标准器件或者(20~40)片GAL器件,其I/O引脚数多达100余条。所以一片FPGA 芯片可以替代多个逻辑功能复杂的逻辑部件或一个小型数字系统。CPLD器件的结构是一种与阵列可编程、或阵列固定的与或阵列形式。PAL、GAL都采用这种形式,但CPLD同它们相比,增加了内部连线,对逻辑宏单元和I/O单元也有重
大改进。一般情况下,CPLD器件中包含三种结构:可编程逻辑宏单元、可编程I/O单元、可编程内部连线。部分CPLD器件内还集成了RAM、FIFO(先进先出)或双口RAM等存储器,以适应DSP应用设计的要求。CPLD器件具有同FPGA器件相似的集成度和易用性,在速度上还有一定的优势,因此,在可编程逻辑器件技术的竞争中它与FPGA并驾齐驱,成为两支领导可编程逻辑器件技术发展的力量之一[1] [3]。
2 可编程逻辑器件的分类及开发工具
可编程逻辑器件主要分为两大类:复杂可编程逻辑器件(Complex Program Logic Device)CPLD和现场可编程门阵列(FPGA)。CPLD内部结构与以往简单的PLD器件(如PAL或GAL)类似,只是容量比PLD高,一般采用EPROM、EEPROM或FLASH结构,其内部逻辑块大,特别适合控制逻辑、译码逻辑以及时序逻辑的应用。FPGA的内部结构与CPLD截然不同,它是由许多微小的逻辑块阵列组成,各个逻辑块阵列四周被I/O块包围,通过编程方式将这些微小的逻辑块连接起来,从而实现各种复杂的逻辑运算,因此FPGA具有逻辑单元小、密度高、数据通道资源丰富、寄存器多等特点,特别适合于复杂的逻辑运算。
可编程逻辑器件的开发工具随着可编程逻辑芯片规模的不断扩大对芯片功能的2次开发就越来越依赖于专用的手段和工具,电子设计自动化技术(Electronic Design Automation,EDA)顺应了这种需求,使人们利用集计算机图形学、拓扑逻辑学、计算数学、人工智能学等多种计算机应用学科的最新成果开发而成的一整套软件工具,进行芯片逻辑功能的设计、仿真、时序分析、逻辑综合等。CPLD/FPGA的设计开发采用功能强大的EDA工具,通过符合国际标准的硬件描述语言(如VHDL或VERILOG-HDL)来进行电子系统设计和产品开发,开发工具的通用性,设计语言的标准化以及设计过程几乎与所用的CPLD/FPGA 器件的硬件结构没有关系,所以设计成功的逻辑功能软件有很好的兼容性和可移植性,开发周期短,易学易用,开发便捷[2]。
3可编程逻辑器件的发展现状
目前可编程逻辑器件的发展主要体现在以下几点:低密度PLD在一定时间内还存在一定时期;高密度PLD继续向更高密度更大容量迈进。具体体现在:
1、PLD正在由5V电压向低电压2.5V器件演进,这样有利于降低功耗。
2、ASIC和PLD相互融合。
3、ASIC和FPGA之间的界限正变的模糊。
4、集成度不断提高。微细化新工艺的推出以及市场的需求是集成度不断提高的基础和动力。许多公司在新技术的推动下,产品集成度迅速提高,尤其是近几年的迅速发展,其集成度已经达到了1000万门,现在有的PLD则达到了几百万系统门甚至一千万系统门。
5、向系统级发展。现在已经逐渐把DSP(数字信号处理器)、MCU(微控制器)、存储器及应用接口等集成到PLD中,使得PLD的功能大大增强[3]。
4 可编程逻辑器件的特点
早期的PLD器件的一个共同特点是可以实现速度特性较好的逻辑功能,但其过于简单的结构也使它们只能实现规模较小的电路。PAL(可编程阵列逻辑)结构的扩展型CPLD和FPGA弥补了这一缺陷,它
们都具有体系结构和逻辑单元灵活、集成度高以及适用范围宽等特点。这两种器件兼容了PLD和通用门阵列的优点,可实现较大规模的电路,编程也很灵活。与其它ASIC相比,它们又具有设计开发周期短、设计制造成本低、开发工具先进、标准产品无需测试、质量稳定以及可实时在线检验等优点,因此被广泛应用于产品的原型设计和产品生产(一般在10,000件以下)之中。几乎所有应用门阵列、PLD和中小规模通用数字集成电路的场合均可应用FPGA和CPLD器件。设计人员只需通过相关的软硬件环境来完成芯片的最终功能设计,用户可以反复地编程、擦除、使用或者在外围电不动的情况下用不同软件就可实现不同的功能。FPGA/CPLD 软件包中有各种各样的输入工具、仿真工具以及版图设计工具和编程器等全线产品,电路设计人员在很短的时间内就可完成电路的输入、编译、优化、仿真,直至最后芯片的制作[4]。
在CPLD/FPGA开发软件中完成设计以后,软件会产生一个最终的编程文件。将编程文件烧到CPLD芯片中去,可以根据情况选择乘积项(Product-Term)技术、查表技术(Look-Up table)技术以及反熔丝(Anti-fuse)技术等三种技术。
可根据设计要求进行选择CPLD还是FPGA。CPLD分解组合逻辑的功能很强,一个宏单元就可以分解十几个甚至20~30多个组合逻辑输入。而FPGA的一个LUT(表)只能处理4个输入的组合逻辑,因此,CPLD适合用于设计译码等复杂组合逻辑。但FPGA的制造工艺决定了FPGA芯片中包含的LUT和触发器的数量非常多,往往都是成千上万,CPLD一般只能做到512个逻辑单元,

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。