第3部分CPLD-FPGA结构原理_第1页
第3部分CPLD-FPGA结构原理_第2页
第3部分CPLD-FPGA结构原理_第3页
第3部分CPLD-FPGA结构原理_第4页
第3部分CPLD-FPGA结构原理_第5页
已阅读5页,还剩68页未读 继续免费阅读

下载本文档

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

文档简介

1、主讲:罗韩君,邮箱: 手机FPGA原理与应用,2016-2017学年第二学期,电气与自动化工程学院,第3部分 FPGACPLD结构原理,组合电路:在逻辑上总是当前输入状态的函数; 时序电路:其输出是当前系统状态与当前输入状态的函数,它含有存储单元.,主要内容,一、 PLD 概述 二、 简单PLD结构原理 三、 CPLD 结构原理 四、 FPGA的结构原理 五、 硬件测试 六、 CPLD/FPGA的编程和配置,基本PLD器件的原理结构图,1、基本概念,一、PLD概述,可编程逻辑器件(Programmable Logic Device)简称PLD,是由“与”阵列和“或”阵

2、列组成,能有效的以“积之和”的形式实现布尔逻辑函数。,2、 PLD的发展历程,70年代,80年代,90年代,PROM 和PLA 器件,改进的 PLA 器件,GAL器件,FPGA器件,EPLD 器件,CPLD器件,内嵌复杂 功能模块 的SoPC,3、PLD的分类,基本类型,. 可编程只读存储器PROM,. 可编程逻辑阵列PLA,. 可编程阵列逻辑PAL,. 通用阵列逻辑GAL,CPLD/FPGA,复杂类型,按集成度(PLD)分类,可编程逻辑器件从结构上区分,可分为乘积项结构器件和查找表结构器件.,可编程逻辑器件从编程工艺上划分,可分为一次性可编程器件(OTP)器件和多次性可编程器件器件. 一次性

3、可编程器件(OTP)器件又分为熔丝型器件(如早期的PROM)和反熔丝型器件(如Actel公司的FPGA器件) 多次性可编程器件器件又分为紫外线擦除电可编程器件(EPROM),电可擦写编程器件(EEPROM),SROM查找表结构器件和Flash型器件.,1、 逻辑元件符号表示,二、简单PLD结构原理,PLD的互补缓冲器 PLD的互补输入 PLD中与阵列表示,PLD中或阵列的表示 阵列线连接表示,2、逻辑元件符号表示,PROM基本结构:,其逻辑函数是:,3、可编程只读存储器PROM结构原理,PROM的逻辑阵列结构,逻辑函数表示:,PROM表达的PLD图阵列,用PROM完成半加器逻辑阵列,PROM内

4、部结构为“与”阵列固定,“或”阵列可编程。,2N输入组合,查表输出,PLA逻辑阵列示意图,4、可编程逻辑阵列PLA结构原理,PLA内部结构为“与”、“或”阵列皆可编程。,2N乘积线,编程输出,PLA与 PROM的比较:,PLA与或阵列皆可编程,PROM与阵列固定,或阵列可编程,PAL结构:,PAL的常用表示:,5、可编程阵列逻辑PAL结构原理,CPLD技术及应用教学课件,PAL内部结构为“与”阵列可编程,“或”阵列固定。,2N乘积线,输出组合,2.2.4 PAL结构原理,PAL16V8的部分结构图,应用实例,给出逻辑方程如下:,Q0=I0 + NOT(I1) I2,Q1=NOT(I0) I2

5、+NOT(I1)I2,Q2=NOT(I0) I1 +NOT(I1)I2 +NOT(I2)I0,思考:如何实现?,答案:此款芯片不能满足Q2设计需要?,6、通用阵列逻辑GAL,GAL器件与PAL器件具有相同的内部结构,但靠各种特性组合而被区别。,GAL是美国晶格半导体公司(Lattice)为它的可编程逻辑器件注册的专用商标名称。,输出逻辑宏单元OLMC(Output Logic Macro Cell),输出逻辑宏单元OLMC(Output Logic Macro Cell),一般逻辑器件,举例:GAL16V8,GAL器件,作为一种通用的可编程逻辑器件,除了“与”阵列可编程改写,还对输出端口设计了

6、可重新改变结构和功能的输出逻辑宏单元。,输出口大多表现为缓冲器/驱动器,一旦器件定型,用户不能对它作任何改变。,逻辑宏单元,输入/输出口,输入口,时钟信 号输入,三态控制,可编程与阵列,固定或阵列,GAL16V8,CPLDComplicated Programmable Logic Device,结构框图,三、复杂可编程逻辑器件CPLD,三大部分: I/O块,FB(功能块)和互连矩阵。,组成,特点,CPLD延伸出2个发展趋势:可擦除PLD和现场可编程门阵列FPGA。,CPLD是由PAL或GAL发展而来,是由可编程逻辑的功能块围绕一个位于中心和延时固定的可编程互连矩阵构成。,不采用分段互连方式,

7、具有较大的时间可预测性。,采用EEPROM工艺,MAX7000系列的单个宏单元结构,MAX7128S的结构,1逻辑阵列块(LAB),2宏单元,3扩展乘积项,(1)共享扩展项,并联扩展项馈送方式,(2)并联扩展项,4可编程连线阵列(PIA),PIA信号布线到LAB的方式,5I/O控制块,EPM7128S器件的I/O控制块,FPGAField Programmable Gate Array,FPGA内部结构,可编程I/O,可编程单元,可编程布线,四、现场可编程门阵列FPGA,FPGA现场可编程门阵列通常由布线资源围绕的可编程单元(或宏单元)构成阵列,又由可编程I/O单元围绕阵列构成整个芯片。,可编

8、程逻辑功能块CLB,实现用户功能的基本单元。,可编程I/O单元,完成芯片上逻辑与外部封装脚的接口,常分布在CLB的四周,可编程互连PI,采用SRAM工艺,包括各种长度的连线和可编程连接开关,将逻辑块与输入/输出块连接起来,构成特定的电路,FPGA结构与工作原理,FPGA查找表单元内部结构,FPGA查找表单元:,一个N输入查找表 (LUT,Look Up Table)可以实现N个输入变量的任何逻辑功能,如 N输入“与”、 N输入“异或”等。 输入多于N个的函数、方程必须分开用几个查找表( LUT)实现,什么是查找表?,基于查找表的结构模块,一个4输入与门查找表实例:,输入 A 输入 B 输入C

9、输入D,查找表 输出,16x1 RAM,查找表原理,多路选择器,0,0,1,1,0,0,0,1,0,0,1,0,0,0,0,1,0,1,1,Xilinx Spartan-II内部结构,CLBs:Configurable Logic Blocks(可配置逻辑块),Altera Flex/Acex 等芯片的结构,LAB: Logic Array Block(逻辑阵列块),四、FPGA/CPLD硬件测试技术,内部逻辑测试 JTAG(Joint Test Action Group-联合测试行动小组)边界扫描测试 嵌入式逻辑分析仪(通过JTAG接口软件测试方法) Altera 的 SignalTap X

10、ilinx 的 ChipScope,小知识:传统上将信号连线夹住I/O引脚,利用示波器、逻辑分析仪或总线分析仪测试和验证芯片内部信号,这种测试方法仪器昂贵,边线夹对信号影响大,且易烧坏芯片。随着JTAG边界扫描技术发展,基于嵌入式逻辑分析仪的内部逻辑测试方法得到了广泛应用。,随着微电子技术、微封装技术和印制板制造技术的不断发展,印制电路板越来越小,密度和复杂程度越来越来高。面对这样的发展趋势,如果仍沿用传统的外探针测试法和“针床”夹具测试法来全面彻底的测试焊接在电路板上的器件将是难以实现的。多层电路板以及采用贴片封装器件的电路板,将更难以用传统的测试方法加以测试。,20世纪80年代,联合测试行

11、动组开发了IEEE1149.1边界扫描测试技术规范。该规范提供了有效的测试引线间隔致密的电路板上零件的能力。,如今,几乎所有公司的CPLD/FPGA器件均遵守IEEE规范,为输入/输出引脚及专用配置引脚提供了边界扫描测试BST(Boundary-Scan Interface)的能力。与此类似的是DSP器件,如TI的TMS320系列DSP器件均含JTAG口。,边界扫描电路结构,边界扫描IO引脚功能,JTAG BST需要下列寄存器:,指令寄存器,旁路寄存器,边界扫描寄存器,用来决定是否进行测试或访问数据寄存器操作,这个1bit寄存器用来提供TDI和TDO的最小串行通道,由器件引脚上的所有边界扫描单

12、元构成,FPGA每个输入输出引脚都增加了一个移位寄存器,在测试模式下,这些寄存器用来控制输出引脚的状态和读取输入引脚的状态,从而完成了测试工作。,边界扫描测试步骤,移位输入和译码指令 移位输入测试数据 执行测试 输出结果,六、CPLD/FPGA的编程与配置,软件如何录入“固化”进入器件?,方法1:编程器(Programmer),专用编程器和通用编程器,把CPLD/FPGA设计代码送入芯片的过程(或做法) 称为对CPLD/FPGA器件的配置,也称为下载。 经过配置的CPLD/FPGA芯片,就成为具有用户需要功能的专用数字电路或数字系统。,开始编程,将编程完毕的配置 器件插在相应的 电路系统上,I

13、SPIn System Programmable,方法2:在系统编程ISP,通过几根编程线与计算机的并行口/串口相连,在专门应用软件配合下,方便的实现程序下载。,EPC2器件,EPC2的编程口,ISP功能提高设计和应用的灵活性,减少对器件的触摸和损伤 不计较器件的封装形式,允许一般的存储 样机制造方便 支持生产和测试流程中的修改,允许现场硬件升级 迅速方便地提升功能,未编程前先焊接安装,系统内编程-ISP,在系统现场重编程修改,器件编程下载的分类: 对CPLD/FPGA芯片进行编程配置的方式有多种。 1、按使用计算机的通讯接口划分,有: (1)串口下载(BitBlaster或MasterBla

14、ster)、 (2)并口下载(ByteBlaster)、 (3)USB接口下载(MasterBlaster或APU)等方式。,2、若按使用的CPLD/FPGA器件划分,有: 1)CPLD编程(适用于片内编程元件为EPROM、 E2PROM和闪存的器件); 2)FPGA下载(适用于片内编程元件为SDRAM的器件),3、按CPLD/FPGA器件在编程下载过程中的状态划分,有: 1)主动配置方式。 在这种配置方式下,由CPLD/FPGA器件引导配置操作的过程并控制着外部存贮器和初始化过程; 2)被动配置方式。 在这种配置方式下,由外部CPU或控制器(如单片机)控制配置的过程。,CPLD/FPGA器件

15、的工作状态,CPLD/FPGA器件按照正常使用和下载的不同过程其工作状态分为三种: 1、用户状态(User mode) 即电路中CPLD器件正常工作时的状态; 2、配置状态(Configuration mode ) 指将编程数据装入CPLD/FPGA器件的过程,也可称 之为下载状态; 3、初始化状态(Initialization) 此时CPLD/FPGA器件内部的各类寄存器复位, 让IO引脚为使器件正常工作作好准备。,ALTERA的编程文件,ALTERA 公司的开发系统Qusrtus可以生成多种格式的编程数据文件。对于不同系列器件, 所能生成的编程/配置文件类型有所不同, 其中最常用的即为.s

16、of文件和.pof文件,但无论什么格式的下载文件,最终下载到FPGA芯片中的文件都为.rbf原始二进制文件: SRAM Object格式(.sof:SRAM Object File): SOF格式配置文件由下载电缆将其下载到FPGA芯片中, 其它数据格式均可由该种格式转化而成,Quartus II自动默认生成,SOF文件基于JTAG模式下载,下载速度快,一般在设计调试程序时使用,但掉电失效。 Programming Object格式(.pof:Programmable Object File): POF格式配置文件用于烧写Altera公司配置芯片或CPLD芯片, Quartus II自动生成,

17、POF文件用于AS配置方式,是烧录进芯片的,速度较慢,但不会掉电消失,一般在应用时使用。,(一) CPLD的ISP方式编程,CPLD的JTAG方式编程下载连接图,各引脚信号名称,10芯下载口,对CPLD编程,TCK、TDO、TMS、TDI为CPLD的JTAG口,多CPLD芯片ISP编程连接方式,配置(configuration)是对FPGA的内容进行编程的过程。每次上电后都需要进行配置是基于SRAM工艺FPGA的一个特点,也可以说是一个缺点。FPGA配置过程如下:,外部电路将配置数据载入片内配置RAM中,外部电路,FPGA配置完成,配置 RAM,配置RAM中的配置数据: 用于控制FPGA内部可

18、编程的内部逻辑、内部寄存器和I/O寄存器初始化,I/O驱动器使能等。之后FPGA进入用户模式。,(二) FPGA配置方式,56,1、 FPGA配置方式 根据FPGA在配置电路中的角色,可以将配置方式分为三类: (1).FPGA主动串行(AS-Active Serial Mode)方式 (2). JTAG (JTAG Mode)方式 (3). FPGA被动(PS-Passive Serial Mode)方式,配置数据,下载工具 或 智能主机,FPGA仅输出响应信号,2、FPGA配置方案图,PS- Passive Serial FPP- Fast passive parallel PPA- Pas

19、sive parallel asynchronous PPS- Passive parallel synchronous PSA-Passive Serial Asynchronous,主动(AS)方式,被动(PS)方式,被动(PS)方式,JTAG方式,Altera FPGA配置方式列表,Cyclone FPGA配置方式表,3. Cyclone及Cyclone II FPGA配置,Cyclone 以及Cyclone IIFPGA使用SRAM单元来存储配置数据。FPGA中的SRAM是易失性的,每次上电之前,配置数据(或压缩的配置数据)必须重新下载到FPGA中。下面的2个条件均可使FPGA产生一次

20、配置请求: 给FPGA重新上电; FPGA的nConfig引脚上产生一个低电平到高电平的上升沿。,Cyclone及Cyclone II FPGA的配置方式包括: (1)FPGA主动串行(AS)配置方式; (2)FPGA被动(Passive)配置方式 ; (3)JTAG配置方式 。注:AS和JTAG是实验室开发板配置方式 用户可以通过设置FPGA上的MSEL0、MESL1两个引脚的状态来选择配置方式。各种配置方式的MSEL0、MESL1设置如下表所列:,MSEL设置跳线,62,(1) JTAG配置 通过JTAG接口,利用Quartus II软件可以直接对FPGA进行单独的硬件重新配置。Quart

21、us II软件在编译时会自动生成用于JTAG配置的.sof文件。 如果同时使用AS方式和JTAG方式来配置FPGA,JTAG配置方式拥有最高的优先级,此时AS方式将停止,而执行JTAG方式配置。,JTAG配置的电路原理图,利用Quartus II软件和USB Blaster、ByteBlaster II等下载电缆可下载配置数据到FPGA。Quartus II软件可以验证JTAG配置是否成功。 JTAG配置通过下载电缆使用SOF、Jam或者JBC文件直接对FPGA进行配置,这种配置方式只能用于调试阶段,因为,掉电后FPGA中的配置数据将丢失。,JTAG下载口,JTAG Configuration of Multiple Devices (多芯片 JTAG配置电路),主动串行配置方式(AS)是将配置数据事先存储在串行配置器件EPCS中,然后在系统上电时Cyclone及Cyclone II FPGA通过串行接口读取配置数据(如果是压缩数据,还会进行解压缩处理)对内部的SRAM单元进行配置。因为上述配置过程中FPGA控制配置接口,因此通常称为主动配置方式。,(2)主动串行配置,说明: 因为FPGA上的nSTATUS、

温馨提示

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

评论

0/150

提交评论