FPGA概述以设计流程.docx
文本预览下载声明
3. 1 FPGA的出现和发展 可编程逻辑器件(Programmable Logic Device)可以完全由用户通过软件进行配置和编程,从而完成某种特定的逻辑功能。它是20世纪70年代在ASIC设计的基础上发展起来的新型逻辑器件,经过80年代的发展,PLD行业初步形成,而进入90年代,可编程逻辑器件成为半导体领域中发展最快的产品之一。 可编程逻辑器件的发展可以分为3个阶段。 早期的可编程逻辑器件只有可编程只读存储器(PROM),紫外线可擦除只读存储(EPROM)和电可擦除只读存储器(EEPROM)三种,由于结构的限制,它们只能完成简单的数字逻辑功能。 其后,出现了一类结构上稍复杂的可编程芯片,正式被称为可编程逻辑器件(PLD),它能够完成各种逻辑运算功能。典型的PLD由一个“与”门和一个“或”门阵列构成,任意的一个组合逻辑都可以用“与或”表达式来描述,所以,PLD能以乘积和的形式完成大量的组合逻辑运算。这一阶段的产品主要有PAL(可编程阵列逻辑)和GAL(通用逻辑阵列)。 PAL由一个可编程的“与”平面和一个固定的“或”平面构成,或门的输出可以通过触发器有选择的被置为寄存器状态。PAL器件是现场可编程的,它的实现工艺有反熔丝技术、EPROM技术和EEPROM技术。还有一类结构更为灵活的逻辑器件是可编程逻辑阵列(PLA),它也是由一个“与”平面和一个“或”平面构成,但是这两个平面的连接关系是可编程的。后来在PAL的基础上,又发展出了一种通用阵列逻辑GAL(Generic Array Logic),如GAL16V8,GAL22V 10等。它采用了EEPROM工艺,实现电可擦除,电可改写,其输出结构是可编程的逻辑宏单元,因而它的设计具有很强的灵活性,至今仍有许多人使用。 这些早期的PLD器件的一个共同特点是提高了逻辑运算的速度,但其过于简单的结构也只能实现规模较小的电路。为了弥补这一遗憾,1985年XILINX公司推出第一片现场可编程逻辑门阵列(Field Programmable Gate ArrayFPGA ),它具有体系结构和逻辑单元灵活,集成度高以及适用范围宽等特点,可实现较大规模的电路,编程也很灵活。至今,FPGA已经经历了20余年的发展历史。在这20余年的发展过程中,以FPGA为代表的数字系统现场集成技术取得了惊人的发展:FPGA从最初的1200个可利用门,发展到90年代的25万门,现在,国际上最著名的两家厂商ALTERA和XILINX公司都陆续推出了千万门级的单片FPGA芯片,将FPGA的集成度提高到了一个新的水平。3. 2 FPGA基本原理 FPGA和CPLD (Complex Programmable Logic Device,复杂可编程逻辑器件)一样都是可编程逻辑器件,它是在PAL, GAL等逻辑器件的基础上发展起来的。同以往的PAL, GAL相比,FPGA规模更大,它可以替代几十甚至几千快通用IC芯片。这样的FPGA实际上就是一个子系统部件,这种芯片受到全世界范围内电子工程设计人员的广泛关注和普遍欢迎。经过20多年的发展,许多公司都开发出了多种可编程逻辑器件,比较典型的是XILINX公司的FPGA器件系列和ALTERA公司的CPLD器件系列,它们开发较早,占据了较大的PLD市场。目前全球范围内的PLD/FPGA产品有60%以上都是由ALTERA和XILINX公司提供的。可以说是ALTERA和XILINX共同决定了PLD技术的发展方向。当然也有许多其它类型的器件,如Lattice, Vantis, Actel, Quicklogic, Lucent等。 采用查找表(Loop-Up-Table)结构的PLD芯片通常称为FPGA,如ALTERA公司的Cyclon系列,XILINX公司的Spartan和Virtex系列等。 查找表简称为LUT,它本质上就是一个RAM,目前FPGA中多使用4输入的LUT,所以每一个LUT可以看成一个有4位地址线的16X 1的RAM。当用户通过原理图或HDL语言描述了一个逻辑电路以后,PLD/FPGA开发软件会自动计算逻辑电路的所有可能的结果,并把结果事先写入RAM,这样,每输入一个信号进行逻辑运算就等于输入一个地址进行查表,找出地址对应的内容,然后输出即可。下面是一个4输入与门的例子。(表3-1:实际逻辑电路与LUT实现方式对比表) 表3-1实际逻辑电路与LUT实现比较图3-1为XILINX的Spartan-II的内部结构 Spartan-II主要包括CLBs, I/O块,RAM块和可编程连线(未表示出)。在spartan-II中,一个CLB包括2个Slices,每个Slices包括两个LUT,两个触发器和相关逻辑。Slices可以看成是SpartanII实现逻辑的最基本结构(XILI
显示全部