PLD是可编程逻辑器件_第1页
PLD是可编程逻辑器件_第2页
PLD是可编程逻辑器件_第3页
PLD是可编程逻辑器件_第4页
PLD是可编程逻辑器件_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

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

文档简介

PLD/FPGA新手入门PLD是可编程逻辑器fl*(ProgramableLogicDevice)的简称,FPGA是现场可编程门阵列(FieIdProgramab1eGateArray)的简称,两者的功能基木相同,只是实现原理略有不同,所以我们有时可以忽略这两者的区别,统称为可编程逻辑器件或PLD/FPGAoPLD是电子设il领域中垠具活力和发展前途的一项技术,它的影响丝毫不亚于70年代氓片机的发明和使用。PLD能做什么呢?可以毫不夸张的讲,PLD能完成任何数字器件的功能.上至高性能CP-下至简做的74电路,都可以用PLD来实现。PLD如同一张白纸或是一堆积木,工程师可以通过传统的原理图输入法,或是映件描述语言自由的设汁一个数字系统。通过软件仿真.我们可以事先验证设讣的正确性。在PCB完成以后,还可以利用PLD的在线修改能力.随时修改设计而不必改动硕件电路「使用PLD来开发数字电路,可以大大缩短设讣时间,减少PCB而积,提疵系统的可靠性。PLD的这些优点使得PLD技术在90年代以后得到飞速的发展,同时也大大推动fEDA软件和硕件描述语言(HDL)的进步。如何使用PLD呢?其实PLD的使用很简也学习PLD比学习单片机要简单的多,有数字电路基础,会使用计算机•就可以进行PLD的开发。不熟悉PLD的朋友.可以先看一看可编程逻辑器件的发展历乩开发PLD需要「解两个部分:1・PLD开发软件2.PLD木身1.PLD开发软件由于PLD轶件已经发展的相、”|完善,用户甚至可以不用详细了解PLD的内部结构,也可以用自己熟悉的方法:如原理图输入或HDL语言来完成相、勺优秀的PLD设汁。所以对初学者,首先应了解PLD开发软件和开发流程。了解PLD的内部结构,将有助干提高我们设讣的效率和可靠性。如何获得PLD开发软件软件呢?许多PLD公司都提供免费试用版或演示版(为然商业版大都是收费的),例如:可以免费从上下载Altera公司的QuartusII(web版),或向其代理商索取这套牧件。X】1inx公司也提供免费软件:ISEWebPack,这套可以从ihnx网站下箪戈。Lattice提供isplevcrBase版下载,Act"等公司也都有类似的免费软件提供。以上免费软件都需要在网上注册申请License文件,如果您对Liecnse的安装还有不清楚,请仔细阅读相关网页上的说明.也可以下载这篇文档:EDA软件的1icense管理与安装。通常这些免费软件已经能够满足一般设计的需要肖然,要想软件功能更强大一些, 只能购买商业版软件。如果您打算使用VHDL或VerilogHDL换件描述语言来开发PLD/FPGA.通常还需雯使用一些专业的HDL开发软件,这是因为FPGA厂商提供的软件的HDL综合能力一般都不是很强,需要其他软件来配合使川.详细情况可以通过浏览:开发软件栏目获得等多信息.对干PLD产品,一般分为:基干乘枳项(Product-Term)技术,EEPR0M(或Flash)1:艺的中小规模PLD,以及基

于查找表(Look-Uptable)技术,SRAM工艺的大规模PLD/FPGA。EEPR0M工艺的PLD密度小,多用于5,000门以下的小规模设计,适合做复杂的组合逻辑・如译码。SRAM工艺的PLD(FPGA),密度高,融发器多,多用于10.000门以上的大规模设计,适合做复杂的时序逻辑,如数字信号处理和各种算法。如希望进一步了解PLD/FPGA结构与原理,请点击此处。目前有女家公司生产CPLD/FPGA点大的三家是:ALTERA-XILINX,Lattice/您可以参阅PLD匚商栏目获得更多信息2.PLD/FPGA的分类和使用在PLD/FPGA开发软件中完成设讣以后,软件会产生一个昴终的褊程文件(如・pof)o如何将编程文件烧到PLD芯片中去呢?1.对于基于乘积项(Product-Term)技术,EEPROM(或Flash)J:艺的PLD(ft)A1tera的MAX系列,Lattice的大部分产品,Xilinx的XC9500,Coo1runner系列).厂家提供编程电缆,电缆一端装在计算机的并行打印口上,另一端接在PCB板上的一个十芯插头,PLD芯片有四个管脚(编程脚)与插头相连。(如图)下载ALTERA下载ALTERA编程电缆(ByteblasterMV)的数据手册下栽Xilinx编程电缆的电路原理图下载Lattice的电缆资料它向系统板上的器件提供配迓或编程数据,这就是所谓的在线可褊程(ISP,如下图)。Byteb1aster使用户能够独立地配宜PLD器件.而不需要褊程器或任何其它褊程换件。编程电缆可以向代理商购买,也可以根据厂家提供的褊程电缆的原理图自己制作成木仅需一,:十元。早期的PLD是不支持ISP的,它们需要用编程器烧写。目前的PLD都可以用ISP在线编程,也可用褊程湍编程。这种PLD可以加密,并且很难解密,所以常常用于单板加密。MountUnprogrammedProgramIn-SystemReprogramintheField1.将PLD焊在PCB板上 2.接好编程电缆 3.现场烧写PLD芯片2对于基于查找表 (LUT,Look-Uptable)技术,SRAM匚艺的FPGA($11Altera的所有FPGA,如ACEX.Cyclone,Stratix系列.Xi1inx的所有FPG扎如SpartamVirtex系列,Lattice的EC/ECP系列等),由于SRAM工艺的特点■掉电后数据会消失•踞此调试期间可以用下载电缆配宜PLD器件.调试完成后,需要将数据固化在一个专用的EEPROM中(用通用编程器烧写.也有一些可以用电缆直接改写儿上电时.由这片配SEEPROM先对FPGA加载数扯十几个亳秒到几百个亳秒后.FPGA即可正常上作° (亦可由CPU配置FPGA)。但SRANL工艺的PLD一般不可以直接加密。3还有一种反熔八.(Anti-fuse)技术的FPGA,illActel,Quicklogic的部分产品就采用这种工艺。但这种的PLD是不能重复擦写,需要使用专用编程器,所以开发过程比较麻烦.费用也比佼昂商。但反熔丝技术也有许多优点:布线能力更强.系统速度更快,功耗更低,同时抗辐射能力强,耐痈低温,可以加密,所以在一些有特殊要求的领域中运用较多,如军事及航空航天。为了解决反熔丝FPGA不可重复擦写的问题,Actel等公司在90年代中后期开发了基于Flash技术的FPGA,如ProASIC系列,这种FPGA不需要配置,数据直接保存在FPGA芯片中,用户可以改写(但需要10几伏的高电任)。随着技术的发展.在2004年以后.一些厂家推出了一些新的PLD和FPGA.这些产品模糊了PLD和FPGA的区别。例如AlteraM的MAXII系列PLD,这是一种基干FPGA(LUT)结构.集成配宜芯片的PLD,在木质上它就是一种在内部集成了配迓芯片的FPGA,但由于配宜时间极短,上电就可以上作,所以对用户来说,感觉不到配宜过程,可以传统的PLD一样使用,加上容址和传统PLD类似,所以altera把它归作?1。。还有像Lattice的XP系列FPGA,也是使用了同样的原理■将外部配置芯片集成到内部,在使用方法上和PLD类似但是因为容址大,性能和传统FPGA相同,也是LUT架构.所以Lattice仍把它归为FPGA.怎么样?对PLDFPGA的使用有了一定的r解J'吧,如有疑问,可在木站论坛:新于入口栏目上提出上提出大家一起讨论。PLD/FPGA结构与原理初步(二)一.查找表(Look-Up-Table)的原理与结构采用这种结构的PLD芯片我们也可以称之为FPGA:如altera的ACEX,APEX系列,xilinx的Spartan,Virtex系列等。查找农(Look-Up-Table)简称为LUT,LUT本质上就是个RAM。目前FPGA中多使用4输入的LUT,所以每个LUT可以看成个有4位地址线的16x1的RAM。当用户通过原理图或HDL语言描述了个逻辑电路以后,PLD/FPGA开发软件会自动计算逻辑电路的所有可能的结果,并把结果事先写入RAM,这样,每输入个信号进行逻辑运算就等于输入个地址进行查 表,找出地址对应的内容,然后输出即可。下而是个4输入与门的例了,实际逻辑电路LUT的实现方式

3I > 4 >OUt地址线ahI6xlMGLUT)输出JI2—、c d a,b,c,d输入逻辑输出地址RAM中存储的内容000000000000010000l0.•••6•••0mil111ll二基于查找表山顶]的FPGA的结构我们看看xilinxSparIan-II 的内部结构,如下图:COUT□□□□□□□aoDDOOOOOOOODDDDOFCINCExiIinxSpartan-II 芯片内部结构Slices结构Spartan-II主要包括CLBs,I/O块,RAM块和可编程连线(未茨示出〉。在spartan-II中,个CLB包括2个Slices,每个slices包括两个LUT,两个触发器和相关逻辑。SIices可以看成是Sparlanll实现逻辑的最基本结构(xilinx其他系列,如SpartanXL,Virtex的结构与此稍有不同,具体请参阅数据手册)alte2的FLEX/ACEX等芯片的结构如下图:珈单元Cefujm ImefconnecJ LABB1每个LAB由8个雕单元鼻珈单元Cefujm ImefconnecJ LABB1每个LAB由8个雕单元鼻fkLABASLABA4aIteraFLEX/ACEX芯片的内部结构aIteraFLEX/ACEX芯片的内部结构Cirryin查找表dataldata2data3data4Iabc«ri1l8bCBt2ChipWd©KesetlabcM3latx«4Uart-UpTabtoCorry3DChain洁零和置位逻辑Ctoi*

Proset

LogicOodkSotoct全局时钟Carry-OiMCMMdM-Outwww.£Cirryin查找表dataldata2data3data4Iabc«ri1l8bCBt2ChipWd©KesetlabcM3latx«4Uart-UpTabtoCorry3DChain洁零和置位逻辑Ctoi*

Proset

LogicOodkSotoct全局时钟Carry-OiMCMMdM-Outwww.£逻辑单元(LE)内部结构FLEX/ACEX的结构主要包括LAB,I/O块,RAM块(未衣示出)和可编程行/列连线。在FLEX/ACEX中,个LAB包括8个逻辑单元(LE),每个LE包括个LUT,个触发器和相关的相关逻辑。LE是FLEX/ACEX芯片实现逻辑的最基本结构(altera其他系列,如APEX的结构与此基本相同,具体请参阅数据手册)二.查找表结构的FPGA逻辑实现原理我们还是以这个电路的为例:OUT我们还是以这个电路的为例:OUTA,B,C,D由FPGA芯片的管脚输入后进入可编程连线,然后作为地址线连到到LUT.LUT中已经事先写入了所有可能的逻辑结果,通过地址查找到相应的数据然后输出,这样组合逻辑就实现r-该电路中D触发器是直接利用LUT后面D触发器来实现。时钟信号CLK由I/O脚输入后进入芯片内部的时钟专用通道,宜接连接到触发器的时钟端。触发器的输出与I/O脚相连,把结果输出到芯片管脚。这样PLD就完成了图3所示电路的功能。(以上这些步骤都是由软件自动完成的,不需要人为干预)这个电路是个很简单的例子,只需要个LUT加上-个触发器就可以完成。对于个LUT无法完成的的电路,就需要通过进位逻辑将多个单元相连,这样FPGA就可以实现复杂的逻辑。由于LUT主耍适合SRAME艺生产,所以目前人部分FPGA都是基于SRAM工艺的,而SRAMX艺的芯片在掉电后信息就会丢失,-定需要外加片专用配置芯片,在上电的时候,由这个专用配置芯片把数据加载到FPGA中,然后FPGA就可以正常工作,由于配置时间很短,不会影响系统正常工作。也有少数FPGA采用反熔幺幺或FlashE艺,对这种FPGA,就不需要外加专用的配置芯片。三其他类型的FPGA和PLD随着技术的发展,在2004年以后,-些厂家推!BY-些新的PLD和FPGA,这些产品模糊了PLD和FPGA的区别。例如A1tera

温馨提示

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

最新文档

评论

0/150

提交评论