2第2章FPGA-CPLD结构原理.ppt_第1页
2第2章FPGA-CPLD结构原理.ppt_第2页
2第2章FPGA-CPLD结构原理.ppt_第3页
2第2章FPGA-CPLD结构原理.ppt_第4页
2第2章FPGA-CPLD结构原理.ppt_第5页
已阅读5页,还剩58页未读 继续免费阅读

下载本文档

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

文档简介

1 CPLD FPGA实用教程 第2章PLD CPLD FPGA 硬件结构 2 可编程逻辑器件 PLD ProgrammableLogicDevice PLD是大规模集成电路技术发展的产物 是半定制的集成电路 拥有自主设计的广泛空间 PLD的应用和发展简化了电路设计 降低了成本 提高了系统的可靠性和保密性 推动了EDA工具的发展 而且改变了数字系统的设计方法 EDA技术应用的一个重要基础 PLD的内在究竟是什么 硬件结构和实现原理如何 3 2 1概述 任何的组合逻辑函数都可以化为 与 或 表达式任何的组合电路可以用 与门 或门 二级电路实现任何的时序电路都可由组合电路加上存储元件 锁存器 触发器 构成 4 2 1概述 基本PLD器件的原理结构图 任何的组合逻辑函数都可以化为 与 或 表达式任何的组合电路可以用 与门 或门 二级电路实现任何的时序电路都可由组合电路加上存储元件 锁存器 触发器 构成 5 2 1概述 2 1 1可编程逻辑器件的发展历程 6 2 1概述 2 1 2可编程逻辑器件的分类 PLD按集成度分类 低集成度 低密度 芯片 可用逻辑门数大约在1000以下 称简单PLD 如PLA PAL GAL高集成度 高密度 芯片 CPLD FPGA芯片 称复杂PLD 按集成度分类 7 乘积项结构器件 CPLD 查找表结构器件 FPGA 熔丝型器件 一次性器件反熔丝型器件 一次性器件EPROM型器件 紫外线擦除电可编程EEPROM型器件 电可擦写编程SRAM型器件 查找表结构的器件Flash型器件 多次可编程 掉电后不需重配置 按结构分类 按编程工艺分类 8 2 2简单可编程逻辑器件原理 2 2 1电路符号表示 常用逻辑门符号与现有国标符号的对照 原理图一般用图中的常用符号来描述表示比较复杂的逻辑结构 用一套简化的符号来表示 1991标准符号 9 2 2简单可编程逻辑器件原理 2 2 1电路符号表示 PLD的互补缓冲器PLD的互补输入PLD中与阵列表示 10 2 2简单可编程逻辑器件原理 2 2 1电路符号表示 PLD中或阵列的表示阵列线连接表示 11 2 2简单可编程逻辑器件原理 2 2 2PROM PROM基本结构 ROM主要由地址译码 ROM单元阵列和输出缓冲器构成地址译码器完成PROM存储阵列行的选择存储阵列的输出由乘积项的线性组合完成 12 2 2简单可编程逻辑器件原理 2 2 2PROM PROM的逻辑阵列结构 13 2 2简单可编程逻辑器件原理 2 2 2PROM PROM表达的PLD阵列图 14 2 2简单可编程逻辑器件原理 2 2 2PROM 用PROM完成半加器逻辑阵列 由于输入变量的增加会引起存储容量的增加 因此多变量的组合电路函数就不适合用单个PROM来描述了 15 2 2简单可编程逻辑器件原理 2 2 3PLA PLA逻辑阵列示意图 PROM的与阵列是全译码器 产生了全部最小项 而在实际应用时 绝大多数组合逻辑函数并不需要所有的最小项 PLA是与阵列和或阵列都可编程 PLA实现组合函数 需要把逻辑函数化成最简的与或表达式有多个输出时 要尽量利用公共的与项 以提高阵列的利用率 16 2 2简单可编程逻辑器件原理 2 2 3PLA PLA与PROM的比较 17 PLA不需要包含输入变量每个可能的最小项 仅仅需包含的是在逻辑功能中实际要求的那些最小项 从而缓解规模的增加 虽然PLA利用率较高 但其软件算法比较复杂 多输入变量和多输出的逻辑函数 处理上更困难 18 2 2简单可编程逻辑器件原理 2 2 4PAL 与阵列可编程 或阵列固定 PAL的常用表示 PAL结构 与阵列可编程 或阵列固定的PAL避免了PLA的问题 运行速度有所提高 从PAL的结构可知 各个逻辑函数输出化简 不必考虑公共的乘积项 送到或门的乘积项数目是固定的 从而简化设计算法 使单个输出的乘积项为有限 19 PAL16V8的部分结构图 可编程结构能解决组合逻辑的可编程问题 时序电路是由组合电路及存储单元 锁存器 触发器 RAM 构成 PAL加上输出寄存器 可实现时序电路的可编程 20 2 2 5GAL 1985年 Lattice在PAL的基础上设计出GAL器件 通用阵列逻辑器件 首次在PLD上采用EEPROM工艺 GAL沿用与阵列可编程 或阵列固定的结构 对I O结构进行了较大的改进 输出部分增加了输出逻辑宏单元 OLMC OLMC单元设有多种组态 可配置称成专用组合输出 专用输入 组合输出双向口 寄存器输出 寄存器输出双向口等 21 PAL结构 2 2 5GAL OLMC输出逻辑宏单元GAL有4个多路选择器 通过不同的选择方式可以产生多种输出结构 分别属于三种模式 一旦确定了某种模式 所有的OLMC都将工作在同一种模式下 22 1 寄存器模式 寄存器输出结构 异或门输出经D触发器至三态门 触发器的时钟端CLK连公共CLK引脚 三态门的使能端OE连公共OE引脚 寄存器模式组合输出双向口结构 输出三态门受控 输出反馈至本单元 组合输出无触发器 寄存器输出结构 寄存器模式组合输出双向口结构 23 2 复合模式 组合输出双向口结构组合输出结构 组合输出双向结构 复合型组合输出结构 24 3 简单模式 反馈输入结构输出反馈结构输出结构 反馈输入结构 输出反馈结构 简单模式输出结构 25 2 3CPLD的结构与工作原理 简单PLD器件在实用中已经被淘汰 主要因为 1 阵列规模较小 资源不够用于数字系统 2 片内寄存器资源不足 且寄存器的结构限制较多 难以构成丰富的时序电路 I O不够灵活 限制了片内资源的利用率 3 编程不便 需用专用的编程工具 取代的是CPLD FPGA 例 Altera的MAX3000ACPLD 26 MAX3000A有32 512个宏单元 单个宏单元的结构包括 可编程的与阵列和固定的或阵列 可配置寄存器 含共享扩展乘积项和高速并联扩展乘积项 27 1 逻辑阵列块 LAB MAX3000A结构中包括五个主要部分 逻辑阵列块 宏单元 扩展乘积项 可编程连线阵列和I O控制块 1个LAB由16个宏单元的阵列组成 多个LAB组成阵列多个LAB通过可编程连线阵PIA和全局总线链接在一起 28 2 宏单元 逻辑阵列实现组合逻辑 可实现逻辑函数及宏单元寄存器的辅助输入可以被单独地配置为时序逻辑和组合逻辑工作方式 29 共享扩展乘积项结构 2 扩展乘积项 复杂的逻辑函数需要附加乘积项 可利用其他宏单元以提供逻辑资源 即扩展项 共享扩展项由每个宏单元提供一个单独的乘积项 通过一个非门取反后反馈到逻辑阵列中 可被LAB内任何一个或全部宏单元使用和共享 30 2 扩展乘积项 并联扩展项馈送方式 并联扩展项宏单元中一些没有被使用的乘积项 被分配到邻近的宏单元 允许最多20个乘积项直接送到宏单元的或逻辑 5 15 31 4 可编程连线阵列 PIA PIA信号布线到LAB的方式 不同的LAB通过在可编程连线阵列PIA上布线 以相互连接构成所需逻辑 MAX3000A的专用输入 I O引脚和宏单元输出都连接到PIA PIA可以把信号送到整个器件的各个地方 32 5 I O控制块 器件的I O控制块 I O控制块允许每个IO引脚单独被配置为输入 输出和双向工作模式 所有IO引脚都有一个三态缓冲器 控制信号来自多路选择器 可以选择用信号 GND和VCC控制 33 2 4FPGA的结构与工作原理 2 4 1查找表逻辑结构 FPGA查找表单元 可编程的查找表结构 LOOKUPTABLELUT 大部分FPGA采用基于SRAM的查找表结构 用SRAM来构成逻辑函数发生器 一个N输入的LUT可以实现N个输入变量的任何逻辑 一个N输入的LUT 需要SRAM存储N个输入构成的真值表 需要2的N次幂个位的SRAM单元 34 FPGA查找表单元内部结构 4输入16 1SRAM存储真值表 35 2 4 2CycloneIII系列器件的结构与原理 CycloneLE结构图 CycloneIII具有低功耗 高性价比 Cyclone主要由 逻辑阵列块LAB嵌入式存储器块嵌入式硬件乘法器IO单元PLL等模块构成各个模块之间存在丰富的互连线和时钟网络 36 LAB由多个逻辑宏单元LE构成 LE是FPGA器件的最基本的可编程单元LE主要由一个4输入的查找表LUT 进位链逻辑 寄存器链逻辑和一个可编程的寄存器构成 4输入的LUT可完成所有的4输入1输出的组合逻辑功能 每个LE中的可编程寄存器可以被配置称各种触发器形式 而且寄存器具有数据 时钟 时钟使能 清零输入信号 寄存器可旁路 LE有三个输出驱动内部互连 一个驱动局部互连 另两个驱动行或列的互连 LUT和寄存器的输出可单独控制 37 CycloneLE普通模式 Cyclone的工作模式 LE可工作在两种操作模式下 普通模式 LE适合通用逻辑应用和组合逻辑的实现 38 CycloneLE动态算术模式 算术模式 可以更好的实现加法器 计数器 累加器和比较器 39 CycloneLAB结构 逻辑阵列块LAB是由一系列相邻的LE构成 CycloneIIILAB包含16个LE LAB间存在行互连 列互连 直连通路互连 LAB局部互连 LE进位链和寄存器链 局部互连可以在同一个LAB的LE间传输信号 进位链用来连接LE的进位输出和下一个LE的进位输入 寄存器链用来连接下一个LE的寄存器输出和下一个LE的寄存器数据输入 40 LAB阵列 41 LAB控制信号生成 控制信号生成 每个LAB都有专用的逻辑来生成LE的控制信号 LE的控制信号包括时钟信号 时钟使能信号 异步清零 同步清零 异步预置 装载信号 同步装载和加 减控制信号 42 FPGA含有嵌入式存储器 由数十个M9K的存储器块构成 可实现8192位RAM ROM等存储器功能 CycloneIII中还有嵌入式乘法器 硬件乘法器可大大提高FPGA在处理DSP任务是的能力 CycloneIII器件中设置了复杂的全局时钟网络 用于实现全局时钟 复位信号 LVDS连接 低压差分串行 CycloneIII的I O支持多种IO接口 符合多种I O标准 Low VoltageDifferentialSignaling低压差分信号1994年由美国国家半导体公司提出的一种信号传输模式 它是一种标准 它在提供高数据传输率的同时会有很低的功耗 另外它还有许多其他的优势 1 低电压电源的兼容性2 低噪声3 高噪声抑制能力4 可靠的信号传输5 能够集成到系统级IC内使用LVDS技术的的产品数据速率可以从几百Mbps到2Gbps 它是电流驱动的 通过在接收端放置一个负载而得到电压 当电流正向流动 接收端输出为1 反之为0它的摆幅为250mv 450mv 44 2 5硬件测试技术 2 5 1内部逻辑测试 CPLD FPGA内部逻辑测试是应用设计可靠性的重要保证 内部逻辑测试需要在设计时加入用于测试的专用逻辑 进行可测性设计 DFT 在设计完成后用来测试关键逻辑 ASIC设计中使用扫描寄存器 把关键逻辑部分的普通寄存器用测试扫描寄存器来代替 从而进行动态的测试 分析 FPGA厂商在可编程逻辑器件中可动态载入某种逻辑功能模块 与EDA工具软件配合提供嵌入式逻辑分析仪 以发现内部逻辑问题 SignalTapII 45 边界扫描电路结构 2 5 2JTAG边界扫描测试 JTAG开发了IEEE1149 1 1990边界扫描测试技术规范 提供了有效地测试引线致密的电路板上集成电路芯片的能力 器件的边界扫描单元能够从逻辑跟踪引脚信号 或者从引脚或器件核心逻辑信号中捕获数据 强行加入的测试数据串行地移入边界扫描单元 捕获的数据串行移出并在器件外部同预期结果进行比较 提供了串行扫描路径 能捕获器件核心逻辑的内容 46 表2 1边界扫描IO引脚功能 IEEE1149 1标准规定了一个四线串行接口 第五条线是可选的 该接口称作测试访问端口 TAP 用于访问复杂的集成电路 IC 在TDI 测试数据输入 引线上输入到芯片中的数据存储在指令寄存器中或一个数据寄存器中 串行数据从TDO 测试数据输出 引线上离开芯片 边界扫描逻辑由TCK 测试时钟 上的信号计时 而且TMS 测试模式选择 信号驱动TAP控制器的状态 TRST 测试重置 是可选项 47 2 5硬件测试技术 边界扫描数据移位方式 2 5 2JTAG边界扫描测试 JTAG边界扫描测试由测试访问端口的控制器 TAP 管理 TMS TRST和TCK引脚管理TAP控制器的操作 TDI和TDO为数据寄存器提供串行通道 TDI也为指令寄存器提供数据 然后为数据寄存器产生控制控制逻辑 边界扫描寄存器 由器件引脚上的所有边界扫描单元构成 设计者可用边界扫描寄存器来测试外部引脚的连接 或是在器件运行是捕获内部数据 48 KX康芯科技 2 5 2JTAG边界扫描测试 JTAGBST系统内部结构 49 KX康芯科技 2 5 2JTAG边界扫描测试 JTAGBST系统与与FPGA器件关联结构图 扫描寄存器与FPGA器件相关联的IO引脚 边界扫描单元在每个IOE中包括一套捕获寄存器和一组更新寄存器 捕获寄存器同内部器件数据相联系 更新寄存器同外部数据连接 JTAGBST寄存器的控制信号由TAP控制器内部产生 边界扫描寄存器的数据信号路径是从串行数据输入TDI到串行数据输出TDO 起于TDI引脚而终于TDO引脚 50 2 5硬件测试技术 JTAGBST选择命令模式时序 2 5 2JTAG边界扫描测试 2 5 3嵌入式逻辑分析仪 51 2 6FPGA CPLD产品概述 2 6 1Lattice公司CPLD器件系列 1 ispLSI器件系列 2 ispMACH4000系列 2 LatticeEC ECP系列 52 2 6FPGA CPLD产品概述 2 6 2Xilinx公司的FPGA和CPLD器件系列 2 Spartan Spartan 3 Spartan3E器件系列 5 Xilinx的IP核 2 XC9500 XC9500XL系列CPLD 4 XilinxFPGA配置器件SPROM 53 2 6FPGA CPLD产品概述 2 6 3Altera公司FPGA和CPLD器件系列 1 StratixII系列FPGA 5 MAX系列CPLD 2 ACEX系列FPGA 4 FLEX系列FPGA 2 Stratix系列FPGA 6 Cyclone系列FPGA低成本FPGA 7 CycloneII系列FPGA 8 MAXII系列器件 9 Altera宏功能块及IP核 54 2 6FPGA CPLD产品概述 2 6 4Actel公司的FPGA器件 2 6 5Altera公司的FPGA配置方式与配置器件 表2 2AlteraFPGA常用配置器件 55 2 7编程与配置 器件焊接是设计数字系统的最后一个步骤 当设计存在问题时 设计者不得不重新印制电路板 从而延长了设计周期 CPLD FPGA被焊接到电路板上 设计调试时可随时改变整个电路的硬件逻辑关系 不必改变整个电路板的结构 CPLD FPGA具有在系统下载或重新配置功能 56 接口各引脚信号名称 电可擦除编程工艺优点是编程后信息不会因掉电而丢失 但编程次数有限 编程的速度不快 基于SRAM的FPGA 配置次数无限 加电可随时更改逻辑 但掉电后芯片中的信息丢失 下载保密性也有待提高 57 2 7编程与配置 CPLD编程下载连接 在系统可编程 ISP 就是当系统上电并正常工作时 计算机通过系统中的ISP接口直接对其进行编程 器件在编程后立即进入正常工作状态 MAX7000 MAX3000A系列是采用JTAG接口方式对器件进行在系统编程的 JTAG用于编程功能有利于各可编程逻辑器件编程接口的统一 58 2 7编程与配置 多个支持JTAG接口ISP编程的CPLD器件 可以使用JTAG链进行编程 也可以进行测试 图2 49多CPLD芯片ISP编程连接方式 59 2 7 2使用PC并行口配置FPGA 图2 50PS模式的FPGA配置时序 基于SRAM的FPGA器件 没有ISP的概念 代之以ICR 在线可重配置方式 FPGA结构使之在上电后需要重新配置一次 电路可重配置是指允许器件已经配置好的情况下进行重新配置 以改变电路逻辑结构和功能 如采用PC机的下载电缆下载设计文件至FPGA 60 2 7 3FPGA专用配置器件 EPCS器件配置FPGA的电路原理图 PC机直接对FPGA进行配置 具有方便的特点 当数字系统设计完成 正式投入使用时 在应用现场的FPGA加电配置 需要专用的配置器件来完成 如EPROM配置 专用配置器件配置 单片机控制配置 CPLD控制配置

温馨提示

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

评论

0/150

提交评论