版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
可编程逻辑器件第1页/共103页8.1.1PLD的分类根据其集成度和结构复杂度的不同,大致可分为3类:简单可编程逻辑器件(SimplyProgrammableLogicDevice,SPLD)、复杂可编程逻辑器件(ComplexProgrammableDevice,CPLD)、现场可编程门阵列(FieldProgrammableGateArray,FPGA)。第2页/共103页1.简单可编程逻辑器件简单可编程逻辑器件SPLD属于集成度和结构复杂度都比较小的可编程逻辑器件,共同的特点是都具有可编程的与阵列、不可编程的或阵列、输出逻辑宏单元OLMC(OutputLogicMacroCell)和输入输出逻辑单元IOC(InOutputCell)。这类器件适合于规模较小的逻辑设计,典型器件有Lattice生产的GAL16V8、GAL22V10等。第3页/共103页2.复杂可编程逻辑器件复杂可编程逻辑器件CPLD是阵列型高密度PLD器件,大多采用了乘积项、EEPROM(或Flash)工艺等技术,其集成度大于GAL22V10,具有高密度、高速度和低功耗等特点。此类器件有更大的与阵列和或阵列,增加了大量的宏单元和布线资源,触发器的数量明显增多,多用于较大规模的逻辑设计。典型器件有Xilinx公司的XC9500系列,Altera公司的MAX7000系列,Lattice生产的ispLSI1000、2000、3000系列。第4页/共103页3.现场可编程门阵列现场可编程门阵列FPGA是集成度和结构复杂度最高的可编程逻辑器件,大部分FPGA采用的是基于SRAM的查找表LUT(LookUpTable)逻辑结构形式,且其内部采用矩阵式结构分布,并拥有更多的触发器和布线资源,多用于10,000门以上的大规模设计,适合做复杂的时序逻辑,如数字信号处理和各种算法。典型器件有Xilinx公司的XC4000系列、SpartanII和SpartanIII等系列,Altera公司的Flex10K、Flex20K、CycloneII等系列,Lattice公司的XFPGA等系列。第5页/共103页8.1.2PLD的开发流程设计输入(电路图、HDL等)器件下载
设计实现
·优化·合并、映射图8-1PLD的一般开发流程功能仿真时序仿真器件测试第6页/共103页(1)设计输入设计输入是由设计者对器件所实现的数字系统的逻辑功能进行描述。设计输入一般采用一种或几种设计输入源文件来描述设计对象,以实现设计要求。常用的设计输入方法有原理图输入、状态机输入、HDL(HardwareDescriptionLanguage)等输入方式。其中HDL是使用最为普遍的一种设计方法,具有较好地可读性和可移植性。在设计过程中,往往采用层次化设计方法,分模块、分层次地进行设计描述,即采用自定向下的设计方法。第7页/共103页(2)功能仿真功能仿真主要是对所设计的电路及所有输入的电路进行功能验证,以便设计者及时修改设计中存在问题,实现设计要求。一般可以利用波形编辑器对所需检验的单个功能模块或系统输入一些数字信号,通过仿真软件得到输出波形,从而可以检验设计的正确性。需要指出的是功能仿真一般不包含设计器件的信息,是一种理想的仿真,只能验证设计的逻辑功能,与时序无关。第8页/共103页(3)设计实现设计实现是指从设计输入文件到熔丝图文件或位图文件的编译过程。设计实现阶段需要完成逻辑分割、器件布局和布线工作,这些一般是由可编程逻辑器件的开发系统自动完成的,而设计者可以根据设计需要用一些约束来进行干预,也可以使用编辑功能直接修改设计布局、布线结构。第9页/共103页(4)时序仿真时序仿真是在完成布局、布线之后进行的,这时仿真工具会根据设计实现结果,给出设计中各个信号之间的逻辑功能和时序关系,以便设计者对设计的可靠性和稳定性进行评价。一般情况下通过时序仿真可以发现在功能仿真过程中不能发现的问题,例如竞争-冒险等问题。第10页/共103页(5)器件下载器件下载是将设计实现所给出的最终设计结果文件,即编程和配置数据文件,写入或加载到设计目标芯片的过程。目前主要下载方式是边界扫描方式,即通过专用的下载电缆,将设计结果的数据文件写入到目标芯片。第11页/共103页(6)器件测试器件测试阶段主要任务是确定设计的目标芯片是否符合设计要求,能否满足系统的工作需要。如果发现问题,则需要重新回到设计输入修改设计,直到满足系统要求。第12页/共103页8.1.3PLD的逻辑表示1.逻辑阵列交叉点的逻辑表示(a)实体连接(b)可编程连接(c)编程后熔丝烧断图8-2阵列交叉点的PLD表示法第13页/共103页实体连接,即行线与列线相互连接在一起,是不可以编程的,用实点表示。图8-2(b)的行线与列线在交叉点处采用×或连接,表示该交叉点是个可编程点。若PLD器件是采用熔丝工艺的,则器件出厂时,可编程点处的熔丝都处于接通状态,因此在可编程点上处处都打×或。图8-2(c)表示可编程点被用户编程后,熔丝被烧断的情况。此时熔丝烧断的可编程点上的×消失,行线和列线不相接。第14页/共103页2.逻辑阵列的PLD表示(a)可编程的与阵列PLD表示(b)可编程的或阵列PLD表示图8-3可编程的与阵列和或阵列PLD表示P1P2P3F(P1,P2,P3)=P1+P2+P3第15页/共103页PLD的逻辑阵列中通常包含与阵列和或阵列。图8-3(a)是一个可编程与阵列的一般表示形式。与阵列的所有输入变量都称为输入项,并画成与行线垂直的列线以表示与阵列的输入,与阵列的输出称为乘积项。图8-3(b)是一个可编程或阵列的一般表示形式,同与阵列表示方法相似。或阵列的输入常常是与阵列的乘积项输出,或阵列的输出是编程后保留熔丝各支路输入乘积项的逻辑或。第16页/共103页3.缓冲器的PLD表示图8-4缓冲器的PLD表示输入缓冲器和反馈缓冲器的PLD表示如图8-4所示。输入缓冲器和反馈缓冲器具有相同的电路构成,都采用了互补输出结构。它们是单输入、双输出的缓冲器单元,一个是同极性输出,另一个是反极性输出。第17页/共103页8.2通用阵列逻辑GAL8.2.1GAL的结构及其工作原理1.GAL的基本阵列结构通用阵列逻辑(GeneralArrayLogic,GAL)是Lattice公司于1985年首先推出的可编程逻辑器件。它采用了电擦除、电可编程的E2CMOS工艺制作,保证了GAL的高速度和低功耗,存取速度为12~40ns,可以用电信号擦除并反复编程上百次。第18页/共103页GAL器件是由可编程的与阵列、不可编程的或阵列、可编程的输出逻辑宏单元(OLMC)3部分主要电路构成。GAL器件可以实现老一代器件所有的各种输出电路工作模式,因此称为通用可编程逻辑器件。常用的GAL器件有多种型号,这些器件的基本结构是相同的,只是内部可编程逻辑资源的多少不同而已,下面以GAL16V8为例对其结构加以介绍。第19页/共103页图8-5GAL16V8内部结构图第20页/共103页(1)GAL16V8的电路结构GAL16V8是一个20引脚的双列直插式(DoubleIn-linePackage,DIP)大规模集成电路,它属于简单的可编程逻辑器件。其内部结构如图8-5所示,引脚排列图如图8-6所示。图8-6GAL16V8引脚图第21页/共103页GAL16V8的结构特点①包含8个输入缓冲器,8个反馈缓冲器,8个输出三态缓冲器。②包含8个输出逻辑宏单元(OLMC12~OLMC19)。③由8×8个与门构成的与阵列,共形成64个乘积项,与阵列共分8个阵列块。每个阵列块有8条行线,每条行线各接一个与门。与门的输出称为乘积项(与项)。每一个阵列块中最上面一个与门的输出称为第一与项。每个与门有32个输入项,由8个输入的原变量、反变量和8个反馈信号的原变量、反变量组成,故可编程与阵列共有32×8×8=2048个可编程单元。第22页/共103页GAL16V8的结构特点④1号引脚(I/CLK)经一级缓冲器引至OLMC的CLK端。⑤8个OLMC的内部电路结构完全相同,外部引线稍有不同,2,3,4,5,6,7,8,9各引脚是专用输入引脚,1,11,12,13,14,17,18,19各引脚可通过编程组态为输入引脚。也就是说共有16个引脚可设置为输入。而12,13,14,15,16,17,18,19共有8个引脚可做输出引脚。这也是GAL16V8命名的由来。第23页/共103页GAL16V8的结构特点⑥GAL16V8具有82位的控制字,可以通过编程控制OLMC的各种模式及输出组态,满足用户对各种输出电路形式的需要。这82位控制字分别是:SYN:1位的同步控制字;AC0:1位的结构控制字;AC1(n):8位的结构控制字;XOR(n):8位的极性控制字;PTD:64位的乘积项禁止控制字。第24页/共103页(2)OLMC的内部电路构成OLMC内部含有1个或门、1个异或门、1个D触发器、2个控制门、4个多路开关。4个多路开关(MUX)在结构控制字段作用下设定输出逻辑宏单元的组态。第25页/共103页OLMC的内部电路构成图8-7OLMC内部结构
第26页/共103页OLMC的内部电路构成OLMC的或门有8个输入端,和来自与阵列的8个乘积项相对应,其中7个直接相连,第一乘积项经PTMUX相连或门,输出为有关乘积项之和。异或门的作用是选择输出信号的极性。当XOR(n)为1时,异或门起反相器作用,否则起同相器作用。XOR(n)是控制字中的一位,n为引脚号。D触发器(寄存器)对异或门的输出状态起记忆(存储)作用,使GAL适用于时序逻辑电路。第27页/共103页OLMC的内部电路构成PTMUX是乘积项多路开关,在(AC1(n)·AC0)′控制下选择第一乘积项或地送至或门输入端;OMUX是输出多路开关,在(AC1(n)+(AC0)')'控制下选择组合型(异或门输出)或寄存型(经D触发器存储后输出)逻辑运算结果送到输出缓冲器;TSMUX是三态多路开关,在AC1(n)和AC0控制下从VCC、地、OE或第一乘积项中选择一个作为输出缓冲器的使能信号;FMUX是反馈多路开关,在AC1(n)、AC0控制下选择D触发器的Q'、本级OLMC输出、邻级OLMC的输出或地电平作为反馈源,送回与阵列作为输入信号。第28页/共103页OLMC的内部电路构成由此可见,这些多路开关是由AC0、AC1等结构控制字来控制的,而这些结构控制字的取值是由GAL器件的设计开发软件自动配置的,GAL器件被编程后,就会根据设计结果确定这些多路开关的数据选择端的状态。第29页/共103页2.GAL的工作模式和逻辑组态GAL器件由于采用了OLMC,所以使用更加灵活,只要写入不同的结构控制字,就可以得到不同类型的输出电路结构。通过编程软件所设置的4个结构控制字SYN、AC0、AC1(n)、XOR(n),可使OLMC定义成多种工作模式和逻辑组态。第30页/共103页2.GAL的工作模式和逻辑组态GAL16V8系列器件的OLMC一共有3种工作模式,分为7种组态。三种工作模式是寄存器模式、复杂模式、简单模式。寄存器模式根据不同需求可以配置为寄存器输出组态和组合输出组态;复杂模式可以配置为有反馈组合输出和无反馈组合输出;简单模式可以配置为无反馈组合输出组态、本级组合输出邻级输入组态以及相邻输入组态。第31页/共103页表8-1OLMC的工作模式和逻辑组态OLMC的工作模式逻辑组态寄存器模式寄存器输出组态组合输出组态复杂模式有反馈组合输出无反馈组合输出简单模式无反馈组合输出组态本级组合输出邻级输入组态相邻输入组态第32页/共103页表8-2OLMC逻辑组态和有关控制位的关系SYNAC0AC1(n)XOR(n)输出方式输出极性备注0100寄存输出低电平有效1脚接CLK,11脚接OE'。1高电平有效0110组合和寄存器混合输出低电平有效1脚接CLK
,11脚接OE'
,至少另有一个OLMC为寄存器输出模式。1高电平有效1110复杂模式有、无反馈组合输出低电平有效1和11脚为数据输入,三态门选通信号是第一乘积项,反馈信号取自I/O端。1高电平有效1000简单模式专用组合输出低电平有效1和11脚为数据输入,三态门被选通。1高电平有效101简单模式专用输入方式输出三态门不通1和11脚为数据输入,三态门禁止第33页/共103页8.2.2GAL的编程厂家出厂的GAL芯片不具任何逻辑功能,必须借助GAL的开发软件和硬件设备对其进行编程写入,才能使空白的GAL芯片具有预期的逻辑功能。对GAL器件进行编程时,硬件环境需要有一台计算机,另外还要配置GAL编程写入器,通常称为编程器。第34页/共103页利用GAL器件进行逻辑设计时,一般要经过以下几步:按逻辑要求选择器件类型,主要考虑输入输出管脚数量。选择一种合适的编程软件编制相应的源文件。经过相应的编译程序生成.JED文件(熔丝图文件)。利用相应的编程方式对GAL进行编程,并且可以进行检验及对GAL进行加密。第35页/共103页目前比较流行的GAL的设计工具有DATAI/O公司开发的ABEL4.0系统和Lattice公司开发的ispDesignEXPERT系统。设计输入通常采用ABEL-HDL和VHDL这两种语言进行描述。第36页/共103页GAL器件的编程方式GAL器件的编程主要有两种方式。一种是使用第三方提供的通用编程器及相应的编程工具软件对器件进行编程。通过此种方法在完成对器件的编程操作的同时,还可以完成对器件的擦除、读回、加密等辅助操作。GAL器件被加密后,如果对其进行读出操作,器件将进行自我保护。第37页/共103页GAL器件的编程方式另一种编程方式是在系统编程(InSystemProgrammable,ISP)。所谓在系统编程就是可以将器件先焊接到目标系统中,只要提供四条专用的编程引脚(MODE、SCLK、DIN、DOUT)就可以对器件进行编程了,这种编程方式不再需要编程器,仅需要一条下载电缆就可以对器件进行编程,而且同样具有擦除、读回、加密等辅助功能。但是这种编程方式仅支持具有在系统编程功能的GAL器件,例如ispGAL20V8,ispGAL22V10等器件。第38页/共103页8.3复杂可编程逻辑器件CPLD在可编程逻辑器件的分类中,GAL器件通常被称为简单可编程器件SPLD,复杂可编程逻辑器件可以简单理解为规模更大、集成度更高的可编程逻辑器件。但是CPLD并不是简单地把多个GAL器件集成到一个芯片当中,而是根据芯片设计的实际应用需要和器件制造工艺的要求,不但增加了宏单元的数量和输入乘积项的位数,还增加了可编程内部连线资源。第39页/共103页8.3.1AlteraMAX7000系列CPLD简介Altera公司的CPLD器件系列主要有FLASHlogic系列、Classic系列和MAX、MAXⅡ系列等。MAX系列包括MAX3000/5000/7000/9000等品种,集成度在几百门至数万门之间,采用EPROM和EEPROM工艺。MAX7000系列具有相似的结构,但是外部输入输出引脚和内部逻辑宏单元数目不同。这样丰富的器件型号可使用户更容易选择到最合适的器件。第40页/共103页表8-3常用MAX7000系列器件特性
特性EPM7032EPM7064EPM7096EPM7128EPM7160EPM7192EPM7256可用门600125018002500320037505000宏单元326496128160192256逻辑矩阵块2468101216I/O引脚366876100104124164延时tpd/ns657.5667.57.5工作频率/MHz151.5178.6125151.5151.5125125第41页/共103页MAX7000系列器件的技术特点:(1)高密度、高速度。MAX7000系列器件的系统工作速度达180MHz,可用逻辑门最大为5000门,宏单元可达256个。(2)在系统编程。MAX7000系列器件具有在系统可编程能力。(3)边界扫描测试功能。MAX7000系列器件支持IEEE.1149.1边界扫描测试标准。第42页/共103页表8-4MAX7000系列部分器件的封装形式和I/O数目封装形式EPM7032EPM7032SEPM7064SEPM7096EPM7128SEPM7160S44引脚TQFP36363644引脚PLCC36363668引脚PLCC5284引脚PLCC68646864100引脚TQFP688484100引脚PQFP7684160引脚PQFP100104第43页/共103页MAX7000系列器件的内部结构
图8-8第44页/共103页在MAX7000中主要的结构是逻辑阵列块(LAB)和可编程连线阵列(PIA)。一个LAB包含16个宏单元,并且看起来很像一个SPLD器件。每个宏单元由一个可编程的与/或电路和一个可编程的寄存器(触发器)组成。
第45页/共103页8.3.2EPM7128SEMP7128S有128个宏单元被安排在8个LAB中。逻辑信号经由PIA在LAB之间传输。PIA是一个能连接任何信号源和在设备中的任何目标全局总线。所有的到MAX7000设备的输入和所有的宏单元输出提供给PIA。多达36个信号能从PIA提供给每个LAB。第46页/共103页MAX7000系列的I/O引脚被连接到特定的宏单元。给用户提供的可利用的I/O引脚量依赖于器件封装形式。对于一个具有160引脚的PQFP封装的EPM7128S器件,每个LAB有12个I/O引脚及4个专用输入引脚,I/O引脚的总数为100个。对于84引脚的PLCC封装的EPM7128S器件来说,它有64个I/O引脚和4个专用输入引脚,总数为68个I/O引脚。EPM7128S是一个系统可编程器件(ISP)装置。由于要利用JTAG(JointTestActionGroup)接口对EPM7128S进行编程,因此有4个在线编程端口不能作为用户I/O端口使用。
第47页/共103页图8-9JTAG接口电路图
第48页/共103页对于EPM7128SLC84芯片来说,JTAG信号含有TDI(测试数据输入)、RDO(测试数据输出)、TMS(测试方式选择)及TCK(测试时钟)管脚。因此提供给用户的I/O端口总数降到64个端口。但如果是使用PLD编程器编程,则68个引脚都可以为用户使用。第49页/共103页1.宏单元宏单元是MAX7000系列器件的具体逻辑单元,用来实现各种具体的逻辑功能。宏单元是由逻辑阵列、乘积项选择矩阵和可编程触发器构成,其结构如图8-10所示。第50页/共103页宏单元结构图图8-10第51页/共103页逻辑阵列用来实现组合逻辑函数,每个宏单元提供5个乘积项。通过乘积项选择矩阵实现这5个乘积项的逻辑函数,或者使这5个乘积项作为宏单元中触发器的辅助输入。每个宏单元的一个乘积项还可以反馈到逻辑阵列。宏单元中的可编程触发器可以被单独编程为D、T、JK或SR触发器,可编程触发器还可以被旁路掉,用以实现纯组合逻辑工作方式。第52页/共103页可编程触发器的控制方式全局时钟(GlobalClock)。这种方式能够实现最快的时钟控制。带高电平使能的全局时钟。这种方式能够实现具有使能控制的触发器,并能够实现最快的时钟控制。来自乘积项的时钟。这种方式下,触发器由来自隐含宏单元或I/O引脚的信号进行时钟控制,一般具有较慢的时钟控制。第53页/共103页2.扩展乘积项尽管大多数逻辑函数能够用每个宏单元中的5个乘积项实现,但某些逻辑函数更为复杂,需要附加乘积项。为提供所需的逻辑资源,可以利用另一个宏单元内部的逻辑单元的逻辑资源,结构上也允许利用共享和并联扩展乘积项(扩展项)作为附加的乘积项,直接送到同一逻辑阵列块的任意宏单元中。利用扩展项可保证在实现逻辑综合时,用尽可能少的资源,实现尽可能快的工作速度。第54页/共103页(1)共享扩展项每个逻辑阵列块(LAB)有多达16个共享扩展项。共享扩展项就是由每个宏单元提供一个未投入使用的乘积项,并将它们反相后反馈到逻辑阵列块,便于集中使用。每个共享扩展乘积项可被逻辑阵列块LAB内任何一个宏单元或全部宏单元使用和共享,以实现更为复杂的逻辑函数。采用共享扩展项后会增加一个短的延时。
第55页/共103页(1)共享扩展项图8-11共享扩展项第56页/共103页(2)并联扩展项并联扩展项是宏单元中没有使用的乘积项,并且这些乘积项可分配到邻近的宏单元,去实现快速复杂的逻辑函数。并联扩展项允许多达20个乘积项直接馈送到宏单元的“或”逻辑,其中5个乘积项由宏单元本身提供,15个并联扩展项由逻辑阵列块LAB中邻近宏单元提供。第57页/共103页(2)并联扩展项每个逻辑阵列块LAB中有两组宏单元,每组含有8个宏单元。在逻辑阵列块LAB中形成2个借出或借入并联扩展项的链。一个宏单元可以从较小编号的宏单元中借用并联扩展项。在有8个宏单元的每个组,最小编号的宏单元仅能借出并联扩展项,而最大编号的宏单元仅能借入并联扩展项。宏单元中不用的乘积项可以分配给邻近的宏单元。
第58页/共103页(2)并联扩展项图8-12并联扩展项第59页/共103页3.可编程连线阵列PIA通过可编程连线阵列把各逻辑阵列块LAB相互连接,构成用户所需要的逻辑功能。这个全局总线是可编程的通道,它把器件中任何信号源连到其目的地上。所有专用输入、I/O引脚和宏单元输出均馈送到PIA,PIA再把这些信号送到整个器件内的各个地方。只有每个逻辑阵列块LAB所需的信号,才会被提供从PIA到该逻辑阵列块LAB的连线。
第60页/共103页图8-13PIA与逻辑阵列块LAB的连接方式第61页/共103页4.I/O控制块I/O控制块允许每个I/O引脚单独地配置成输入/输出或双向工作方式。所有的I/O引脚都有一个三态输出缓冲器,有3种方式:永久有效或无效;受两个全局输出使能信号中的一个控制;受其他的输入或被其他宏单元产生的功能控制。第62页/共103页I/O控制结构
图8-14I/O控制结构第63页/共103页8.4现场可编程门阵列FPGAFPGA(FieldProgrammableGateArray,现场可编程门阵列)与SPLD和CPLD相比,具有更高的密度、更快的工作速度和更大的编程灵活性,被广泛应用于各种电子类产品中。现在应用较为广泛的现场可编程门阵列器件主要有Xilinx公司生产的FPGA芯片和Altera公司生产的FPGA芯片。市场对电子产品的更新速度需求越来越快,这为FPGA的飞速发展提供了市场需求基础,各个厂家每年都会推出许多新型的FPGA器件,不断提高单片芯片的资源容量、工作速度,相对功耗也不断降低。但是,这些器件的基本结构还是没有变化。
第64页/共103页FPGA是采用查找表(LUT)结构的可编程逻辑器件的统称,大部分FPGA采用基于SRAM的查找表逻辑结构形式,但不同公司的产品结构也有差异。下面以Altera公司的FLEX10K系列为例介绍FPGA的体系结构。
第65页/共103页8.4.1Altera公司的FLEX10K系列器件的技术性能简介Altera公司的FPGA都采用基于SRAM的查找表逻辑结构形式,主要由嵌入式阵列块(EmbeddedArrayLogic,EAB)、逻辑阵列块(LAB)、快速通道互连(FastTrack,FT)和I/O单元(Input/Outputcell,IOC)4部分组成。第66页/共103页Altera公司的FLEX10K系列是一种嵌入式可编程逻辑器件,具有密度高、成本低、功耗小等特点。该系列包括FLEX10K,FLEX10KA,FLEX10KB,FLEX10KV,FLEX10KE等5个子系列,如表8-5所示。FLEX10K系列器件采用连续的快速通道和分段式布线结构,同时每个FLEXl0K器件还包括一个嵌入式阵列和一个逻辑阵列,使得设计者能够较容易地开发出集存储器、数字信号处理器及特殊逻辑等功能于一身的芯片。
第67页/共103页FLEX10K的技术特点如下:具有较高的集成度和较快的速度,FLEX10K器件的可用门最多可达250000个,同时可提供高达40960位内置RAM,最大工作速度可达90MHz。支持多电压I/O接口,支持PCI总线接口。支持多种配置方式,并满足IEEE1149.1边界扫描测试。具有实现宏函数的嵌入式阵列和实现普通功能的逻辑阵列。第68页/共103页表8-5常用的FLEX10K系列器件特性特性EPF10K10EPF10K10AEPF10K20EPF10K30EPF10K30AEPF10K40EPF10K50EPF10K50VEPF10K70EPF10K100EPF10K100AEPF10K250A典型门数100002000030000400005000070000100000250000最大门数31000630006900093000116000118000158000310000逻辑单元57611521728230428803744499212160逻辑阵列块数721442162883604686241520嵌入式阵列块数36681091220总RAM位数614412288122881638420480184322457640960最大用户I/O引脚数150189246189310358406470第69页/共103页8.4.2FLEX10K系列器件的内部结构图8-15第70页/共103页1.嵌入式阵列块EAB嵌入式阵列是由一系列嵌入式阵列块EAB构成。嵌入式阵列块EAB是在输入输出口上的RAM块,其结构如图8-16所示。从图中可以看出,存储器的输入、输出端口有触发器,触发器与存储器之间还有一个可编程的数据选择器,用来选择存储器的输入和输出的地址以及数据线是否经过触发器,还有专用的全局输出用来控制存储器的写入端。第71页/共103页图8-16第72页/共103页每个FLEX10K的EAB含有2048位的RAM,其数据线最大宽度为8位,地址线最多可达11条。其写入可以采用同步方式,也可以采用异步方式。输出可以是寄存器输出也可以是组合输出。嵌入式阵列块可以用来构造片内RAM、ROM、FIFO或双端口RAM等功能,同时还可以创建查找表、快速乘法器、状态机、微处理器等。嵌入式阵列块可以单独使用,也可以多个组合起来使用,以提供更强大的功能。第73页/共103页嵌入式阵列块EAB在实现逻辑功能时可以利用查找表的方式。所谓查找表,实际上是由静态存储器SRAM组成的存储器阵列。1个8×1的SRAM阵列可以实现3输入的查找表,1个16×1的SRAM阵列可以实现1个4输入或2个3输入的查找表。查找表中的数即SRAM阵列中所存逻辑函数的真值。查找表的输入就是SRAM的地址输入。第74页/共103页用查找表实现逻辑函数的过程是将逻辑函数的真值表事先存储在查找表的存储单元中,当逻辑函数的输入变量取不同组态时,相应组态的二进制的取值构成了SRAM的地址,选中相应的组态对应的SRAM单元,也就得到输入变量组合对应的逻辑值。这种查找表方式所实现逻辑函数,输出的延时与逻辑函数的复杂程度无关,而只与存储器的速度有关的。第75页/共103页2.逻辑阵列块LAB图8-17第76页/共103页每个逻辑阵列块是由8个逻辑单元(LE)以及与LE相连的进位链和级联链、LAB控制信号以及LAB局部互连线组成。LAB可帮助器件有效地布线,从而提高设计性能和器件资源的利用率。第77页/共103页逻辑单元是FLEX10K器件结构中的最小单元。每个逻辑单元LE含有1个4输入的查找表LUT、1个带有同步使能并可异步置位和复位的可编程触发器、1个进位链(CarryChain)和1个级联链(Cascadechain)。查找表LUT是1个函数发生器,可以实现4个变量的任意逻辑函数。第78页/共103页查找表LUT用于组合逻辑,其输出可直接作为逻辑单元的输出。可编程触发器用于时序逻辑,可配置成D,T,JK或SR触发器。该触发器的时钟、清除和置位信号可由专用的输入引脚、通用I/O引脚或任何内部逻辑输出所驱动。逻辑单元还包含2个驱动互连输出,它们可以驱动局域互连和快速通道互连,也可单独进行驱动。第79页/共103页FLEX10K的逻辑单元有4种工作模式:通用模式、算术模式、加减计数器模式和可清除计数器模式。第80页/共103页LAB局部互连实现LAB的LE与行互连之间的连接及LE输出的反馈等。LAB时钟能够用专用时钟的输入引脚、全局信号、I/O信号或借助LAB局部互连的任何内部信号直接驱动。LAB的置位和清除控制信号也能够由全局信号、I/O信号或借助LAB局部互连的任何内部信号驱动。全局信号主要用于公共时钟、清除或置位信号。如果控制信号上需要某种逻辑,全局控制信号能够由任何LAB中的一个或多个LE形成,并直接驱动目标LAB的局部互连线。另外,全局控制信号也能够利用LE的输出产生。第81页/共103页进位链是用来实现逻辑单元之间快速进位功能的。来自低位的进位信号经过进位链向前送到高位,同时送到查找表LUT和进位链的下一段。由于有这种结构,FLEX10K器件可用来实现任意位数的加法器和高速计数器。超过8个逻辑单元的进位链是将LAB连在一起自动实现的。第82页/共103页级联链是用来实现大于4输入变量逻辑函数的结构。级联链通过逻辑与和逻辑或将相邻的逻辑单元的输出连接起来。超过8位的级联链可通过连接几个LAB来自动实现。第83页/共103页3.快速互连通道FT快速互连通道FT用于LE和器件I/O引脚间的连接,快速互连通道与CPLD的PIA相似,是一系列水平(行互连)和垂直(列互连)走向的连续式布线通道。行互连可以驱动I/O引脚,或馈送到其它LAB;列互连连接各行,也能驱动I/O引脚。第84页/共103页快速互连通道的结构图
图8-18第85页/共103页4.I/O单元IOE(或IOC)FPGA的I/O引脚由I/O单元驱动,I/O单元位于快速通道的行或列的末端,相当于CPLD中的I/O控制单元,由一个双向三态缓冲器和一个寄存器组成,可编程配置成输入、输出或输入输出双向口。第86页/共103页I/O单元的清0、时钟、时钟使能和输出使能控制均由I/O控制信号网络采用高速驱动。FPGA的I/O单元支持JTAG编程、摆率控制、三态缓冲和漏极开路输出。专用输入引脚用于驱动I/O单元寄存器的控制端,其中4个还可用于驱动全局信号(内部逻辑也可驱动),为了能实现高速驱动,使用了专用布线通道。第87页/共103页8.4.3FLEX10K系列器件的配置模式FLEX10K器件的配置分为两大类:主动配置方式和被动配置方式。主动配置方式由FLEX10K器件引导配置操作过程,它控制着外部存储器和初始化过程;被动配置由计算机或控制器控制配置过程。
第88页/共103页FLEX10K器件的配置方式MSEL1MSEL0配置方式典型应用00主动串行(AS)利用EPC1或EPC2芯片00被动串行(PS)BitBlaster,ByteBlaster下载电缆01被动并行同步(PPS)并行同步CPU接口11被动并行异步(PPA)并行异步CPU接口第89页/共103页1.主动串行配置主动串行配置是一种较为常用的配置方式,其电路接口简单。nCONFIG引脚接到电源VCC。在加电过程中,FLEX10K芯片检测到nCONFIG由低到高的跳变时,就开始准备配置。
图8-19主动串行配置第90页/共103页FLEX10K芯片将CONF_DONE引脚输出置低,使串行PROM芯片EPC1的片选引脚nCS为低,而nSTATUS引脚输出高电平,使串行PROM芯片EPC1的输出使能。然后EPC1通过内部晶振产生串行时钟,并同步输出串行数据,当FLEX10K芯片接收全部数据被正确配置后,FLEX10K芯片使CONF_DONE拉高,EPC1芯片被置成无效状态。如果在配置过程发生错误,FLEX10K芯片将nSTATUS拉低,复位EPC1芯片和FLEX10K芯片。这种配置模式也允许多个FLEX10K芯片和多个串行PROM芯片EPC1或EPC2进行级联,以满足不同工作情况。第91页/共103页2.被动配置被动配置是把FLEX10K芯片作为一个微处理器或编程设备的一个外设,配置所需要的时钟、数据都是由微处理器或编程设备提供的。被动配置模式按照数据传输的方式可化分为被动串行、被动同步并行、被动异步并行3种方式。
第92页/共103页在被动串行配置方式中,通常可以由微处理器或Altera公司提供的编程电缆(BitBlaster或ByteBlaster下载电缆)产生配置FLEX10K器件所需的配置控制信号和相应的配置时序。
第93页/共103页被动串行配置电路图8-20被动串行配置电路第94页/共103页【例8-1】试用FPGA实现D/A转换器DAC0832接口电路的设计,并产生锯齿波。解:DAC0832是采用CMOS工艺实现的8位D/A转换器,器内部包含有8位输入寄存器、8位DAC寄存器、8位D/A转换器。第95页/共103页图8-21FPGA与DAC0
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 屯昌县2025-2026学年第二学期六年级语文第五单元测试卷部编版含答案
- 枣庄市山亭区2025-2026学年第二学期五年级语文第六单元测试卷(部编版含答案)
- 白城市大安市2025-2026学年第二学期六年级语文第五单元测试卷部编版含答案
- 临夏回族自治州临夏市2025-2026学年第二学期五年级语文期中考试卷(部编版含答案)
- 长治市平顺县2025-2026学年第二学期六年级语文第五单元测试卷部编版含答案
- 河池市巴马瑶族自治县2025-2026学年第二学期六年级语文第五单元测试卷部编版含答案
- 张家口市尚义县2025-2026学年第二学期二年级语文期中考试卷(部编版含答案)
- 深度解析(2026)《2026-2027年光伏组件在建筑窗户上的半透明应用实现采光与发电平衡在高端绿色建筑中示范并获建筑开发商与幕墙公司联合研发》
- 物理判断题目及答案解析
- 17 盼 公开课一等奖创新教学设计
- 校园防溺水安全教育课件
- 5.1 人要自强(课件) 2025-2026学年统编版道德与法治七年级下册
- 2026年智能科学与技术专业发展规划
- 2026春季安徽黄山东海景区开发有限公司东海索道分公司招聘49人考试备考试题及答案解析
- 2026年湖北国土资源职业学院单招职业技能考试题库及答案详细解析
- 广东粤财投资控股有限公司招聘笔试题库2026
- 肺癌诊治中心建设与管理指南
- 建筑工程起重吊装监理实施细则
- 房屋建筑维修保养方案
- 黔南民族师范学院物流管理专升本考试真题
- GB/T 2829-2025周期检验计数抽样程序及表(适用于对过程稳定性的检验)
评论
0/150
提交评论