您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 电子设计/PCB > 信号组讲座-可编程逻辑器件基础
2009年4月Copyright@2009成都信息工程学院(内部资料)1NO.9全国大学生电子设计竞赛可编程逻辑器件(FPGA)应用基础Copyright@2009成都信息工程学院(内部资料)22009年4月FPGA系统设计如何入门FPGA是基于硬件可编程的器件,设计方法与CPU和DSP有本质的区别;设计者需要掌握硬件描述语言,还要具备硬件的概念和调试的经验,才能设计出高质量的FPGA系统FPGA系统涉及到:FPGA的结构原理、电路硬件设计与调试、硬件描述语言(HDL)、开发工具EDA软件、仿真验证技术以及FPGA与其他处理器的互联接口技术等。FPGA最好的入门方法---实践。初期阶段:看书+软件仿真;实践阶段:结合FPGA开发板,将自己的设计在FPGA硬件系统上运行。FPGA最小系统:含电源、下载接口,引出全部IO,用户自行设计外部电路。Copyright@2009成都信息工程学院(内部资料)32009年4月FPGA系统设计技术背景目前数字系统设计领域公认的基础性技术CPU、DSP、FPGAFPGA技术发展迅速,正在逐渐融合CPU和DSP的功能;FPGA已经广泛应用在如无线基站、千兆网络路由器、智能手机、便携式产品等领域。在我们的全国竞赛中,FPGA的作用主要定位在时序信号产生、前端信号采集、高速控制、数据并行处理等方面,作为辅助控制器与MSP430或DSP协同运行,不做单独的处理器来使用。Copyright@2009成都信息工程学院(内部资料)42009年4月FPGA与ASICASIC:指固定的或定制的逻辑器件(专用集成电路)---如MP3专用解码芯片优点:通过固化的逻辑功能和大规模的工业化生产,芯片成本大幅度降低,可靠性高;缺点:设计周期长,投资大,风险高,设计投产后不可更改。FPGA的诞生解决了ASIC存在的这些不足,满足了快速产品开发的需要。第一片FPGA:Xilinx公司1984年推出,20多年的发展,FPGA的可用门从当初的1000余个可用门,发展到现在的1000万个以上的可用门。容量提升了1万倍。FPGA解决了电子系统小型化、低功耗、高可靠性的问题,开发周期短、投入少,芯片价格不断下降。Copyright@2009成都信息工程学院(内部资料)52009年4月FPGA技术发展趋向1、基于FPGA的嵌入式系统(SoPC)技术正在成熟;2、FPGA芯片向高性能、高密度、低压和低功耗方向发展;3、基于IP库的设计方法;FPGA的设计者只需要寻找适合项目需要的IP库资源,然后将这些IP整合起来,完成顶层模块设计。整个项目的仿真和验证工作主要就是验证IP库的接口逻辑设计正确性。4、FPGA的动态可重构技术。指对于特定结构的FPGA芯片,在一定的控制逻辑的驱动下,对芯片的全部或部分逻辑资源实现高速的功能变换,从而实现硬件的时分复用,节省逻辑资源。Copyright@2009成都信息工程学院(内部资料)62009年4月1、PLD器件概述(1/3)---基本结构可编程逻辑器件(ProgrammableLogicDevices,PLD),发展于20世纪70年代,属半定制集成电路;使用PLD器件,借助EDA设计方法,可以方便、快速地构建数字系统;任何组合逻辑电路都可以用“与门-或门”二级电路实现;任何时序逻辑电路都可以由组合逻辑电路加上存储元件(触发器、锁存器构成);人们由此提出乘积项可编程电路结构,原理结构如下:Copyright@2009成都信息工程学院(内部资料)72009年4月1、PLD器件概述(2/3)---发展历程及分类Copyright@2009成都信息工程学院(内部资料)82009年4月1、PLD器件概述(3/3)---主流CPLD与FPGACPLD:基于乘积项结构,基本结构为“与-或阵列”;FPGA:基于查找表结构,由简单的查找表构成可编程门,再构成阵列形式(FPGA数据掉电后丢失,CPLD掉电保持)一般不能加密可加密保密性EAB,锁相环EEPROM其他资源快慢速度完成比较复杂的算法完成逻辑控制使用场合高(百万门级)低(几十-数万门级)集成度触发器资源丰富组合电路资源丰富资源类型SRAM,外挂EEPROM内部EEPROM程序存储Look-upTableProduct-term内部结构FPGACPLDCopyright@2009成都信息工程学院(内部资料)92009年4月2、低密度PLD可编程原理(1/2)【早期器件】低密度(简单)PLD,通常内部等效门数少于500个,只能实现通用数字逻辑(如74系列)的一些功能Copyright@2009成都信息工程学院(内部资料)102009年4月2、低密度PLD可编程原理(2/2)PROM(可编程只读存储器):只能用于组合电路可编程,不适于多输入变量的组合函数,浪费严重;PLA(可编程逻辑阵列):与、或阵列均可编程,利用率高,需要逻辑函数的最简与或表达式,公共与项难利用,软件算法较复杂;PAL(可编程阵列逻辑):与阵列可编程,或阵列固定,IO结构不通用,不同的用途种类繁多,熔丝工艺,一次编程;GAL(通用阵列逻辑):EEPROM工艺,改进了IO结构,增加了输出逻辑宏单元(OLMC,OutputMacroCell),通用性好。Copyright@2009成都信息工程学院(内部资料)112009年4月3、CPLD的结构与可编程原理(1/2)CPLD即复杂可编程逻辑器件,是早期GAL器件的改进。Altera的MAX7000系列具有典型性,以此为例,进行简介MAX7000系列包含32-256个宏单元,每16个宏单元组成一个逻辑阵列块(LAB)每个宏单元含有一个可编程的“与”阵列和固定的“或”阵列,以及一个可配置寄存器。每个宏单元共享扩展乘积项和高速并联扩展乘积项,它们可向每个宏单元提供多达32个乘积项,以构成复杂的逻辑函数。Copyright@2009成都信息工程学院(内部资料)122009年4月MAX7000的结构包含五个部分宏单元扩展乘机项(共享和并联)可编程连线阵列IO控制块逻辑阵列块Copyright@2009成都信息工程学院(内部资料)132009年4月4、FPGA的结构与工作原理---简介(1/3)多数FPGA采用基于SRAM的查找表逻辑形成结构,即利用SRAM(静态随机存储器)来构成逻辑函数发生器;一个N输入查找表(LUT)可以实现N个输入变量的任何逻辑功能;Altera的Cyclone系列器件成本低、性价比高,结构和工作原理具有典型性;Cyclone器件主要由逻辑阵列块(LAB)、嵌入式存储器块、IO单元和PLL等模块构成;每个LAB有多个LE(LogicElement,逻辑单元)构成;LE是CycloneFPGA器件的最基本可编程单元;LE主要由一个4输入的查找表LUT、进位链逻辑和一个可编程的寄存器构成。Copyright@2009成都信息工程学院(内部资料)142009年4月4、FPGA的结构与工作原理---结构(2/3)Copyright@2009成都信息工程学院(内部资料)152009年4月4、FPGA的结构与工作原理---结构(3/3)其它详细结构及工作原理请读者自行阅读教材P26-P32Copyright@2009成都信息工程学院(内部资料)162009年4月芯片与外接电路的接口部分可编程逻辑的主体,可以根据设计灵活地改变其内部连接与配置,完成不同的逻辑功能用作数据存储,可配置为单端口RAM,双口RAM,FIFO等连通FPGA内部所有单元,连线长度和工艺决定信号驱动能力和传输速度通用程度较高的嵌入式功能模块,如PLL、DSP、CPU等Copyright@2009成都信息工程学院(内部资料)172009年4月PLL的作用:完成时钟的高精度、低抖动的倍频、分频、占空比调整、移相等功能(可达ps精度);内嵌专用硬核:与“底层嵌入单元”有区分,指的是通用性相对较弱,不是所有FPGA都包含硬核。如Altera的StratixGX系列内部专门集成了3.1875Gbit/s的串并收发单元;Copyright@2009成都信息工程学院(内部资料)182009年4月5、硬件测试技术内部逻辑测试(动态测试、分析内部寄存器的状态)器件厂商在在PLD中嵌入某种逻辑功能模块;与EDA工具配合提供一种嵌入式逻辑分析仪,通过测试发现内部逻辑问题;如Altera的SignalTapII。JTAG边界扫描测试(BST)Copyright@2009成都信息工程学院(内部资料)192009年4月6、FPGA/CPLD厂商ALtera:高性能、高集成度、高性价比,开发工具软件丰富,且提供免费使用版本;Xilinx:追求高集成度、高速度、低价格、低功耗设计;Lattice:CPLD的开拓者,首创PLD及ISP技术;Actel:加密性好,产品广泛应用于航空航天、军事领域。Copyright@2009成都信息工程学院(内部资料)202009年4月7、编程与配置(1/3)CPLD/FPGA都具有在系统编程(ISP)能力ISP功能的特点:使用CPLD/FPGA进行逻辑设计时可以把芯片焊接在印制电路板上,在设计时一次又一次随心所欲地改变整个电路的硬件逻辑关系,而不必改变电路板的结构。有3种ISP方式:基于电可擦除存储单元的EEPROM或Flash技术(CPLD)---掉电数据不丢失,但编程次数有限,编程的速度慢基于SRAM查找表的编程单元(FPGA)---配置次数无限、加电时可随时更改逻辑,但掉电后数据即丢失,下次上电需要重新配置基于反熔丝编程单元(Actel的FPGA)JTAG方式的在系统编程接口Copyright@2009成都信息工程学院(内部资料)212009年4月7、编程与配置---PC机配置FPGA(2/3)使用PC并行口配置FPGA(传统方法,使用ByteBlasterMV或ByteBlasterII下载电缆)使用PCUSB口配置FPGA(使用USB-Blaster下载电缆)Altera的FPGA有如下几种常用编程配置方式:配置器件模式,如用EPC器件进行配置。PS(PassiveSerial被动串行)模式。JTAG模式,用于配置SRAM的SOF文件,或JTAG间接AS(ActiveSerial),这个模式是针对EPCS器件而言。Copyright@2009成都信息工程学院(内部资料)222009年4月7、编程与配置---FPGA配置器件(3/3)Copyright@2009成都信息工程学院(内部资料)232009年4月8、CPLD与FPGA的区别及应用选型(1/2)FPGA采用SRAM进行功能配置,可重复编程,但系统掉电后,SRAM中的数据丢失。因此,需在FPGA外加EPROM,将配置数据写入其中,系统每次上电自动将数据引入SRAM中。CPLD器件一般采用EEPROM存储技术,可重复编程,并且系统掉电后,EEPROM中的数据不会丢失,适于数据的保密。FPGA器件含有丰富的触发器资源,易于实现时序逻辑,如果要求实现较复杂的组合电路则需要几个CLB结合起来实现。CPLD的与或阵列结构,使其适于实现大规模的组合功能,但触发器资源相对较少。FPGA内部有丰富连线资源,CLB分块较小,芯片的利用率较高。CPLD的宏单元的与或阵列较大,通常不能完全被应用,且宏单元之间主要通过高速数据通道连接,其容量有限,限制了器件的灵活布线。内部资源利用率较FPGA器件低Copyright@2009成都信息工程学院(内部资料)242009年4月器件的资源Altera、Xilinx:数千门~数百万门;Lattice:数万门以下资源占用以仿真的结果为准,并应留有适当的余量(20%)芯片速度:芯片速度越高,其对微小毛刺信号的反应越灵敏,系统的稳定性越差器件功耗:工作电压越高功耗越大(5V,3.3V,2.5V,1.8V等)需专用的ROM进行数据配置布线延迟固定,时序特性稳定布线灵活,但时序特性不稳定ISP特性,编程加密ASIC的设计仿真编程数据不丢失,电路简单SoC设计免费软件支持大规模设计(5000~数百万门
本文标题:信号组讲座-可编程逻辑器件基础
链接地址:https://www.777doc.com/doc-50886 .html