第六章FPGA导论_第1页
第六章FPGA导论_第2页
第六章FPGA导论_第3页
第六章FPGA导论_第4页
第六章FPGA导论_第5页
已阅读5页,还剩62页未读 继续免费阅读

下载本文档

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

文档简介

1、第六章 FPGA简介什么是FPGA FPGA:Field Programmable Gate Array(现场可编程门阵列)IOBPICCLB包含多个逻辑单元FPGA是可用来进行大规模数字系统设计的一种编程 器件。6.1 可编程逻辑器件简介 逻辑器件逻辑器件:用来实现某种特定逻辑功能的电子器件,最简单的逻辑器件是与、或、非门(74LS00,74LS04等),在此基础上可实现复杂的时序和组合逻辑功能。 可编程逻辑器件可编程逻辑器件(PLDProgrammable Logic Device):器件的功能不是固定不变的,而是可根据用户的需要而进行改变,即由编程的方法来确定器件的逻辑功能。 PLD:实

2、际上是一种电路的半成品芯片,这种芯片按 一定排列 方式继集成了大量的门和触发器等基本逻辑元件,出厂时不具有特定的逻辑功能,需要用户对其编程,使芯片内部的可编程连接点进行电路连接,使之完成某个逻辑电路或系统的功能。 产生背景通用IC:中小规模IC专用IC:ASIC集成度低功能固定设计周期长投资大PLD灵活性好集成度高=1&11&1与与或或非非与非与非或非或非异或异或门电路符号中美对照表6.2 PLD逻辑表示方法及图形符号PLD的逻辑表示方法的逻辑表示方法固定连接固定连接编程连接编程连接不连接不连接熔丝或熔丝或其他开其他开关器件关器件PLD的图形符号的图形符号缓冲门缓冲门AAA&a

3、mp;1AAAABCY与门与门AY&BCABCY或门或门AY1BCABCY AY&B可编程连接可编程连接或不连接或不连接实现的函数为:实现的函数为:BABAF1BABAF2BAF3举例练习6.3 PLD的分类与结构(1)与固定、或编程:)与固定、或编程:ROM和和PROM(2)与或全编程:)与或全编程:PLA(3)与编程、或固定:)与编程、或固定:PAL、GAL1) 与固定、或编程与固定、或编程:PLD基本结构大致相同,根据与或阵列是否可编程分为三类:基本结构大致相同,根据与或阵列是否可编程分为三类:ROM/PROM全译码2)与或全编程:)与或全编程:PLAO2 O1 O0I2

4、 I1 I0输出输入AND阵列可编程OR阵列可编程举例:用举例:用PLA实现三八译码器实现三八译码器三八译码器真值表三八译码器真值表0120AAAY0121AAAY0127AAAYA2A1A0A2A1A0A2 A1 A0Y0 Y1 Y7A2A1A00 0 0 只只 =0Y00 0 1 只只 =0Y11 1 1 只只 =0输出输出Y73) 与编程、或固定与编程、或固定:PAL、GAL逻辑宏单元OLMCGAL与PAL的不同:PAL寄存器输出结构可编程结构专用输出结构异或输出结构运算反馈结构GAL:OLMC结构 每个OLMC包含或阵列中的一个或门 组成: 异或门:控制输出信号的极性 D触发器:适合设

5、计时序电路 4个多路选择器输出使能选择反馈信号选择或门控制选择输出选择OLMC结构图 专用输入模式 专用组合输出模式 反馈组合输出模式 时序电路中的组合输出模式 寄存器输出模式根据OLMC的结构,可以设置它的5种工作模式。只要给GAL器件写入不同的结构控制字,就可以得到不同的输出结构,这些电路结构完全可以取代PAL器件的各种输出电路结构。(1)PROM(2)PLA(3)PAL(4)GAL简单简单较复杂较复杂特点:可以实现速度较好的逻辑功能限制:因结构简单,只能实现规模较小的电路PLD:可编程逻辑器件(Programable Logic Device)6.4 PLD的发展 20世纪70年代中期,

6、PLA(可编程逻辑阵列),由可编程的 与阵列和或阵列组成,价格昂贵,编程复杂,支持PLA的 开发软件有一定难度,器件资源利用率低,因而没有得到 广泛应用。 20世纪70年代末期,PAL(可编程阵列逻辑),由可编程的 与阵列和固定的或阵列组成,采用熔丝编程方式,由于输出 的种类多,设计灵活,器件的工作速度好,得到普遍应用。 20世纪80年代初期,GAL(通用阵列逻辑),由Lattice公司 发明,与PAL相比,GAL增加了输出逻辑宏单元,并且具有 可擦电写,可重复编程、可设置加密位的优点。 GAL器件对 PAL器件仿真具有100%的兼容性,所以几乎完全替代了PAL, 得到广泛应用。 20世纪80

7、年代中期,EPLD(可擦除PLD),由Altera公司 推出,基本单元是宏单元(由可编程的与阵列、可编程寄存器、 可编程I/O组成),集成密度大大提高,内部连线相对固定,延 时小,有利于器件在高频下工作,但内部互连能力十分弱。 1985年,FPGA(现场可编程门阵列),由Xilinx公司推出, 内部由许多独立的可编程模块组成,模块之间可以灵活的 相互连接。 20世纪80年代末期,CPLD(复杂PLD),由Lattice公司 在EPLD的基础上改进,增加了内部连线,宏单元和I/O也有 所改进。有的还集成了RAM、FIFO等,以适应DSP的要求。 20世纪末期,SOPC(片上可编程系统),将EDA

8、技术、 计算机系统、嵌入式系统、数字逻辑系统、DSP等融为一体, 涵盖了嵌入式系统设计技术的全部内容。6.5 FPGA/CPLD简介CPLD和FPGA分别是Altera公司和Xilinx公司在20世纪80年代中期推出的高密度PLD(1)PROM(2)PLA(3)PAL(4)GALFPGACPLD结构简单功能受到限制生产FPGA/CPLD的三大厂商主要产品有:MAX3000/7000,FLEX10K,APEX20K,ACEX1K,Stratix,Cyclone等。开发软件为QuartusII。主要产品有:XC9500,Coolrunner ,Spartan, Virtex等开发软件为ISE。主要

9、产品有ispMACH4000,EC/ECP,XO,XP以及可编程模拟器件等FLEX6000800010KAPEX20K、ACEX1K、APEXMercury、Excalibur和StratixFPGASpartan-、Spartan- EVirtex-、Virtex- ProXilinxAltera代表产品: CPLD XilinxXC9500系列CoolRunner系列AlteraMax7000系列Max5000系列FPGA和CPLD结构各有特点和长处,但概括起来,都由三大部分组成。 逻辑阵列块:用于实现用户定义的基本逻辑功能 输入输出单元:实现内部逻辑与器件封装引脚之间的接口 可编程内部连

10、线:完成模块间的信号传递6.5.1 FPGA的结构 内部结构称为LCA(Logic Cell Array)由三个部分组成:可配置逻辑块CLB(Configurable Logic Block)可编程输入输出模块(IOB)可编程内部连线PIC (Programmable InterConnet)IOBPICCLB包含多个逻辑单元Spartan-和Spartan-E系列产品内部结构 CLBs I/O块 RAM块 可编程连线(未标出)Spartan-II主要包括可配置逻辑模块CLB在Spartan-II中,一个CLB包括2个Slices,每个slices包括两个LUT,两个触发器和相关逻辑。 Sli

11、ces可以看成是Spartan-II实现逻辑的最基本结构 。 简称为LUT,本质上是一个RAM。v 查找表(查找表(Look-Up-Table) 目前多使用4输入的LUT,所以每个LUT可以看成一个有4位地址 线的16x1的RAM。 当用户通过原理图或HDL语言描述了一个逻辑电路以后,FPGA开发软件会自动计算逻辑电路的所有可能的结果,并把结果事先写入RAM,这样每输入一个信号进行逻辑运算就等于输入一个地址进行查表,找出地址对应的内容,然后输出即可。LUT举例:4-输入与门实际逻辑电路LUT的实现方式 a,b,c,d 输入逻辑输出地址RAM中存储的内容00000000000001000010.

12、0.01111111111Spartan-和和Spartan-E切片(切片(Slice)结构)结构 进位逻辑控制时钟允许信号每个CLB包含4个LUT,其中每个LUT的输出都可以通过CLB内部的可编程布线资源连接到其他3个LUT的输入端,以减少在连线上的延迟。RegisterLogicRegisterLogicRegisterRegisterLogic可编程输入输出模块(IOB) 可编程延迟(Programmable Delay)n 可编程输出缓冲器(Programmable Output Buffer)n 可编程输入缓冲器(Programmable Input Buffer )n 偏置和ESD

13、网络(Bias &ESD Network )n 内部基准(Internal Reference)n 到下一个I/O的连接( To Next I/O)n 到另一个Bank VREF输入端的连接(To Other External VREF Inputs of Bank)n I/O等输入输出直接连接到封装引脚端(Package Pin)v IOB模块提供FPGA内部逻辑与外部封装管脚之间的接口。v IOB内部包含有: Spartan-和Spartan-E的IOB内部结构内部基准偏置和ESD网络在IOB模块中,三个内部寄存器共享一个时钟信号(CLK)和置位复位信号(SR),具有独立的使能信号

14、OCE、TCE和ICE,可以实现D触发器和锁存器功能。输入输出单元主要分为三个通道:输出通道、输入通道和三态控制通道。通过编程可以使输入/输出管脚分别定义成输入信号、输出信号、寄存器输入信号、寄存器输出信号、三态信号。可编程内部连线(PIC) PIC是连接CLB、IOB的通道。布线资源主要由金属连线和可编程开关矩阵PSM (Programmable Switch Matrix)组成。连线有3种类型: 连线:每个CLB在垂直和水平方向上有8根连线,用于连接局部 区域之间的信号 双倍长连线:长度是连线的2倍,跨越2个CLB,主要连接中长距离 的信号 长连线:长线不通过转接矩阵而直接贯通整个芯片,适

15、宜于距离长、 延时要求小的高扇出网络(如时钟网络等)。通过可编 程开关,可分为两根长连线BACADABBCBDBBCCCDC开关矩阵通用互连的金属网格线可编程开关矩阵PSM的开关由晶体管完成,每个水平连线和垂直连线的交汇点处,有6个晶体管,实现信号的连接5161718192015141312116789104321 1612345109876111213171814152019PSM内部互连Block RAMv 在Spartan-和Spartan-E系列产品中,Block RAM是一个完全同步的双端口 RAM,端口的数据宽度可独立配置。通过级联多个通过级联多个Block RAM可以实现可以实现

16、FPGA内部的大容量数据存储。内部的大容量数据存储。BlockRAM示意图 BlockRAM单位容量为4Kbit 不同型号的产品, BlockRAM数量不同双口RAM 是在一个存储器上具有两套完全独立的数据线、地址线和读写控制线,并允许两个独立的系统同时对该存储器进行随机性的访问,即共享式多端口存储器。 Block RAM 端口纵横比延迟锁相环DLL(Delay Locked Loop)在Spartan-和Spartan-E系列产品中,Xilinx公司一直采用数字延迟锁相环技术进行 FPGA内部的时钟控制。 消除时钟相位偏移 变换时钟频率 (倍频或分频) 调整时钟输出相位DLL结构示意图DLL

17、不支持任意系数分频,其分频系数可以是 1.5、2、2.5、3、4、5、8或者 16。每个全局时钟缓冲器都与数字延迟锁相环(DLL)相连,每个DLL可以驱动两个全局时钟网络。通过监控输入时钟信号和分布时钟信号,DLL可以自动调整并消除输入时钟信号与FPGA内部分布时钟信号之间的相位偏移,从而保证到达内部触发器的时钟边沿与时钟输入管脚的信号同步。 调整时钟输出相位 变换时钟频率为保证 FPGA在启动前获得正确的时钟,下载配置过程可以在 DLL锁定时钟信号后结束。6.5.2 CPLD器件结构一.基于乘积项乘积项(Product-Term)的PLD结构 采用这种结构的PLD芯片有: Altera的 M

18、AX7000,MAX3000系列(EEPROM工艺) Xilinx的XC9500系列(Flash工艺) Lattice, Cypress的大部分产品(EEPROM工艺)CPLD内部结构(Altera的MAX7000S系列)逻辑阵列模块中包含多个宏单元这种PLD可分为三块结构: 宏单元(Marocell) 宏单元是PLD的基本结构,由它来实现基本的逻辑功能 可编程连线(PIA) 可编程连线负责信号传递,连接所有的宏单元。 I/O控制块 I/O控制块负责输入输出的电气特性控制,比如可以设定 集电极开路输出,摆率控制,三态输出等。图中左上的INPUT/GCLK1,INPUT/GCLRn,INPUT/

19、OE1,INPUT/OE2 是全局时钟,清零和输出使能信号,这几个信号有专用连线与PLD中每个宏单元相连,信号到每个宏单元的延时相同并且延时最短。宏单元内部结构乘积项逻辑阵列乘积项选择矩阵可编程触发器 图左侧是乘积项阵列,实际就是一个与或阵列,每一个交 叉点都是一个可编程熔丝,如果导通就是实现“与”逻辑。后 面的乘积项选择矩阵是一个“或”阵列。两者一起完成组合逻 辑。 图右侧是一个可编程D触发器,它的时钟,清零输入都可以 编程选择,可以使用专用的全局清零和全局时钟,也可以使 用内部逻辑(乘积项阵列)产生的时钟和清零。如果不需要 触发器,也可以将此触发器旁路,信号直接输给PIA或输出 到I/O脚

20、。扩展乘积项(一)扩展乘积项(一) 共享扩展乘积项结构共享扩展乘积项结构 共享扩展项共享扩展项 扩展乘积项(二)扩展乘积项(二) 并联扩展项馈送方式并联扩展项馈送方式 并联扩展项并联扩展项 可编程的I/O单元 能兼容TTL和CMOS多种接口和电压标准 可配置为输入、输出、双向、集电极开路和三态等形式 能提供适当的驱动电流 降低功耗,防止过冲和减少电源噪声 支持多种接口电压(降低功耗) 1.20.5um,5V 0.35um,3.3V 0.25um,internal 2.5V,I/O3.3V 0.18um,internal 1.8V,I/O2.5V and 3.3V可编程连线阵列(PIA)v在各个

21、逻辑宏单元之间以及逻辑宏单元与I/O单元之间提供信号连接的网络v CPLD中一般采用固定长度的线段固定长度的线段来进行连接,因此信号传输的延时是固定的,使得时间性能容易预测。可编程连线阵列可编程连线阵列(PIA)(PIA) PIA信号布线到信号布线到LAB的方式的方式 6.5.3 FPGA和CPLD的比较FPGA和CPLD都有自己的优势和弱项,但是它们的设计方法和使用EDA软件的设计过程都是相似的CPLDFPGA集成规模小(最大数万门)大(最高达百万门)单元粒度大(PAL结构)小(PROM结构)互联方式纵横分段总线、长线、专用互连编程工艺EPROM、EEROM、FlashSRAM触发器数少多单

22、元功能强弱速度高低管脚-管脚延迟确定,可预测不确定、不可预测功耗/每个逻辑门高低在决定使用CPLD还是FPGA逻辑器件之前,应该考虑需要完成具体设计的逻辑功能和需要占用的逻辑资源,然后根据CPLD和FPGA的特点,选择合适的器件。 CPLD适合完成复杂的状态机和多输入的组合逻辑,如存储器和总线控制器, 编码和译码器等。因为一个逻辑单元可以实现十几个输入的组合逻辑,而 一般的FPGA的一个查找表LUT只能实现4个输入的组合逻辑。 FPGA的制造工艺,确定了FPGA芯片中包含的查找表LUT和触发器比较多, 因此如果设计中需要使用大量寄存器才能完成复杂的时序逻辑,则使用 FPGA是一个很好的选择,例

23、如PCI总线控制器、加法器、CPU、DSP和计数器。 Xilinx公司成立于1984年,首创了现场可编程逻辑阵列(FPGA)这一创新性的技术,并于1985年首次推出商业化产品。目前Xilinx满足了全世界对FPGA产品一半以上的需求. 传统的半导体公司仅有几百个客户,而Xilinx在全世界有7500多家客户以及50000多个设计开端,其中包括EMC、IBM、Nokia、Motorola、Siemens、Sony、Sun Microsystem、Cisco Systems等等. 总部设于加利福利亚圣何塞市,为NASDAQ上市公司。6.5 Xilinx FPGA产品介绍 作为全球领先的可编程逻辑完

24、整解决方案供应商,其研发、制造并销售范围广泛的高级集成电路、软件设计工具(ISE12.3官方发布最高版本)以及作为预定义系统级功能的IP(Intellectual Property)核。客户使用Xilinx及其合作伙伴的自动化软件和IP核对器件进行编程,从而完成特定的逻辑操作。 财富杂志2003年“100家最适合工作的企业”排名中,Xilinx名列第四位,并被广泛认为是半导体行业中管理最佳、财务状况良好的高科技企业。 旧金山编年史也把Xilinx选为硅谷最适合工作的五十家企业之一。v XILINX 的主流FPGA分两大类: 一种侧重于低成本应用,容量中等,可以满足一般的逻辑设计要求 如Spar

25、tan系列。 一种侧重于高成本应用,容量大,能满各类高端应用 如Virtex系列。用户可以根据自己实际应用在性能可以满足的情况下,优先选择低成本器件。 Spartan系列:系列:该系列产品已用于大批量应用,如通信和消费类(机顶盒和平板电视); Spartan-II系列:系列:给用户提供了高性能、丰富的逻辑资源和充足的特征集,该系列家族中的六大成员其系统门级密度达到了从15000到200000不等。 Spartan系列产品(一)系列产品(一) Spartan-3A系列FPGA平台对比系统要求系统要求3A3AN3A DSP多功能嵌入式处理是是是最佳存储架构是是是低成本安全性是是是集成Flash存储

26、是单芯片非易失性是高性能DSP性能是增强型电源管理是是是 Virtex系列:侧重于高性能应用,容量较大,可以满足各式各样的高端应用。当前Virtex系列包括了Virtex-II,Virtex-4,Virtex-5,以及最新的Virtex-6。各个系列都有针对不同应用的版本,比如说DSP算法的,嵌入式系统设计的。 Virtex-II FPGA采用0.15um、1.5v工艺技术制造而成,拥有420M内部时钟,840Mb/s可编程I/O块,具有强大的计算存储能力。 Virtex系列产品(一)系列产品(一)Virtex-II Pro的原理图 Virtex-5系列对比表系统要求系统要求LXLXTSXTFXTTXT逻辑是高密度ASIC原型开发逻辑是是是通用处理是是是是高性能处理是数字信号处理是是低功耗串行IO是是高性能串行IO是是片上系统设计是 Virtex-5系列产品(一)系列产品(一) Virtex-5特性对比表特性特性LXLXTSXTFXTTXTExpressFabric 架构;6输入LUT是是是是是550M时钟控制管理通道2-62-62-62-661.25Gbps Select IO技术是是是是是3.75Gbps RocketIO GTP

温馨提示

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

评论

0/150

提交评论