您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 电子设计/PCB > 第2章FPGACPLD结构与应用
112019/8/3《可编程逻辑器件及EDA技术》222019/8/32.1PLD概述2.2简单PLD工作原理2.3CPLD结构与工作原理2.4FPGA结构与工作原理2.5FPGA/CPLD测试技术2.6FPGA/CPLD产品概述2.7CPLD/FPGA编程与配置《可编程逻辑器件及EDA技术》2.8基于FPGA/CPLD的EDA开发流程第2章FPGA/CPLD结构与应用332019/8/32.1可编程逻辑器件(PLD)概述1.按可编程部位分类:•PROM—ProgrammableReadOnlyMemory可编程只读存储器•PLA—ProgrammableLogicArray可编程逻辑阵列•PAL—ProgrammableArrayLogic可编程阵列逻辑•GAL—GenericArrayLogic通用阵列逻辑输入缓冲电路与阵列或阵列输出缓冲电路输入输出……2.1.1简单PLD器件结构《可编程逻辑器件及EDA技术》2.1.2PLD器件分类442019/8/3CPLD—ComplexProgrammableLogicDevice复杂可编程逻辑器件FPGA—FieldProgrammableGateArray现场可编程门阵列2.按按集成度分类:可编程逻辑器件(PLD)简单PLD复杂PLDPROMPALPLAGALCPLDFPGA500门以下2.1可编程逻辑器件(PLD)概述《可编程逻辑器件及EDA技术》52019/8/32.2简单PLD原理2.2.1逻辑原件符号表示1、逻辑元件符号表示《可编程逻辑器件及EDA技术》62019/8/3《可编程逻辑器件及EDA技术》2.2简单PLD原理2.2.1逻辑原件符号表示72019/8/3《可编程逻辑器件及EDA技术》2.2简单PLD原理2.2.1逻辑原件符号表示82019/8/3常用符号《可编程逻辑器件及EDA技术》2.2简单PLD原理2.2.1逻辑原件符号表示2.2简单PLD原理2.2.1逻辑原件符号表示92019/8/3《可编程逻辑器件及EDA技术》2.2简单PLD原理2.2.1逻辑原件符号表示102019/8/3PLD中或阵列表示《可编程逻辑器件及EDA技术》124F=Y+Y+Y2.2简单PLD原理2.2.1逻辑原件符号表示112019/8/32.2.2PROM结构原理地址译码器存储单元阵列………0A1A1nA0W1W1pW0F1F1mFnp2地址译码器:用于完成PROM存储阵列的行选择。PROM器件组成:地址译码器+存储单元阵列+输出缓冲不可编程2.2简单PLD原理其逻辑函数是:右式可看成是逻辑与运算,所以可将PROM地址译码器看成是一个与阵列与阵列《可编程逻辑器件及EDA技术》122019/8/3地址译码器存储单元阵列………0A1A1nA0W1W1pW0F1F1mFnp2存储单元阵列:存放数据,输出函数。F0=Cp-1,0Wp-1+…+C1,0W1+C0,0W0F1=Cp-1,1Wp-1+…+C1,0,1W1+C0,1W0……Fm-1=Cp-1,m-1Wp-1+…+C1,m-1W1+C0,m-1W0其中,Ci,j是系数,可取0、1。可见,PROM可以表示为:固定与阵列和可编程或阵列两个阵列。PROM器件组成:地址译码器+存储单元阵列+输出缓冲左式可看成是逻辑或运算,所以可将PROM存储矩阵看成是一个或阵列2.2.2PROM结构原理2.2简单PLD原理132019/8/3与阵列(固定)或阵列(可编程)0A1A1A1A0A0A1F0F与阵列或阵列两位输出《可编程逻辑器件及EDA技术》两位地址2.2.2PROM结构原理2.2简单PLD原理14152019/8/3100110021310WAAWAAWAAWAA====0123WWWW01010110FAAAAFAA=+=问题:与阵列是全译码,产生了全部最小项,而在实际应用时,绝大多数组合逻辑函数并不需要所有的最小项。PROM器件组成《可编程逻辑器件及EDA技术》2.2.2PROM结构原理2.2简单PLD原理162019/8/3与阵列(可编程)或阵列(可编程)0A1A1A1A0A0A1F0F使与阵列和或阵列都可编程2.2.3PLA结构原理任何组合逻辑函数都可以化成与或表达式。任何组合函数都可以采用PLA来实现。新的问题:PLA的两个阵列可编程,导致软件算法过于复杂,且器件的运行速度下降。使与阵列可编,或阵列固定。《可编程逻辑器件及EDA技术》2.2.2PROM结构原理2.2简单PLD原理1718192019/8/32.2.3PAL结构原理0A1A1F0F0A1A1F0F2.2简单PLD原理《可编程逻辑器件及EDA技术》第2章FPGA/CPLD结构与应用202019/8/3PAL16V8结构11100100R11100100RQQD11100100R11100100RVccSG1SL07SL17SG0SL0619I/O711100100R11100100RQQD11100100R11100100RVccSG1SL06SL16SG1SL0618I/O61CLK/I02I13I207815034781211151619202324272831允许输出端再馈入下一个与阵列。问题:熔丝型,使用不便《可编程逻辑器件及EDA技术》可以实现时序系统。2.2简单PLD原理21《可编程逻辑器件及EDA技术》2019/8/3第2章可编程逻辑器件OLMC—OutputLogicMacroCell输出逻辑宏单元逻辑宏单元输入/输出口输入口时钟信号输入三态控制可编程与阵列固定或阵列GAL16V82.2.5GAL结构原理22(1)寄存器模式寄存器输出结构:异或门输出经D触发器至三态门,触发器的时钟端CLK连公共引脚,三态门的使能端连公共OE引脚,信号反馈来自触发器。寄存器模式组合双向输出结构:输出三态门受控,输出反馈至本单元,组合输出无触发器。输出逻辑宏单元OLMC有三种输出模式。寄存器输出结构寄存器模式组合双向输出结构有两种输出结构《可编程逻辑器件及EDA技术》2.2.5GAL结构原理23(2)复合模式输出逻辑宏单元OLMC有三种输出模式。有两种输出结构组合输出结构组合输出双向口结构组合输出双向口结构:大致与寄存器模式下组合输出双向结构相同,区别是引脚CLK、OE在寄存器模式下为专用引脚,不可它用。组合输出结构:无反馈,其他组合输出双向口结构。《可编程逻辑器件及EDA技术》2.2.5GAL结构原理24《可编程逻辑器件及EDA技术》反馈输入结构:输出三态门被禁止,该单元的“与-或”阵列无输出功能,但可作为相邻单元的信号反馈输入端。输出反馈结构:输出三态门被恒定打开,该单元的“与-或”阵列具有输出功能,也具有反馈结构。输出结构:其输出反馈结构类同,但单元的反馈无效。(3)简单模式输出逻辑宏单元OLMC有三种输出模式。有三种输出结构2.2.5GAL结构原理252019/8/32.3CPLD结构与工作原理CPLD结构CPLD中一般包含三个主要部分:★逻辑阵列块--LAB★可编程连线阵列—PIA★I/O控制块MAX3000A的结构2.3.1逻辑阵列块(LAB)每个LAB由16个宏单元阵列组成,多个LAB通过可编程连线阵列(PIA)和全局总线连接在一起,全局总线由所有的专用输入、I/O引脚和宏单元馈给信号。《可编程逻辑器件及EDA技术》26宏单元可以被单独配置为时序逻辑和组合逻辑工作方式。逻辑阵列宏单元由三个功能模块组成:乘积项选择矩阵可编程寄存器《可编程逻辑器件及EDA技术》2.3CPLD结构与工作原理27可配置寄存器编程单元2019/8/3PRNCLRNENA逻辑阵列全局清零共享逻辑扩展项清零时钟清零选择寄存器旁路并行扩展项通往I/O模块通往PIA乘积项选择矩阵来自I/O引脚全局时钟QDEN来自PIA的36个信号快速输入选择2MAX3000A的宏单元结构2.3CPLD结构与工作原理时钟/使能选择282.3.2可编程连线阵列(PIA)PIA把器件中任一信号源连接到其目的地,所有MAX3000A的专用输入、I/O引脚和宏单元输出均馈送到PIA,PIA可把这些信号送到器件内的各个地方,完成特定任务。图示了PIA的信号是如何布线到LAB的。………到LABPIA信号《可编程逻辑器件及EDA技术》2.3CPLD结构与工作原理编程单元292.3.3I/O控制块输入/输出控制单元是内部信号到I/O引脚的接口部分,可控制I/O引脚单独地配置为输入、输出或双向工作方式。图示,所有I/O引脚都有一个三态缓冲器。当三态缓冲器的控制端接到地时,其输出为高阻态,此时I/O引脚可作专用输入引脚,当接高电平时,输出使能有效。《可编程逻辑器件及EDA技术》2.3CPLD结构与工作原理数据选择器选择一路作为控制使能信号。MAX3000A系列器件的I/O控制块302.4FPGA结构与工作原理2.4.1FPGA分类从逻辑功能块结构上分类,可分为:大部分FPGA采用基于SRAM(静态随机存储器)的查找表逻辑形成结构。查找表—LookUpTable(LUT),是可编程最小逻辑单元。二查找表单元结构查找表LUT输入1输入2输入3输入4输出一个N输入的LUT可以实现N个输入变量的任何逻辑功能。《可编程逻辑器件及EDA技术》查找表结构多路开关结构多级与非门结构31000001010000010116×1RAM输入A输入B输入C输入D查找表输出多路选择器2.4.2查找表单元结构四输入16×1RAM《可编程逻辑器件及EDA技术》2.4FPGA结构与工作原理一个四输入的LUT可以实现四个输入变量的任意逻辑函数。322.4.3CycloneIII系列器件的结构与原理2.4FPGA结构与工作原理IE是CycloneIIIFPGA器件的最基本的可编程单元332.4FPGA结构与工作原理2.4.3CycloneIII系列器件的结构与原理342.4FPGA结构与工作原理2.4.3CycloneIII系列器件的结构与原理352.4FPGA结构与工作原理2.4.3CycloneIII系列器件的结构与原理362.4FPGA结构与工作原理2.4.3CycloneIII系列器件的结构与原理372.4FPGA结构与工作原理2.4.3CycloneIII系列器件的结构与原理382.4FPGA结构与工作原理2.4.3CycloneIII系列器件的结构与原理392.4FPGA结构与工作原理2.4.3CycloneIII系列器件的结构与原理402.5硬件测试2.5.1内部逻辑测试2.5.2JTAG边界扫描测试JTAG—JointTestActionGroup联合测试行动组。测试引线间隔致密的电路板上集成电路芯片的能力。大多数CPLD/FPGA厂家的器件遵守IEEE规范,并为输入引脚和输出引脚以及专用引脚提供了边界扫描测试(BoardScanTest,BST)的能力。412.5硬件测试2.5.2JTAG边界扫描测试422.5硬件测试2.5.2JTAG边界扫描测试在芯片内部核心逻辑电路与I/O脚间都增加了寄存器电路,通过将这些I/O上的寄存器连接起来,可以将测试数据串行输入到被测单元,并从相应端口串行读出。测试关键逻辑。可以实现三方面测试1芯片级测试;2板级测试;3系统级测试。432.5硬件测试2.5.2JTAG边界扫描测试涉及的端口:TCLK、TMS、TDI、TDO、TRST44★TRSE(测试复位端口)2端口说明★TMS(TestModeSelect,测试模式选择端口)★TDI(TestDataIn,测试数据输入端口)★TDO(TestDataOut,测试数据输出端口)当器件工作在JTAGBST模式时,使用四个I/O引脚和一个可选引脚TRST作为JTAG引脚。★TCLK(TestClock,测试时钟端口)452端口说明TDI:串行方式输入数据。一种是指令数据,送入指令寄存器,另一种是测试数据,输入到相应的边界扫描寄存器中。TDO:以串行方式输出的数据有两种。一种是从指令寄存器移出来的指令,另一种是从边界扫描寄存器中移位出来的数据
本文标题:第2章FPGACPLD结构与应用
链接地址:https://www.777doc.com/doc-51152 .html