您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 电子设计/PCB > FPGA-CPLD的结构与应用.
第3章FPGA/CPLD的结构与应用《EDA技术》3.1概述输入缓冲电路与阵列或阵列输出缓冲电路输入输出……图3-1基本PLD器件的原理结构图数电相关知识:•组合电路:逻辑输出总是当前输入状态的函数;•时序电路:逻辑输出是当前系统状态与当前输入状态的函数;•任何组合电路(需要提供输入信号的非信号)可以用与或二级门电路实现;•任何时序电路可以在组合电路的基础上加上存储元件(锁存器、触发器、RAM)构成于是人们提出一种乘积项逻辑可编程结构:3.1.1可编程逻辑器件的发展历程PROM(ProgrammableReadOnlyMemory)PLA(ProgrammableLogicArray)PAL(ProgrammableArrayLogic)GAL(GenericArrayLogic)EPLDCPLDFPGA3.1.2可编程逻辑器件的分类图3-2按集成度(PLD)分类从结构分:有乘积项结构器件和查找表结构器件;从编程工艺上分:熔丝型器件、反熔丝型器件、EPROM、EEPROM、SRAM、FLASH……3.2简单PLD原理3.2.1电路符号表示图3-3常用逻辑门符号与现有国标符号的对照3.2.1电路符号表示图3-4PLD的互补缓冲器图3-5PLD的互补输入图3-6PLD中与阵列表示图3-7PLD中或阵列的表示图3-8阵列线连接表示3.2.2PROM地址译码器存储单元阵列………0A1A1nA0W1W1pW0F1F1mFnp2图3-9PROM基本结构:0111201110110...AAAWAAAWAAAWnnnn其逻辑函数是:3.2.2PROM图3-10PROM的逻辑阵列结构与阵列(不可编程)或阵列(可编程)………0A1A1nA0W1W1pW0F1F1mFnp201,011,111,1101,011,111,1100,010,110,10WMWMWMFWMWMWMFWMWMWMFmmpmpmpppp逻辑函数表示:其中:MX,Y是可以编程的,即与阵列不可编程,或阵列可编程3.2.2PROM实现组合逻辑图3-11PROM表达的PLD图阵列与阵列(固定)或阵列(可编程)0A1A1A1A0A0A1F0F图3-12用PROM完成半加器逻辑阵列与阵列(固定)或阵列(可编程)0A1A1A1A0A0A1F0F011010AACAAAAS特点:•PROM只能用于组合电路的可编程上•当输入变量增加时,会引起存储容量以2的幂次增加半加器的逻加函数:3.2.3PLA(可编程逻辑阵列)图3-13PLA逻辑阵列示意图与阵列(可编程)或阵列(可编程)0A1A1A1A0A0A1F0F3.2.3PLA优点:输入变量增多,存储规模迅速增加的问题得到大大的缓解。不足之处:P33.3.2.4PAL0A1A1F0F0A1A1F0F图3-15PAL结构:图3-16PAL的常用表示:优点:不必考虑公共的乘积项;或门乘积项数目固定,大大简化了算法;对于多个乘积项可通过输出端反馈来解决。3.2.4PAL11100100R11100100RQQD11100100R11100100RVccSG1SL07SL17SG0SL0619I/O711100100R11100100RQQD11100100R11100100RVccSG1SL06SL16SG1SL0618I/O61CLK/I02I13I207815034781211151619202324272831图3-17一种PAL16V8的部分结构图3.2.5GAL207190347812111516192023242728311381518OLMCOLMC41623175243116OLMCOLMC63239157404714OLMCOLMC84855139566312OLMCOLMC11I/CLKIIIIIIIII/OEI/O/QI/O/QI/O/QI/O/QI/O/QI/O/QI/O/QI/O/QCLKOE图3-18GAL16V8的结构图逻辑宏单元输入/输出口输入口时钟信号输入三态控制可编程与阵列固定或阵列GAL16V8GAL:GeneralArrayLogicDevice最多有8个或项,每个或项最多有32个与项3.2.5GAL•GAL首次在PLD上采用EEPROM工艺•GAL亦是与阵列可编程,或阵列固定•GAL对I/0结构进行了较大的改进,在输出部分增加OLMC•GAL的OLMC单元设有多种组态,可配置成专用组合输出、专用输入、组合输出双向口、寄存器输出、寄存器输出双向口等,为逻辑电路设计提供了极大的灵活性。3.2.5GAL图3-19寄存器输出结构图3-20寄存器模式组合双向输出结构3.2.5GAL图3-21组合输出双向结构图3-22复合型组合输出结构3.2.5GAL图3-23反馈输入结构图3-24输出反馈结构3.2.5GAL图3-25简单模式输出结构OLMC的所有这些输出结构和工作模式的选择和确定(即对其中的多路选择器的控制)均由EDA开发软件,根据GAL的逻辑设计文件的逻辑关系自动形成控制文件。即将设计文件综合成可下载于GAL的JEDEC标准格式文件(即熔丝图文件),该文件包含对OLMC输出结构和工作模式及可编程与阵列各连线熔丝点的选择信息。3.3CPLD结构与工作原理(1)逻辑阵列块(LAB)图3-27-MAX7128S的结构•每个LAB由16个宏单元构成•多个LAB通过可编程连线阵列PIA和全局总线连接在一起图3-26MAX7000系列的单个宏单元结构PRNCLRNENA逻辑阵列全局清零共享逻辑扩展项清零时钟清零选择寄存器旁路并行扩展项通往I/O模块通往PIA乘积项选择矩阵来自I/O引脚全局时钟QDEN来自PIA的36个信号快速输入选择2(2)宏单元三个功能块:逻辑阵列、乘积项选择矩阵、可编程寄存器可配置为时序逻辑或组合逻辑工作方式。3.3CPLD结构与工作原理(3)扩展乘积项局部连线共享扩展项提供的“与非”乘积项宏单元的乘积项逻辑宏单元的乘积项逻辑图3-28共享扩展乘积项结构每个LAB有16个共享扩展项。可被LAB内任何一个或全部宏单元使用和共享,以便实现复杂的逻辑函数。图3-29并联扩展项馈送方式3.3CPLD结构与工作原理允许最多20个乘积项直接送到宏单元的“或”逻辑,其中五个乘积项由宏单元本身提供,另外15个并联扩展项由同一个LAB中邻近宏单元借用。3.3CPLD结构与工作原理(4)可编程连线阵列不同的LAB通过在可编程连线阵列(PIA)上布线,以相互连接构成所需的逻辑。图3-30PIA信号布线到LAB的方式(5)I/O控制块图3-31-EPM7128S器件的I/O控制块I/O控制块允许每个I/O引脚被单独被配置为输入、输出和双向工作方式。3.4.1查找表逻辑结构查找表LUT输入1输入2输入3输入4输出图3-32FPGA查找表单元查找表(Look-Up-Table)简称为LUT,LUT本质上就是一个RAM。目前FPGA中多使用4输入的LUT,所以每一个LUT可以看成一个有4位地址线的16x1的RAM。当用户通过原理图或HDL语言描述了一个逻辑电路以后,PLD/FPGA开发软件会自动计算逻辑电路的所有可能的结果,并把结果事先写入RAM,这样,每输入一个信号进行逻辑运算就等于输入一个地址进行查表,找出地址对应的内容,然后输出即可。3.4FPGA的结构与工作原理查找表(Look-Up-Table)的原理与结构下面是一个4输入与门的例子,查找表结构的FPGA逻辑实现原理A,B,C,D由FPGA芯片的管脚输入后进入可编程连线,然后作为地址线连到到LUT,LUT中已经事先写入了所有可能的逻辑结果,通过地址查找到相应的数据然后输出,这样组合逻辑就实现了。该电路中D触发器是直接利用LUT后面D触发器来实现。时钟信号CLK由I/O脚输入后进入芯片内部的时钟专用通道,直接连接到触发器的时钟端。触发器的输出与I/O脚相连,把结果输出到芯片管脚。这样PLD就完成了图3所示电路的功能。(以上这些步骤都是由软件自动完成的,不需要人为干预)这个电路是一个很简单的例子,只需要一个LUT加上一个触发器就可以完成。对于一个LUT无法完成的的电路,就需要通过进位逻辑将多个单元相连,这样FPGA就可以实现复杂的逻辑。KX康芯科技3.4.2Cyclone/CycloneII系列器件的结构与原理图3-34CycloneLE结构图3.4.2Cyclone/CycloneII系列器件的结构与原理data1addnsubdata2data34-inputLUT4-inputLUTcindata4RegRegsloadsclearaloadclockenaaclr行、列直连线布线LUT链寄存器链行、列直连线布线行、列直连线布线寄存器链输入图3-35CycloneLE普通模式3.4.2Cyclone/CycloneII系列器件的结构与原理图3-36CycloneLE动态算术模式同步装载清零逻辑寄存器两个2输入LUT(进位)寄存器控制信号寄存器链输入Data1Data2Data3行、列和直连线布线局部布线两个2输入LUT(和)寄存器链输出addnsub进位输出逻辑进位输入逻辑LAB进位输入进位输入0进位输入1进位输出1进位输出03.4.2Cyclone/CycloneII系列器件的结构与原理图3-37CycloneLAB结构LE1LE2LE3LE4LE5LE6LE7LE8LE10LE9LE1LE2LE3LE4LE5LE6LE7LE8LE10LE94444444444控制信号局部互连LAB输入信号LUT链和寄存器链LE反馈信号连线3.4.2Cyclone/CycloneII系列器件的结构与原理图3-38LAB阵列3.4.2Cyclone/CycloneII系列器件的结构与原理图3-39LAB控制信号生成CLR2CLR1ASYNCLOAD/LABPRESYNCLOADCLK1CLKENA1LAB行Clock至每个寄存器/6CLK2CLKENA2SYNCCLRADDNSUB局部互连局部互连局部互连局部互连局部互连局部互连3.4.2Cyclone/CycloneII系列器件的结构与原理图3-40快速进位选择链Le1Le2Le3Le4和1和2和3和4A1B1A2B2A3B3A4B4LE4LE2Le3LE101LE3LE5和5A5B5LE6LE7LE801LE9LE10和6和7和8和9和10LAB进位输出A6B6A7B7A8B8A9B9A10B10Le1Le2Le3Le4A1B1A2B2A3B3A4B4LE4LE2Le3LE101LAB进位输入LE3LE5A5B5LE6LE7LE801LE9LE10A6B6A7B7A8B8A9B9A10B10A+B+1ABA+B+0LAB进位输入10进位输入0进位输出0A+B+1A+B+0进位输出1和100101进位输入12输入LUT3.4FPGA的结构与工作原理3.4.2Cyclone/CycloneII系列器件的结构与原理图3-41LUT链和寄存器链的使用LE1LutDQDQLE2DQDQLEs3-10LUT链寄存器链Lut3.4FPGA的结构与工作原理3.4.2Cyclone/CycloneII系列器件的结构与原理图3-42LVDS连接Cyclone器件接收器件外接电阻网路外接终端电阻3.5硬件测试技术3.5.1内部逻辑测试图3-43边界扫描电路结构3.5.2JTAG边界扫描测试3.5硬件测试技术表3-1边界扫描IO引脚功能3.5.2JTAG边界扫描测试引脚描述功能TDI测试数据输入(TestDataInput)测试指令和编程数据的串行输入引脚。数据在TCK的上升沿移入。TDO测试数据输出(TestDataOutput)测试指令和编程数据的串行输出引脚,数据在TCK的下降沿移出。如果数据没有被移出时,该引脚处于高阻态。TMS测试模式选择(TestModeSelect)控制信号输入引脚,负责TAP控制器的转换。TMS必须在TCK的上升沿到来
本文标题:FPGA-CPLD的结构与应用.
链接地址:https://www.777doc.com/doc-2872444 .html