FPGA技术教程(通俗易懂)课件
Our greatest weakness lies in giving up The most certain way to succeed is always to try just one more time FPGAFPGA技术技术 第二章第二章 CPLD FPGACPLD FPGA概述概述 第一章第一章 可编程逻辑器件发展历程可编程逻辑器件发展历程 第三章第三章 硬件描述语言硬件描述语言VHDL Verilog VHDL Verilog HDLHDL简介简介 第四章第四章 Quartus IIQuartus II的的Verilog Verilog HDLHDL建模与仿真建模与仿真 Our greatest weakness lies in giving up The most certain way to succeed is always to try just one more time 第一章第一章 可可编编编编程程逻辑逻辑逻辑逻辑 器件器件的发展历程的发展历程 一 一 可编程逻辑器件的发展历程可编程逻辑器件的发展历程 二 二 可编程逻辑器件的分类可编程逻辑器件的分类 Our greatest weakness lies in giving up The most certain way to succeed is always to try just one more time 可编程逻辑器件可编程逻辑器件 PLD PLD 可可编编编编程程阵阵阵阵列列逻辑逻辑逻辑逻辑 PAL PAL 可可编编编编程程逻辑阵逻辑阵逻辑阵逻辑阵 列列 PLA PLA Xilinx Xilinx的的FPGAFPGAAlteraAltera的的CPLDCPLD 早期 FPGA 现在 Our greatest weakness lies in giving up The most certain way to succeed is always to try just one more time 一 可编程器件大致的发展过程如下 可编程器件大致的发展过程如下 1 1 2020世纪世纪7070年代年代 出现了熔丝编程的出现了熔丝编程的PROM PROM 和和PLAPLA器件 器件 7070 年代末 年代末 AMD AMD 公司对公司对PLAPLA进行了改进 推出了进行了改进 推出了PALPAL器件 器件 2 2 2020世纪世纪8080年代初年代初 Lattice Lattice 莱迪思 公司发明了电可擦写的 公司发明了电可擦写的 比比PALPAL更灵活的更灵活的GALGAL通用阵列逻辑器件 器件 3 3 2020世纪世纪8080年代中期 年代中期 XilinxXilinx公司提出现场可编程概念 生公司提出现场可编程概念 生 产出了世界上第一片产出了世界上第一片FPGAFPGA器件 器件 FPGAFPGA是改变内部连接的布是改变内部连接的布 线来编程 线来编程 4 4 2020世纪世纪8080年代末 年代末 LatticeLattice公司又提出在系统可编程概念 公司又提出在系统可编程概念 ISPISP 并推出了一系列具有在系统可编程能力的 并推出了一系列具有在系统可编程能力的CPLDCPLD器件器件 CPLDCPLD的设计是修改具有固定内部连接电路的逻辑功能来的设计是修改具有固定内部连接电路的逻辑功能来 编程 编程 5 5 2020世纪世纪9090年代后期 可编程集成电路技术飞速发展 器年代后期 可编程集成电路技术飞速发展 器 件的可用逻辑门数超过了百万门 并出现了内嵌复杂功能模件的可用逻辑门数超过了百万门 并出现了内嵌复杂功能模 块 如加法器 乘法器 块 如加法器 乘法器 RAMRAM CPUCPU核 核 DSPDSP核等 的核等 的 SOPCSOPC Our greatest weakness lies in giving up The most certain way to succeed is always to try just one more time 二 可编程器件的分类二 可编程器件的分类 1 1 按集成度来划分 分为高密度和低密度按集成度来划分 分为高密度和低密度PLDPLD器件 器件 1 1 集成度小于 集成度小于1000 1000 门门 每片的每片的LDPLD LDPLD 又称简单又称简单PLDPLD PROMPROM 可编程只读存储器 可编程只读存储器 PLA PLA 可编程逻辑阵列 可编程逻辑阵列 Programmable Logic ArrayProgrammable Logic Array PAL PAL 可编程阵列逻辑 可编程阵列逻辑 Programmable Array Logic Programmable Array Logic GAL GAL 通用阵列逻辑 通用阵列逻辑 Generic Array LogicGeneric Array Logic 2 2 集成度大于 集成度大于10001000门门 每片的每片的HDPLDHDPLD FPGA Field Programmable Gate Array FPGA Field Programmable Gate Array CPLD Complex Programmable Logic Device CPLD Complex Programmable Logic Device Our greatest weakness lies in giving up The most certain way to succeed is always to try just one more time 2 2 从结构上可分为 从结构上可分为 1 1 乘积项结构器件 为 乘积项结构器件 为 与与 或或 阵列结构 大部分简单阵列结构 大部分简单 PLDPLD和和 CPLDCPLD都属于这个范畴 都属于这个范畴 2 2 查找表结构器件 由查找表组成可编程门 再构成阵 查找表结构器件 由查找表组成可编程门 再构成阵 列形式 列形式 FPGAFPGA属于此类器件 属于此类器件 Our greatest weakness lies in giving up The most certain way to succeed is always to try just one more time 3 3 从编程工艺上分为 从编程工艺上分为 1 1 熔丝 熔丝 Fuse Fuse 型器件 编程过程就是根据设计的熔丝图文件来烧断型器件 编程过程就是根据设计的熔丝图文件来烧断 对应的熔丝 来达到编程的目的 编程后即使系统断电对应的熔丝 来达到编程的目的 编程后即使系统断电 它们中存它们中存 储的储的 编程信息不会丢失编程信息不会丢失 2 2 反熔丝 反熔丝 Antifuse Antifuse 型器件 由型器件 由ActelActel公司推出 在编程处通过击穿漏公司推出 在编程处通过击穿漏 层使得两点之间获得导通 反熔丝层使得两点之间获得导通 反熔丝PLDPLD抗辐射 耐高低温 功耗低 抗辐射 耐高低温 功耗低 速度快 在军品和宇航上有较大优势 前两种都属速度快 在军品和宇航上有较大优势 前两种都属OTPOTP器件 器件 3 3 EPROMEPROM型 紫外线擦除电可编程逻辑器件 它用较高的编程电型 紫外线擦除电可编程逻辑器件 它用较高的编程电 压进行编程 当需要再次编程时 用紫外线擦除 前三种较少使用 压进行编程 当需要再次编程时 用紫外线擦除 前三种较少使用 4 4 EEPROMEEPROM型 电可擦除可编程逻辑器件 型 电可擦除可编程逻辑器件 CPLDCPLD采用此编程工艺采用此编程工艺 5 5 SRAMSRAM型 型 SRAMSRAM查找表结构的器件 大部分的查找表结构的器件 大部分的FPGAFPGA采用此编程采用此编程 工艺 断电后编程信息会丢失 每次上电时 需从器件外部存储器将工艺 断电后编程信息会丢失 每次上电时 需从器件外部存储器将 编程数据重新写入编程数据重新写入SRAMSRAM中 允许无限次编程 中 允许无限次编程 6 6 FlashFlash FastflashFastflash 型 即闪存技术 由 型 即闪存技术 由ActelActel公司推出 采用此编公司推出 采用此编 程工艺的器件 可以实现多次可编程 也可以做到掉电后不需要重新程工艺的器件 可以实现多次可编程 也可以做到掉电后不需要重新 配置 配置 CPLDCPLD采用此编程工艺 采用此编程工艺 Our greatest weakness lies in giving up The most certain way to succeed is always to try just one more time 第二章第二章 CPLD FPGACPLD FPGA概述概述 一 一 简单的简单的PLD PLD 结构结构 二 二 FPGA CPLDFPGA CPLD的结构的结构 三 三 FPGA CPLDFPGA CPLD的基本原理的基本原理 四 四 FPGAFPGA的设计方法的设计方法 五 五 FPGAFPGA设计流程设计流程 Our greatest weakness lies in giving up The most certain way to succeed is always to try just one more time 二维的逻辑块阵列 构成了PLD器件的逻 辑组成核心 输入 输出块 连接逻辑块的互连资源 连线资源 由各种长度的连线线段组成 其中也有 一 些可编程的连接开关 它们用于逻辑块之间 逻辑块 输入 输出块之间的连接 Our greatest weakness lies in giving up The most certain way to succeed is always to try just one more time 一一 简单简单PLDPLD的结构的结构 任何组合函数都可以表示为与任何组合函数都可以表示为与 或表达式 如或表达式 如 F AB BCD F AB BCD PLDPLD由由 与门阵列与门阵列 和和 或门阵列或门阵列 加上输入输加上输入输 出电路构成 出电路构成 早期的早期的PLDPLD有些是有些是 与与 阵列可编程 有些是阵列可编程 有些是 或或 阵列可编程 还有些是阵列可编程 还有些是 与与 和和 或或 阵列都可编程 阵列都可编程 Our greatest weakness lies in giving up The most certain way to succeed is always to try just one more time 1 1 输入缓冲器输入缓冲器 2 PLD2 PLD的互补输入的互补输入 3 PLD3 PLD中与阵列表示中与阵列表示 4 PLD4 PLD中或阵列的表示中或阵列的表示 5 5 阵列线连接表示阵列线连接表示 Our greatest weakness lies in giving up The most certain way to succeed is always to try just one more time 编程前编程前 编程后编程后 6 PROM6 PROM的的PLDPLD阵列图阵列图 Our greatest weakness lies in giving up The most certain way to succeed is always to try just one more time 二 二 FPGA CPLDFPGA CPLD的结构的结构 FPGA CPLDFPGA CPLD的结构各有其特点和长处 但概括起来 它们是由三的结构各有其特点和长处 但概括起来 它们是由三 大部分组成的大部分组成的 1 1 逻辑阵列块逻辑阵列块 LAB Logic Array Block LAB Log