版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
FPGA与
硬件描述语言2016.4第二章可编程逻辑器件2.1可编程逻辑器件的发展历程2.2可编程逻辑器件的基本结构与分类2.3简单可编程逻辑器件2.4复杂可编程逻辑器件
2.5现场可编程门阵列FPGA可编程逻辑器件—发展历程可编程逻辑器件是近十几年才发展起来的一种新型集成电路现代的可编程逻辑器件以EEPROM、SRAM或Flash为基础,由用户根据自己的需要对其进行编程,确定芯片的功能可编程逻辑器件—发展历程标准逻辑器件TTL工艺制造的74/54系列和用CMOS工艺制造的CD4000系列软件配置的器件CPU和单片机专用集成电路ASIC和可编程逻辑器件数字集成电路的发展历程可编程逻辑器件—发展历程在历史上,可编程逻辑器件经历了如下发展过程,在结构、工艺、集成度、功能、速度和灵活性方面都有了很大的改进和提高PLAPALGALEPLDCPLD/FPGA可编程逻辑器件—发展历程最早的可编程逻辑器件是1970年出现的PROM(ProgrammableRead-OnlyMemory)由固定的全译码与阵列和可编程的或阵列组成,采用熔丝工艺制造,只能写一次,不可擦除阵列规模大、速度低,主要被作为存储器使用可编程逻辑器件—发展历程EPROM(ErasableProgrammableRead-OnlyMemory)EEPROM(E2PROM,ElectricallyErasableProgrammableRead-OnlyMemory)可编程逻辑器件—发展历程Flash(Flash
EEPROMMemory)可编程逻辑器件—发展历程20世纪70年代中期出现了可编程逻辑阵列器件PLA(ProgrammableLogicArray)PLA是基于与或阵列的器件,PLA的与阵列和或阵列均可编程PLA编程复杂,开发起来相对困难,并且器件的资源利用率低可编程逻辑器件—发展历程20世纪70年代末,美国MMI公司,推出了可编程阵列逻辑器件PAL(ProgrammableArrayLogic)PAL由可编程的与阵列和固定的或阵列组成,是基于与或阵列的器件PAL可以达到很高的工作速度,并且它的输出结构种类很多,设计也很灵活可编程逻辑器件—发展历程20世纪80年代初,Lattice公司发明了通用阵列逻辑器件GAL(GenericArrayLogic)与PAL相比,GAL增加了输出逻辑宏单元(OLMC,OutputLogicMacroCell),并且具有可擦除、可重复编程、数据可长期保存和可重新组合结构等优点GAL比PAL使用更加灵活,典型的GAL器件可以取代几乎所有的PAL器件可编程逻辑器件—发展历程PLA、PAL和GAL同属低密度的PLD,其规模小,难以实现复杂的逻辑功能从20世纪80年代末开始,随着集成电路工艺水平的不断提高,PLD突破了传统的单一结构,向着高密度、高速度、低功耗以及结构体系更灵活的方向发展,相继出现了各种不同结构的高密度PLD可编程逻辑器件—发展历程20世纪80年代中期,Altera公司推出了一种新型的可编程逻辑器件EPLD(ErasableProgrammableLogicDevice)EPLD基于CMOS和EPROM工艺制造,集成度比PAL和GAL高得多,设计也更加灵活EPLD保留了逻辑块结构,即使是规模很大的EPLD的内部延时也很小EPLD最大的缺点在于其内部互连能力比较弱,现在已不常使用可编程逻辑器件—发展历程1985年Xillinx公司推出了现场可编程门阵列器件FPGAFPGA是一种新型的高密度PLD,采用标准CMOS工艺制造,其内部由许多独立的可编程逻辑模块组成,逻辑块之间可以灵活地相互连接FPGA的功能由逻辑结构的配置数据决定,片内的SRAM或者熔丝图用于工作时存放配置数据FPGA具有密度高、编程速度快、设计灵活和设计可再配置等优点可编程逻辑器件—发展历程20世纪80年代末,Lattice公司提出了在系统可编程ISP(InSystemProgrammable)技术此后基于这一技术相继出现了一系列具备在系统可编程能力的复杂可编程逻辑器件CPLD(ComplexProgrammableLogicDevice)CPLD是在EPLD的基础上发展起来的,增加了内部互连线,改进了内部结构体系,增加了触发器的数量CPLD的性能比EPLD更好,设计也更加灵活可编程逻辑器件—发展历程进入20世纪90年代以后,高密度PLD在生产工艺、器件的编程和测试技术等方面都有了飞速发展FPGA的集成度已经可以达到100万个等效PLD门,最高工作频率可以达到100MHz以上CPLD产品的集成度最多可达25万个等效门,最高工作速度已达180MHz第二章可编程逻辑器件2.1可编程逻辑器件的发展历程2.2可编程逻辑器件的基本结构与分类2.3简单可编程逻辑器件2.4复杂可编程逻辑器件
2.5现场可编程门阵列FPGA可编程逻辑器件—基本结构根据已学过的数电相关知识,任何的组合逻辑都可以用与―或表达式来表示因此现在使用的可编程逻辑器件普遍都有相似的内部结构,是由输入电路、与阵列、或阵列和输出电路几部分构成可编程逻辑器件—基本结构可编程逻辑器件结构示意图可编程逻辑器件—基本结构PLD输入电路PLD与门表示法PLD或门表示法可编程逻辑器件—基本结构可编程逻辑器件—分类集成度是可编程逻辑器件一项非常重要的指标,通常根据这个指标将其分为低密度可编程逻辑器件(LDPLD,LowDensityProgrammableLogicDevice)和高密度可编程逻辑器件(HDPLD,HighDensityProgrammableLogicDevice)可编程逻辑器件—分类PLDLDPLDPROMPLAPALGALHDPLDEPLDCPLDFPGA可编程逻辑器件(按集成度)分类示意图第二章可编程逻辑器件2.1可编程逻辑器件的发展历程2.2可编程逻辑器件的基本结构与分类2.3简单可编程逻辑器件2.4复杂可编程逻辑器件
2.5现场可编程门阵列FPGA可编程逻辑器件—简单可编程逻辑器件简单可编程逻辑器件一般仅由与阵列和或阵列组成,因此这类器件一般只能完成组合逻辑功能简单可编程逻辑器件的输入信号首先通过与阵列产生乘积项,然后经过或阵列完成相加,因此用简单可编程逻辑器件完成组合逻辑功能是非常有效的简单可编程逻辑器件的结构决定了在对其进行编程时不需要考虑布局布线的问题,因此其性能是完全可以被预测的,这是简单可编程逻辑器件最大的优点可编程逻辑器件—简单可编程逻辑器件根据刚才对可编程逻辑器件的分类,我们可以知道,简单可编程逻辑器件就是早期的低密度可编程逻辑器件简单可编程逻辑器件一般包括PROM、PLA、PAL和GAL这几种类型的器件,区分它们的标准是与阵列和或阵列是否可以被编程可编程逻辑器件—简单可编程逻辑器件A2A1A0D3D2D1D000000100011110010010001100011001011101100011000011110100
可编程逻辑器件—简单可编程逻辑器件PLA阵列结构可编程逻辑器件—简单可编程逻辑器件优点缺点因为与阵列是可编程的,它不需要准备输入信号的所有可能组合,因此它的器件规模不会像PROM那样随着输入信号数目的增加而增加这一优点使得器件芯片的利用率大大提高迄今为止没有开发出一种高效高质量的PLA编程工具PLA器件制造工艺复杂,工作速度很低,输出结构存在着缺陷PLA已经无法满足设计现代数字系统的需要了,现在基本上已经不使用了可编程逻辑器件—简单可编程逻辑器件PAL阵列结构可编程逻辑器件—简单可编程逻辑器件PAL器件的优点阵列结构上的优势PAL拥有成熟的开发工具具有较高的工作速度和性能可编程逻辑器件—简单可编程逻辑器件GAL与PAL有什么不同?PAL和GAL采用不同的工艺制造:PAL用熔丝工艺制造,只可进行一次编程;而GAL的制造工艺为制造EEPROM的浮栅技术,可以方便地实现电擦除并进行多次改写,大大方便了用户的使用PAL和GAL的输出结构不一样,PAL的输出结构是固定的(一般为三态门和寄存器输出);而GAL在每个输出端都集成了一个可编程的输出逻辑宏单元OLMC,因此在使用GAL时,用户可以自定义输出结构可编程逻辑器件—简单可编程逻辑器件GAL16V8的逻辑框图可编程逻辑器件—简单可编程逻辑器件OLMC的内部结构可编程逻辑器件—简单可编程逻辑器件GAL的优点GAL的缺点通过编程可以把OLMC配置成多种输出结构,很容易就可以实现PAL有限的几种输出结构几种普通的GAL器件就可以完全代替几乎所有型号PAL器件GAL的芯片规模小,无法完成较复杂的逻辑电路功能后来出现的FPGA和CPLD已经取代了GAL在可编程逻辑器件中的主流地位可编程逻辑器件—简单可编程逻辑器件器件类型与阵列或阵列输出结构PROM固定可编程固定PLA可编程可编程固定PAL可编程固定固定GAL可编程固定可编程第二章可编程逻辑器件2.1可编程逻辑器件的发展历程2.2可编程逻辑器件的基本结构与分类2.3简单可编程逻辑器件2.4复杂可编程逻辑器件
2.5现场可编程门阵列FPGA可编程逻辑器件—复杂可编程逻辑器件复杂可编程逻辑器件(CPLD)是从低密度可编程逻辑器件PAL、GAL发展而来的高密度可编程逻辑器件规模可以达到几十万门、甚至上百万门,而工作速度可以达到100MHz以上CPLD已经成为主流的可编程逻辑器件之一可编程逻辑器件—复杂可编程逻辑器件CPLD的三大组成部分:逻辑阵列快LAB(LogicArrayBlock)可编程连线阵列PIA(ProgrammableInterconnectArray)可编程I/O单元可编程逻辑器件—复杂可编程逻辑器件CPLD结构框图可编程逻辑器件—复杂可编程逻辑器件LABPIAI/O控制块LAB包括与阵列、可编程的触发器以及多路选择器等单元电路,每个LAB都可以独立地配置成组合逻辑电路或者时序逻辑电路来使用PIA提供CPLD内部LAB之间以及LAB与I/O之间的互联CPLD的可编程I/O控制块允许单独的把每个管脚配置成输入、输出或者双向工作方式LAB主要的结构特点体现在多触发器结构、乘积项共享、异步时钟和时钟选择互联可以在不改变管脚配置的情况下改变内部设计,具有很大的灵活性内部连线延时是累加的(可预测),设计是可以得到较好的时序性能每个I/O管脚都配备一个三态缓冲器,三态缓冲器受全局输出使能信号控制可编程逻辑器件—复杂可编程逻辑器件MAX7000系列器件的主要特点及性能:基于电可擦除可编程只读存储器(EEPROM)的MAX7000产品采用第二代多阵列矩阵(MAX)架构,用先进的CMOS工艺制造,提供从32到512个宏单元的密度范围,速度达3.5ns的管脚到管脚延时MAX7000器件支持在系统可编程能力(ISP),可以再现场轻松进行配置可编程逻辑器件—复杂可编程逻辑器件特性EPM7032EPM7064EPM7096EPM7128EEPM7160EEPM7192EEPM7265E可用门数600125018002500320037505000宏单元数326496128160192256逻辑阵列块2468101216最大用户I/O数366876100105124164MAX7000/MAX7000E器件特点可编程逻辑器件—复杂可编程逻辑器件特性EPM7032SEPM7064SEPM7128SEPM7160SEPM7192SEPM7256S可用门数60012502500320037505000宏单元数3264128160192256逻辑阵列块248101216最大用户I/O数3668100104124164MAX7000S器件特点可编程逻辑器件—复杂可编程逻辑器件MAX7000S特有性能:具有标准JTAG接口,提供在系统可编程能力ISP提供128个或更多宏单元的内建JTAG边界扫描测试电路可编程逻辑器件—复杂可编程逻辑器件MAX7000系列器件的整体结构主要包括以下几个部分:逻辑阵列块LAB扩展乘积项(分共享和并联两种)可编程连线阵列PIAI/O控制块可编程逻辑器件—复杂可编程逻辑器件EPM7032/EPM7064/EPM7096器件的整体结构可编程逻辑器件—复杂可编程逻辑器件MAX7000E/S器件的整体结构可编程逻辑器件—复杂可编程逻辑器件MAX7000器件结构—逻辑阵列块LAB每个LAB有如下输入信号:来自PIA的36个输入信号,用作通用逻辑输入用作二级寄存器功能的全局控制信号MAX7000E/S器件提供了从I/O管脚到寄存器的直接路径,这样可以减小器件的建立时间可编程逻辑器件—复杂可编程逻辑器件MAX7000器件结构—宏单元(Macrocell)宏单元包括3个功能块:逻辑阵列乘积项选择矩阵可编程寄存器可编程逻辑器件—复杂可编程逻辑器件EPM7032/EPM7064/EPM7096器件的宏单元结构可编程逻辑器件—复杂可编程逻辑器件MAX7000E/S器件的宏单元结构可编程逻辑器件—复杂可编程逻辑器件MAX7000器件结构—宏单元宏单元中作为寄存器使用的触发器可以单独的编程为由可编程时钟控制的D、T、JK或RS触发器这些触发器还可以被旁路以实现组合逻辑在设计输入的时候,用户指定期望的触发器类型,开发工具为每一个寄存器功能选择最有效的触发器工作方式,这样做的目的是优化资源的使用可编程逻辑器件—复杂可编程逻辑器件MAX7000器件结构—宏单元每个可编程寄存器可以有3中钟控模式:采用全局时钟信号采用全局时钟信号和“高电平有效”的时钟使能信号用乘积项实现阵列时钟可编程逻辑器件—复杂可编程逻辑器件MAX7000器件结构—宏单元EPM7032、EPM7064和EPM7096器件的全局时钟信号由专用时钟管脚GCLK输入。而在MAX7000E和MAX7000S中,可以有2个全局时钟信号。这两个时钟信号可以从全局时钟管脚GCLK1和GCLK2输入,或者将两个管脚的输入信号“取反”后得到。可编程逻辑器件—复杂可编程逻辑器件MAX7000器件结构—宏单元每个寄存器都支持异步置位和清零功能这两个功能是由乘积项选择矩阵分配乘积项来实现的虽然由乘积项驱动的寄存器清零和置位是高电平有效,但只要在逻辑阵列中将相应信号反相即可得到低电平有效的控制此外,每个寄存器的清零功能可以由低电平有效的全局复位信号GCLRn来驱动。上电时,器件每个寄存器的状态被置为“0”可编程逻辑器件—复杂可编程逻辑器件MAX7000器件结构—宏单元所有MAX7000E和MAX7000S器件的I/O管脚都有一个快速路径可以连接到宏单元的寄存器这个快速路径允许信号旁路PIA和组合逻辑,使得信号到达D触发器输入端时可以有极快的输入建立时间(2.5ns)可编程逻辑器件—复杂可编程逻辑器件MAX7000器件结构—可编程连线阵列PIALAB间通过PIA的绕线连接可以构成用户所需要的逻辑功能这个全局总线是一个可编程的通道,它可以再器件中把任意信号源送到目的地MAX7000的所有专用输入、I/O管脚和宏单元输出均反馈送入PIA,通过PIA可以把这些信号送到器件中的任一地方可编程逻辑器件—复杂可编程逻辑器件PIA布线可编程逻辑器件—复杂可编程逻辑器件MAX7000器件结构—可编程连线阵列PIAFPGA中采用基于通道的布线策略,因此其布线延时是累加的、可变的,并且与布线路径有关而MAX7000的PIA有固定的延时,可以消除信号之间的时间偏移,使得时间性能更容易预测可编程逻辑器件—复杂可编程逻辑器件MAX7000器件结构—I/O控制块I/O控制块允许每个I/O管脚单独地配置为输入、输出和双向工作方式所有的I/O管脚都有一个三态缓冲器,它可以由全局输出使能信号中的一个控制,或者直接连到底或者电源VCC上可编程逻辑器件—复杂可编程逻辑器件EPM7032/EPM7064/EPM7096的I/O控制块可编程逻辑器件—复杂可编程逻辑器件MAX7000E/S的I/O控制块可编程逻辑器件—复杂可编程逻辑器件MAX7000器件的配置—功耗控制MAX7000器件为用户提供了节省功耗的工作模式,这种模式允许用户定义的信号路径或者整个器件工作在低功耗状态由于大多数的逻辑应用仅需要一小部分的门在最高频率下工作,所以这一特点使得整个功耗可以降低50%或者更多可编程逻辑器件—复杂可编程逻辑器件MAX7000器件的配置—可编程的速度设计人员可以讲MAX7000器件中每个独立的宏单元编程为高速(即Turbo位打开)或低速(即Turbo位关断)工作模式这样做的结果是,设计中影响速度的关键路径可以工作在高速状态,而余下的路径可以在低功耗状态下工作可编程逻辑器件—复杂可编程逻辑器件MAX7000器件的配置—输出配置多电压I/O接口MAX7000器件支持多电压接口,这一特点使得MAX7000器件可以和不同供电电压的系统一起工作这些器件有两组VCC管脚:VCCINT用于器件内部工作和输入缓冲,VCCIO用于I/O的输出驱动第二章可编程逻辑器件2.1可编程逻辑器件的发展历程2.2可编程逻辑器件的基本结构与分类2.3简单可编程逻辑器件2.4复杂可编程逻辑器件
2.5现场可编程门阵列FPGA可编程逻辑器件—现场可编程门阵列FPGA是一种可由用户自定义并进行配置的高密度专用集成电路FPGA具有阵列型PLD器件的优点,同时其结构又类似拟掩模可编程门阵列,因此具有更高的集成度和更强大的逻辑实现能力,使得设计更加灵活和容易实现事实上FPGA已经成为一类标准器件,并且已经和CPLD一起成为目前最常用的可编程逻辑器件可编程逻辑器件—现场可编程门阵列世界知名的可编程器件供应商可以为客户提供各具特色的FPGA产品因此对FPGA而言有着不同的分类方法,一般可以根据互连结构和编程特性对FPGA进行分类目前主流的FPGA产品内部连线一般采用分段互连型结构,并且可重复编程。可编程逻辑器件—现场可编程门阵列FPGA的基本结构形式由3个可编程单元和1个用于存放编程数据的静态存储器组成3个可编程单元:可配置逻辑块CLB(ConfigurableLogicBlock)、输入输出功能块IOB(I/O
Block)和可编程的连线资源IR(InterconnectResource)3个可编程单元的工作状态全部由编程数据存储器中的数据设定可编程逻辑器件—现场可编程门阵列FPGA的基本结构框图可编程逻辑器件—现场可编程门阵列下面我们以Xilinx公司生产的XC2064为例,介绍一下FPGA的IOB和CLB的电路结构和工作原理XC2064是Xilinx公司FPGA器件中结构比较简单的一种,它一共有56个可编程的I/O端可编程逻辑器件—现场可编程门阵列XC2064的IOB电路可编程逻辑器件—现场可编程门阵列在XC2064中有64个CLB,排列成88的矩阵。每个CLB的电路中包含组合逻辑电路、存储电路和由一些数据选择器组成的内部控制电路可编程逻辑器件—现场可编程门阵列XC2064的CLB电路可编程逻辑器件—现场可编程门阵列二变量通用逻辑模块的函数表可编程逻辑器件—现场可编程门阵列XC2064中CLB的存储电路可编程逻辑器件—现场可编程门阵列为了能将FPGA中数目很大的CLB和IOB连接成各种复杂的系统,在布线区内布置了丰富的连线资源。这些互连资源可以分为三类,即金属线、开关矩阵和可编程连接点布线区里的金属线分为,水平通用连线、垂直通用连线、水平长线、垂直长线、全局连线和直接连线等几种。这些金属线经可编程的连接点与CLB、IOB和开关矩阵相连可编程逻辑器件—现场可编程门阵列FPGA的优点FPGA的缺点CLB阵列结构形式克服了PAL等PLD中那种固定的与或逻辑阵列结构的局限性,在组成一些复杂的、特殊的数字系统时显得更加灵活信号传输延时时间不是确定的,限制了器件的工作速度
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 医院后勤总承包合同范例
- 购扫把合同范例
- 成都服装租赁合同范例
- 学校安保用工合同范例
- 代办按揭合同范例
- 汽车维修度合同范例
- 篮球馆充值合同范例
- 土地流转合同范例大忌
- 单人车库出租合同范例
- 正确定金合同范例
- 特征值与特征向量
- 作家协会2024年下半年工作计划3篇
- 2024征信考试题库(含答案)
- 个人理财(西安欧亚学院)智慧树知到期末考试答案2024年
- pc(装配式)结构施工监理实施细则
- 医院内审制度
- 押运人员安全培训课件
- 给小学生科普人工智能
- 2024年南京信息职业技术学院高职单招(英语/数学/语文)笔试历年参考题库含答案解析
- 2024年汽配行业分析报告
- 【世界睡眠日】3.21主题班会(3月21日)良好睡眠健康作息-课件
评论
0/150
提交评论