FPGACPLD结构原理探素课件_第1页
FPGACPLD结构原理探素课件_第2页
FPGACPLD结构原理探素课件_第3页
FPGACPLD结构原理探素课件_第4页
FPGACPLD结构原理探素课件_第5页
已阅读5页,还剩99页未读 继续免费阅读

下载本文档

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

文档简介

1、EDA技术与VHDL 第2章FPGA/CPLD结构原理第1页,共104页。第2页 由基本门电路可构成两类数字电路: 组合电路:输出总是当前输入状态的函数。 时序电路:输出总是当前系统状态和当前输入状态的函数。 任何组合逻辑函数都可化为“与或”表达式。 于是人们提出了用乘积项可编程逻辑结构作为基本PLD器件的原理结构。2.1 概述 任何时序电路都可由组合电路加上存储元件(锁存器、触发器、RAM等)构成。第2页,共104页。第3页图2-1 基本PLD器件的原理结构图 2.1 概述 第3页,共104页。第4页2.1 概述 2.1.1 PLD的发展历程 熔丝编程的PROM和PLA器件 AMD公司推出P

2、AL器件 GAL器件 FPGA器件 EPLD器件 CPLD器件 内嵌复杂功能模块的SoPC 第4页,共104页。第5页2.1 概述 2.1.2 PLD分类 图2-2 按集成度(PLD)分类 第5页,共104页。第6页 乘积项结构器件:CPLD 查找表结构器件:FPGA 3、按编程工艺分类 1)熔丝(Fuse)型 2)反熔丝(Antifuse)型 以上两种类型的器件称为OTP(One Time Programmable)器件。2、按结构分类第6页,共104页。第7页 3)EPROM(Erasable Programmable ROM)型 称为:紫外线擦除可编程器件。特点:可多次编程。 4)EEP

3、ROM(Electrical EPROM)型 称为:电擦除可编程器件。特点:擦除速度快,方便。 5)flash 型,称为:闪存可编程器件。 特点:编程、擦除速度更快,方便,使用寿命长。 6)SRAM( Static RAM ) 称为:SRAM查找表结构器件。特点:编程速度快, 上电需再次编程。按编程工艺分类(续前)第7页,共104页。第8页2.2 简单PLD结构原理 2.2.1 逻辑元件符号表示 图2-3 两种不同版本的国际标准逻辑门符号对照表 第8页,共104页。第9页2.2.1 逻辑元件符号表示 图2-4 PLD的互补缓冲器 图2-5 PLD的互补输入 图2-6 PLD中与阵列表示 图2-

4、7 PLD中或阵列的表示 图3-8 阵列线连接表示 第9页,共104页。第10页2.2.2 PROM结构原理图2-9 PROM基本结构 2.2简单PLD结构原理第10页,共104页。第11页 PROM中的地址译码器是完成PROM存储阵列的行的选择,其逻辑函数是: 显然,所得到式子都可以看成是逻辑与运算第11页,共104页。第12页图2-10 PROM的逻辑阵列结构逻辑函数表示:第12页,共104页。第13页M07M06M05M04M03M02M01M00M17M16M15M14M13M12M11M10M27M26M25M24M23M22M21M20M37M36M35M34M33M32M31M3

5、0W0W1W2W3F7 F6 F5 F4 F3 F2 F1 F0A1 A0 0 0 0 1 1 0 1 1M行,列列线(或)F0=M30W3+M20W2+M10W1+M00W0F1=M31W3+M21W2+M11W1+M01W0 F7=M37W3+M27W2+M17W1+M07W0行线(与)以两条地址线A1,A0为例第13页,共104页。第14页用PROM实现组合逻辑电路功能实现的函数为:固定连接点(与)编程连接点(或)第14页,共104页。第15页图2-11 PROM表达的PLD图阵列图2-12 用PROM完成半加器逻辑阵列第15页,共104页。 例1 用PROM设计一个代码转换电路,将4位

6、二进制码转换为Gray码。第16页,共104页。第17页第17页,共104页。 例2 用PROM设计发生器,其输入为4位二进制码输出为8421码。电路串行产生常数,取其小数点后15位。第18页,共104页。十进制数8421码5421码2421码余3码00000000000000011100010001000101002001000100010010130011001100110110401000100010001115010110001011100060110100111001001701111010110110108100010111110101191001110011111100常用BCD

7、码第19页,共104页。第20页,共104页。第21页,共104页。第22页不足之处:与阵列为全译码阵列,器件的规模将随着输入信号数量n的增加,成2n指数级增长。因此PROM一般只用于数据存储器。第22页,共104页。第23页2.2.3 PLA结构原理图2-13 PLA逻辑阵列示意图 2.2 简单PLD结构原理第23页,共104页。第24页2.2.3 PLA结构原理 图2-14 PLA与 PROM的比较 2.2 简单PLD结构原理第24页,共104页。 例3 用PLA设计一个代码转换电路,将十进制的8421转换为余三码。第25页,共104页。第26页,共104页。 例4 用PLA设计8421码

8、加1计数器,并用七段显示器显示计数状态。第27页,共104页。第28页第28页,共104页。第29页,共104页。第30页,共104页。七段数码显示器工作原理共阴极接法第31页,共104页。显示代码概念9的显示代码第32页,共104页。第33页,共104页。第34页,共104页。第35页与阵列可编程,或阵列固定使器件简化。或阵列固定明显影响了器件编程的灵活性2.2.4 PAL 2.2 简单PLD结构原理第35页,共104页。第36页2.2.4 PAL 图2-15 PAL结构 图2-16 PAL的常用表示 2.2 简单PLD结构原理第36页,共104页。第37页AnBnCnAnBnCnAnBnC

9、nAnBnCnAnBnAnCnBnCn用PAL实现全加器第37页,共104页。第38页图2-17 一种PAL16V8的部分结构图 第38页,共104页。第39页通用阵列逻辑器件是继PAL器件之后,在20世纪80年代中期推出的一种低密度可编程逻辑器件。它在结构上采用了输出逻辑宏单元(OLMC Output Logic Macro Cell)结构形式。在工艺上吸收了EEPROM的浮栅技术,具有可擦除、可重新编程、数据可长期保存和可重新组合结构的特点。2.2.5 GAL 2.2 简单PLD结构原理第39页,共104页。第40页2.2.5 GAL 图2-18 GAL16V8的结构图 逻辑宏单元输入/输

10、出口输入口时钟信号输入三态控制可编程与阵列固定或阵列 第40页,共104页。GAL器件输出逻辑宏单元(OLMC)11100100TSMUX1&0 1PTMUX111DQC10 1OMUX10 11 0100FMUX或门控制多路开关输出多路开关反馈多路开关XOR(n)VCCAC0AC1(n)输出使能多路开关QAC0AC1(n)AC1(m)时钟CP使能控制OE来自相邻OLMC(m)输出I/O(n)反馈到与阵列来自与阵列OLMC(n)返回PTMUXTSMUXOMUXFMUX可编程乘积项多路开关,用于控制第一乘积项可编程输出多路开关,用于选择输出信号是经异或门直接输出还是经D触发器输出可编程三态多路开

11、关,用于选择三态输出缓冲器的使能信号可编程反馈多路开关,用于选择不同的信号反馈给与阵列的输入端第41页,共104页。GAL器件输出逻辑宏单元(OLMC)11100100TSMUX1&0 1PTMUX111DQC10 1OMUX10 11 0100FMUX或门控制多路开关输出多路开关反馈多路开关XOR(n)VCCAC0AC1(n)输出使能多路开关QAC0AC1(n)AC1(m)时钟CP使能控制OE来自相邻OLMC(m)输出I/O(n)反馈到与阵列来自与阵列OLMC(n)返回PTMUXTSMUXOMUXFMUX可编程乘积项多路开关,用于控制第一乘积项可编程输出多路开关,用于选择输出信号是经异或门直

12、接输出还是经D触发器输出可编程三态多路开关,用于选择三态输出缓冲器的使能信号可编程反馈多路开关,用于选择不同的信号反馈给与阵列的输入端第42页,共104页。三态输出使能控制011101110用户定义使用100功能控制电平AC1(n)AC0表1 PTMUX功能表寄存器型输出组合型输出组合型输出110110组合型输出00功能AC1(n)AC0表3 OMUX功能表由OE确定高阻用户编程确定110110使能00输出功能AC1(n)AC0表2 TSMUX功能表本级内部寄存器输出反馈邻近OLMC输出作输入本级OLMC输出反馈110110无反馈00功能AC1(m)AC1(n)AC0表4 FMUX功能表返回第

13、43页,共104页。第44页第44页,共104页。第45页 图2-19 寄存器输出结构 1寄存器模式。 图2-20 寄存器模式组合双向输出结构 2.2.5 GAL 2.2 简单PLD结构原理第45页,共104页。第46页图2-21 组合输出双向结构 2复合模式。 图2-22 复合型组合输出结构 2.2.5 GAL 2.2 简单PLD结构原理第46页,共104页。第47页图2-23 反馈输入结构 3简单模式。 图2-24 输出反馈结构 图2-25 简单模式输出结构 2.2.5 GAL结构原理 2.2 简单PLD结构原理第47页,共104页。第48页2.3 CPLD的结构及其工作原理图2-26 M

14、AX3000A系列的单个宏单元结构 第48页,共104页。第49页 MAX3000包含了32256个宏单元。 每16个宏单元组成一个逻辑阵列块LAB (Logic Array Block)每个宏单元含有一个可编程与阵,固定或 阵,可配置寄存器。2.3 CPLD的结构及其工作原理第49页,共104页。第50页CPLD内部结构(Altera的MAX3000A系列)逻辑阵列模块I/O单元连线资源逻辑阵列模块中包含多个宏单元第50页,共104页。第51页1、逻辑阵列块LABMAX7000结构主要是由多个LAB组成的阵列,以及之间的连线组成。多个LAB通过可编程连线阵PIA(Programmable I

15、nterconnect Array)和全局总线连在一起。全局总线从所有的专用输入、I/O引脚和宏单元馈入信号。每个LAB的输入信号:1)通用逻辑输入的PIA的36个信号;2)全局控制信号,用于寄存器的辅助功能;3)从I/O引脚到寄存器的直接输入通道。2.3 CPLD的结构及其工作原理第51页,共104页。第52页图2-27 MAX3000的结构 1逻辑阵列块(LAB) 2.3 CPLD的结构及其工作原理第52页,共104页。第53页图2-26 MAX3000A系列的单个宏单元结构 第53页,共104页。第54页2宏单元 逻辑阵列、乘积项选择矩阵、可编程寄存器 每个寄存器可按三种时钟模式工作全局

16、时钟信号。接入每个寄存器的CLK端,能实现最快的时钟到输出功能。全局时钟信号并由高电平有效的时钟信号使能。用乘积项实现一个阵列时钟。由于时钟来自宏单元或I/O引脚,其速度稍慢。2.3 CPLD的结构及其工作原理第54页,共104页。第55页宏单元内部结构乘积项逻辑阵列乘积项选择矩阵可编程触发器第55页,共104页。第56页 每个宏单元中有一个“共享扩展项”,乘积项经非门后回馈到逻辑阵列中;还存在一个“并联扩展项”,乘积项从邻近宏单元借位而来。 虽然大部分逻辑函数能够用在每个宏单元的5个乘积项实现,但更复杂的逻辑函数可以利用其他宏单元,以提供所需的逻辑资源。即利用共享和并联扩展乘积项,直接送到本

17、LAB的任意一个宏单元中。3扩展乘积项 2.3 CPLD的结构及其工作原理第56页,共104页。第57页扩展乘积项说明:共享扩展项:每个LAB有16个共享扩展项,即每个宏单元提供一个单独的乘积项,可被LAB内任何一个或全部宏单元使用和共享。并联扩展项:宏单元中一些没被使用的乘积项,可分配到邻近的宏单元去。使用扩展项允许最多20个乘积项直接送到宏单元的“或”逻辑。其中5个是本身的,15个并联乘积项是从本LAB中邻近宏单元借用的。2.3 CPLD的结构及其工作原理第57页,共104页。第58页图2-28 共享扩展乘积项结构 2.3 CPLD的结构及其工作原理第58页,共104页。第59页图2-29

18、 并联扩展项馈送方式 第59页,共104页。第60页4可编程连线阵列(PIA) 图2-30 PIA信号布线到LAB的方式 不同的LAB通过在可编程连线阵列(PIA)上布线,以相互连接构成所需的逻辑,这个全局总线是一种可编程的通道。2.3 CPLD的结构及其工作原理第60页,共104页。第61页5I/O控制块 图2-31 MAX3000A系列器件的I/O控制块 允许每个I/O引脚单独配置为:输入、输出和双向。第61页,共104页。第62页三态门控接地:I/O引脚为专用输入引脚。三态门控接Vcc:I/O引脚为普通输出引脚。优化设计:1、减缓输出缓冲器的电压摆率(Slow Rate),以降低开关噪声

19、。2、可编程的速度或功率优化。注意MAX3000系列的工作电压:E、S系列:5.0VA、AE系列:3.3VB系列:2.5V2.3 CPLD的结构及其工作原理第62页,共104页。第63页 FPGA(现场可编程门阵列)采用另一种可编程逻辑形成方式,即可编程的查找表LUT(Look Up Table)结构。LUT是可编程的最小逻辑单元。2.4 FPGA的结构与工作原理 第63页,共104页。第64页2.4.1 查找表逻辑结构图2-33 FPGA查找表单元内部结构图2-32 FPGA查找表单元2.4 FPGA的结构与工作原理 第64页,共104页。第65页一个N输入查找表 (LUT,Look Up

20、Table)可以实现N个输入变量的任何逻辑功能,如 N输入“与”、 N输入“异或”等。输入多于N个的函数、方程必须分开用几个查找表( LUT)实现。输出查黑找盒表子输入1输入2输入3输入4什么是查找表?基于查找表的结构模块 第65页,共104页。第66页查找表的基本原理实际逻辑电路LUT的实现方式 a,b,c,d 输入逻辑输出地址RAM中存储的内容00000000000001000010.0.01111111111N个输入的逻辑函数需要2的N次方的容量的SRAM来实现,一般多个输入的查找表采用多个逻辑块级连的方式第66页,共104页。第67页N个输入的逻辑函数需要2的N次方的容量的SRAM来实

21、现,一般多于输入的查找表采用多个逻辑块级连的方式查找表的基本原理第67页,共104页。第68页 查找表中的数就是SRAM阵列中所存逻辑函数的真值,查找表的输入就是SRAM的地址输入。 用LUT实现逻辑函数的过程,是将逻辑函数的真值表事先存储在LUT的存储单元中,当逻辑函数的输入变量取不同组态时,相应组态的二进制取值构成SRAM的地址,选中相应地址对应的SRAM单元,也就得到了输入变量组合对应的逻辑值。2.4 FPGA的结构与工作原理 第68页,共104页。第69页2.4.2 Cyclone 系列器件的结构与原理 图2-34 Cyclone LE结构图 第69页,共104页。第70页2.4.2

22、Cyclone 系列器件的结构与原理 图2-35 Cyclone LE普通模式 第70页,共104页。第71页2.4.2 Cyclone 系列器件的结构与原理 图2-36 CycloneIII LE动态算术模式 第71页,共104页。第72页2.4.2 Cyclone 系列器件的结构与原理 图2-37 CycloneIII LAB结构 第72页,共104页。第73页2.4.2 Cyclone 系列器件的结构与原理 图2-38 LAB阵列间互连第73页,共104页。第74页2.4.2 Cyclone系列器件的结构与原理 图2-39 LAB控制信号生成 第74页,共104页。第75页2.4.2 C

23、yclone 系列器件的结构与原理 图2-40 嵌入式乘法器 第75页,共104页。第76页2.4 FPGA的结构及其工作原理 2.4.2 Cyclone 系列器件的结构与原理 图2-40 时钟网络的时钟控制 第76页,共104页。第77页2.4 FPGA的结构及其工作原理 图2-42 LVDS连接 2.4.2 Cyclone 系列器件的结构与原理 第77页,共104页。第78页2.5 硬件测试图2-43 边界扫描电路结构 2.5.1 内部逻辑测试 2.5.2 JTAG边界扫描测试 第78页,共104页。第79页2.5.2 JTAG边界扫描测试 引 脚描 述功 能TDI测试数据输入(Test

24、Data Input)测试指令和编程数据的串行输入引脚。数据在TCK的上升沿移入。TDO测试数据输出(Test Data Output)测试指令和编程数据的串行输出引脚,数据在TCK的下降沿移出。如果数据没有被移出时,该引脚处于高阻态。TMS测试模式选择(Test Mode Select)控制信号输入引脚,负责TAP控制器的转换。TMS必须在TCK的上升沿到来之前稳定。TCK测试时钟输入(Test Clock Input)时钟输入到BST电路,一些操作发生在上升沿,而另一些发生在下降沿。TRST测试复位输入(Test Reset Input)低电平有效,异步复位边界扫描电路(在IEEE规范中,

25、该引脚可选)。表2-1 边界扫描IO引脚功能 第79页,共104页。第80页图2-44 边界扫描数据移位方式 2.5.2 JTAG边界扫描测试 第80页,共104页。第81页图2-45 JTAG BST系统内部结构 注:Tap:测试存取通道IR:指令寄存器DR:测试数据寄存器SHIFT_DR:数据寄存器移位SHIFT_IR:指令寄存器移位第81页,共104页。第82页图2-46 JTAG BST系统与与FPGA器件关联结构图 第82页,共104页。第83页第83页,共104页。第84页2.5 硬件测试图2-47 JTAG BST选择命令模式时序 2.5.2 JTAG边界扫描测试 第84页,共1

26、04页。第85页2.5 硬件测试2.5.2 JTAG边界扫描测试 TAP控制器的命令模式有: SAMPLEPRELOAD指令模式 EXTEST指令模式 BYPASS指令模式 IDCODE指令模式 USERCODE指令模式 2.5.3 嵌入式逻辑分析仪 第85页,共104页。第86页2.6 PLD产品概述 2.6.1 Lattice公司的PLD器件 1. ispLSI器件系列 1. ispLSI系列器件 2. MACHXO系列 3. MACH4000系列 4. LatticeSC FPGA系列 5. LatticeECP3 FPGA系列 第86页,共104页。第87页2.6 PLD产品概述 2.

27、6.1 Lattice公司CPLD器件系列 2. ispLSI器件的结构与特点 (1)采用UltraMOS工艺。(2)系统可编程功能,所有的ispLSI器件均支持ISP功能。(3)边界扫描测试功能。(4)加密功能。(5)短路保护功能。第87页,共104页。第88页2.6 PLD产品概述 2.6.1 Lattice公司的PLD器件 3. ispMACH4000系列 4. Lattice EC & ECP系列 ispMACH4000系列CPLD器件有3.3V、2.5V 和 1.8V 三种供电电压,分别属于 ispMACH 4000V、ispMACH 4000B 和 ispMACH 4000C 器件

28、系列。 第88页,共104页。第89页2.6 PLD产品概述 2.6.2 Xilinx公司的FPGA和CPLD器件系列 1. Virtex-4系列FPGA 2. Spartan& Spartan-3 & Spartan 3E器件系列 3. XC9500 & XC9500XL系列CPLD 4. Xilinx FPGA配置器件SPROM 5. Xilinx的IP核 第89页,共104页。第90页2.6 PLD产品概述 2.6.3 Altera公司的FPGA和CPLD器件系列 1. Stratix II 系列FPGA 2. Stratix系列FPGA 3. ACEX系列FPGA 4. FLEX系列F

29、PGA 5. MAX系列CPLD 6. Cyclone系列FPGA低成本FPGA 7. Cyclone II系列FPGA 8. MAX II系列器件 9. Altera宏功能块及IP核 第90页,共104页。第91页2.6 PLD产品概述 2.6.4 Actel公司的FPGA器件 2.6.5 Altera公司的FPGA配置方式与配置器件器 件功能描述封装形式EPC216956801位,3.3/5V供电20脚PLCC、32 脚 TQFPEPC110464961位,3.3/5V供电8脚PDIP、20脚PLCCEPC1441440 8001位,3.3/5V供电8脚PDIP、20脚PLCC表2-2 A

30、ltera FPGA常用配置器件 第91页,共104页。第92页引脚12345678910PS模式DCKGNDCONF_DONEVCCnCONFIG-nSTATUS-DATA0GNDJATG模式TCKGNDTDOVCCTMS-TDIGND2.7 CPLD/FPGA的编程与配置 表2-3 图2-48接口各引脚信号名称 基于电可擦除存储单元的EEPROM或Flash技术。 基于SRAM查找表的编程单元。 基于反熔丝编程单元。 第92页,共104页。第93页2.7 CPLD/FPGA的编程与配置 2.7.1 JTAG方式的在系统编程 图2-48 CPLD编程下载连接图 第93页,共104页。第94页2.7 CPLD/FPGA的编程与配置 2.7.1 JTAG方式的在系统编

温馨提示

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

评论

0/150

提交评论