800 likes | 1.07k Views
EDA 技术实用教程. 第 3 章 FPGA/CPLD 结构与应用. 组合电路. 基本门. 时序电路. 图 3-1 基本 PLD 器件的原理结构图. 3.1 概 述. 3.1 概 述. 3.1.1 可编程逻辑器件的发展历程. EPLD 器件. PROM 和 PLA 器件. 改进的 PLA 器件. GAL 器件. CPLD 器件. FPGA 器件. 内嵌复杂 功能模块 的 SoPC. 70 年代. 80 年代. 90 年代. 3.1 概 述.
E N D
EDA 技术实用教程 第 3 章 FPGA/CPLD结构与应用
组合电路 基本门 时序电路 图3-1 基本PLD器件的原理结构图 3.1 概 述
3.1 概 述 3.1.1 可编程逻辑器件的发展历程 EPLD 器件 PROM 和PLA 器件 改进的 PLA 器件 GAL器件 CPLD器件 FPGA器件 内嵌复杂 功能模块 的SoPC 70年代 80年代 90年代
3.1 概 述 • PAL(Programmable Array Logic)可编程阵列逻辑 可编程的“与”阵列和不可编程的“或”阵列。 • GAL(GenericArray Logic)通用阵列逻辑 可编程的“与”阵列和固定的“或”阵列。输出有输出宏逻辑单元。 • CPLD(ComplexProgrammable Logic Devices)复杂可编程逻辑器件 结构以逻辑宏单元为基础,宏单元内部有AND—OR乘积项阵列 • FPGA (Field Programmable Gate Array)现场可编程门阵列 由查找表组成掩膜编程门阵列通用结构:由逻辑功能块排成阵列组成,并由可编程的互连资源连接这些逻辑功能来实现不同设计。 • 超大规模、高速、低功耗的新型FPGA/CPLD集成了中央处理器、数字处理器内核,可以进行软硬件协同设计
3.1 概 述 3.1.2 可编程逻辑器件的分类 • PROM(Programmable ROM)可编程只读存储器,单次写入,不能修改。 • EPROM (Erasable Programmable ROM) 可擦除可编程只读存储器,早期的CPLD,红外线擦除。 • E2PROM (Electronic Erasable Programmable ROM) 电擦除可编程只读存储器,普遍应用的CPLD产品。 • 基于SRAM的FPGA,如Altera,Xilinx等 • 反融丝结构FPGA,如Actel,Quicklogic等 • Flash结构FPGA,如Actel,Lattice等。 从编程工艺上分:
3.1 概 述 3.1.2 可编程逻辑器件的分类 图3-2 PLD按集成度分类
3.2 简单可编程逻辑器件原理 3.2.1 电路符号表示 图3-3 常用逻辑门符号与现有国标符号的对照
3.2 简单可编程逻辑器件原理 3.2.1 电路符号表示 图3-4 PLD的互补缓冲器图3-5 PLD的互补输入图3-6 PLD中与阵列表示
3.2 简单可编程逻辑器件原理 3.2.1 电路符号表示 图3-7 PLD中或阵列的表示图3-8 阵列线连接表示
3.2 简单可编程逻辑器件原理 3.2.2 PROM 图3-9 PROM基本结构 其逻辑函数是:
3.2 简单可编程逻辑器件原理 3.2.2 PROM 图3-10 PROM的逻辑阵列结构 其逻辑函数是:
3.2 简单可编程逻辑器件原理 3.2.2 PROM 图3-11 PROM表达的PLD阵列图
3.2 简单可编程逻辑器件原理 3.2.2 PROM 图3-12 用PROM完成半加器逻辑阵列 多输入变量组合电路不适合用单个PROM来编程表达,会引起存储容量的增加
3.2 简单可编程逻辑器件原理 3.2.3 PLA 图3-13 PLA逻辑阵列示意图 与阵列不采用全译码的方式,尽量利用公共的与项,提高阵列的利用率
3.2 简单可编程逻辑器件原理 3.2.3 PLA PLA的两个阵列均可编程,算法复杂,使器件的运行速度下降 图3-14 PLA与PROM的比较
3.2 简单可编程逻辑器件原理 3.2.4 PAL PAL一般采用熔丝工艺生产,一次可编程,修改不方便。 图3-16 PAL的常用表示 图3-15 PAL结构
3.2.5 GAL 乘积项逻辑 GAL具有电可擦除重复编程的特点 GAL: General Array Logic Device 最多有8个或项,每个或项最多有32个与项 EPLD Erasable Programmable Logic Device
3.2.5 GAL 图3-18 GAL16V8结构图
时钟信 号输入 输入口 逻辑宏单元 GAL16V8 输入/输出口 固定或阵列 可编程与阵列 三态控制
3.2 简单可编程逻辑器件原理 3.2.5 GAL 图3-19寄存器输出结构
3.2 简单可编程逻辑器件原理 3.2.5 GAL 图3-20 寄存器模式组合双向输出结构
3.2 简单可编程逻辑器件原理 3.2.5 GAL 图3-21 组合输出双向结构
3.2 简单可编程逻辑器件原理 3.2.5 GAL 图3-22 复合型组合输出结构
3.2 简单可编程逻辑器件原理 3.2.5 GAL 图3-23 反馈输入结构
3.2 简单可编程逻辑器件原理 3.2.5 GAL 图3-24 输出反馈结构
3.2 简单可编程逻辑器件原理 3.2.5 GAL 图3-25 简单模式输出结构
3.3 CPLD的结构与工作原理 目前主要的半导体器件公司(如Xilinx、 Altera、 Lattice和AMD等公司)在各自的高密度PLD产品中都有着自己的特点, 但总体结构大致相同。 大多数EPLD和CPLD器件中至少包含了三种结构: 可编程逻辑宏单元, 可编程I/O单元和可编程内部连线。 Altera公司的MAX7000A系列器件是高密度高性能的EPLD, 其基本结构如图2-27所示, 包括逻辑阵列块LAB、 宏单元、 扩展乘积项(共享和并联)、 可编程连线阵列PIA和I/O控制块等五部分。
3.3 CPLD的结构与工作原理 KX康芯科技 图3-25 简单模式输出结构
3.3 CPLD的结构与工作原理 图3-27 MAX7128S的结构 1.逻辑阵列块(LAB) LAB由16个宏单元阵列组成, 多个LAB通过可编程连线阵列(PIA)和全局总线连接在一起,全局总线由所有的专用输入、 I/O引脚和宏单元馈入信号。 每个LAB包括以下输入信号: ①来自PIA的36个通用逻辑输入信号; ②用于辅助寄存器功能的全局控制信号; ③从I/O引脚到寄存器的直接输入通道。 KX康芯科技
MAX7000系列中的宏单元 逻辑阵列 乘积项选择矩阵 可编程寄存器 三种时钟输入模式 全局时钟信号 全局时钟信号由高电平有效的时钟信号使能 用乘积项实现一个阵列时钟 3.3 CPLD的结构与工作原理 2.宏单元
3.3 CPLD的结构与工作原理 3.扩展乘积项 两种扩展乘积项可用来补充宏单元的逻辑资源: 反馈到逻辑阵列的反向乘积项; ①共享扩展项, 反馈到逻辑阵列的反向乘积项; LAB有16个共享乘积项 图3-28 共享扩展乘积项结构
3.3 CPLD的结构与工作原理 3.扩展乘积项 ②并联扩展项, 借自邻近宏单元中的一些没有被使用的乘积项。 最多20个乘积项直接送到宏单元或逻辑 图3-29 并联扩展项馈送方式
3.3 CPLD的结构与工作原理 不同的LAB通过在可编程连线阵列(PIA)上布线,以相互连接构成所需的逻辑。 4.可编程连线阵列(PIA) 图3-30 PIA信号布线到LAB的方式
3.3 CPLD的结构与工作原理 5.I/O控制块 每个I/O引脚可单独配置为输入、输出和双向方式 KX康芯科技 图3-31 EPM7128S器件的I/O控制块
3.4 FPGA的结构与工作原理 3.4.1 查找表逻辑结构 图3-32 FPGA查找表单元 图3-33 FPGA查找表单元内部结构
基于查找表的结构模块 什么是查找表? • 一个N输入查找表 (LUT,Look Up Table)可以实现N个输入变量的任何逻辑功能,如N输入“与”、N输入“异或”等。 • 输入多于N个的函数、方程必须分开用几个查找表( LUT)实现 输入1 查黑 找盒 表子 输入2 输出 输入3 输入4
3.4.2 Cyclone/CycloneII系列器件的结构与原理 Cyclone器件主要有逻辑阵列块(LAB)、嵌入式存储器块M4K、I/O单元和PLL和内嵌专用内核等模块构成,在各个模块之间有丰富的互连线和时钟网络。 (1)逻辑阵列块(LAB) 每个LAB由10个LE构成,LE主要由一个4输入的查找表LUT、进位链逻辑和一个可编程的寄存器构成。 Cyclone的LE可以工作在下列两种操作模式: 普通模式:普通的组合逻辑功能; 动态算术模式:用做加法器、计数器和比较器等算术功能。
3.4.2 Cyclone/CycloneII系列器件的结构与原理 (2) 嵌入式存储器 由数十个M4K的存储器组成。它可以实现真正双端口、简单双端口和单端口的RAM,可以支持移位寄存器和ROM方式。可以实现软乘法器,满足图像处理、音频处理和消费类电子系统的需要。 (3)锁相环的实现 内置最多2个增强型锁相环,可给用户提供高性能的时钟管理能力。 (4) I/O特性 支持差分的I/O标准,如LVDS和去抖动差分RSDS,当然也支持单端的I/O标准。 (5)支持Nios II系列嵌入式处理器
3.4.2 Cyclone/CycloneII系列器件的结构与原理 KX康芯科技 图3-34 Cyclone LE结构图
3.4 FPGA的结构与工作原理 3.4.2 Cyclone/CycloneII系列器件的结构与原理 图3-35 Cyclone LE普通模式
3.4.2 Cyclone/CycloneII系列器件的结构与原理 图3-36 Cyclone LE动态算术模式
3.4.2 Cyclone/CycloneII系列器件的结构与原理 图3-37 Cyclone LAB结构
3.4.2 Cyclone/CycloneII系列器件的结构与原理 图3-38 LAB阵列
3.4.2 Cyclone/CycloneII系列器件的结构与原理 图3-39 LAB控制信号生成
3.4.2 Cyclone/CycloneII系列器件的结构与原理 图2-40 快速进位选择链
3.4 FPGA的结构与工作原理 3.4.2 Cyclone/CycloneII系列器件的结构与原理 图3-41 LUT链和寄存器链的使用
3.4 FPGA的结构与工作原理 3.4.2 Cyclone/CycloneII系列器件的结构与原理 图3-42 LVDS连接