第2章PLD硬件特性与编程技术40461167.ppt
-
资源ID:78660861
资源大小:5MB
全文页数:56页
- 资源格式: PPT
下载积分:30金币
快捷下载
![游客一键下载](/images/hot.gif)
会员登录下载
微信登录下载
三方登录下载:
微信扫一扫登录
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
|
第2章PLD硬件特性与编程技术40461167.ppt
EDA技术与技术与VHDL 2021/9/171第第2 2章章PLDPLD硬件特性与编程技术硬件特性与编程技术 本章主要介绍几类常用的大规模可编程逻辑器件的本章主要介绍几类常用的大规模可编程逻辑器件的结构结构和和工作原理工作原理,并对,并对CPLD的的乘积项原理乘积项原理和和FPGA的的查找表原理查找表原理分别进行剖析,最后介绍相关的编程技术。分别进行剖析,最后介绍相关的编程技术。2021/9/1722.1 PLD 2.1 PLD 概述概述 数字电路系统数字电路系统与门与门或门或门非门非门传输门传输门基本门基本门组合电路组合电路时序电路时序电路与门与门或门或门锁存器锁存器触发器触发器2021/9/1732.1 PLD 2.1 PLD 概述概述 图图2-1 基本基本PLD器件的原理结构图器件的原理结构图 可编程的电路结构可编程的电路结构“与与-或或”结构结构较简单较简单查找表结构查找表结构2021/9/1742.1.1 PLD2.1.1 PLD的发展历程的发展历程 熔丝编程的熔丝编程的PROM和和PLA器件器件 AMD公公司推出司推出PAL器件器件 Lattice公公司司GAL器件器件 Xilinx公公司司FPGA器件器件 Lattice公公司司CPLD器件器件 内嵌复杂内嵌复杂功能模块功能模块的的SoPC 20世纪世纪70年代年代 20世纪世纪70年代末年代末 20世纪世纪80年代初年代初 20世纪世纪80年代中期年代中期 20世纪世纪80年代末年代末 进入进入20世纪世纪90年代后年代后 2.1 PLD 概述概述 2021/9/1752.1.2 PLD2.1.2 PLD的分类的分类 2.1 PLD 概述概述(1)按集成度分类按集成度分类高集成高集成度芯片度芯片低集成低集成度芯片度芯片2.1.2 PLD2.1.2 PLD的分类的分类 2.1 PLD 概述概述 2021/9/1762.1.2 PLD2.1.2 PLD的分类的分类 2.1 PLD 概述概述(2)从结构上分类从结构上分类乘积项结构器件乘积项结构器件 基本结构为基本结构为“与与-或或”阵列阵列查找表结构器件查找表结构器件 由简单的查找表组成可编程门,由简单的查找表组成可编程门,再构成阵列形式(门阵列)再构成阵列形式(门阵列)2021/9/1772.1.2 PLD2.1.2 PLD的分类的分类 1熔丝熔丝(Fuse)型器件。型器件。一次性可编程一次性可编程2反熔丝反熔丝(Anti-fuse)型器件型器件。3EPROM型。型。紫外线擦除电可编程逻辑器件紫外线擦除电可编程逻辑器件 4EEPROM型型。电可擦写编程器件电可擦写编程器件5SRAM型型。掉电后丢失编程信息掉电后丢失编程信息6Flash型型。多次可编程,掉电后不需要重新配置多次可编程,掉电后不需要重新配置2.1 PLD 概述概述(3 3)从编程工艺上划分)从编程工艺上划分:2021/9/1782.2 2.2 低密度低密度PLDPLD可编程原理可编程原理 低密度低密度PLD器件的特点器件的特点:逻辑规模较小,只能实现通用数字逻辑电路(如逻辑规模较小,只能实现通用数字逻辑电路(如74系系列)的一些功能,在结构上是由简单的列)的一些功能,在结构上是由简单的“与与-或或”门阵列和门阵列和输入输出单元组成。如:输入输出单元组成。如:PROM,PLA,PAL,GAL等。等。2021/9/1792.2 2.2 低密度低密度PLDPLD可编程原理可编程原理 2.2.1 2.2.1 电路符号表示电路符号表示 图图2-3 常用逻辑门符号与现有国标符号的对照常用逻辑门符号与现有国标符号的对照 2021/9/17102.2.1 2.2.1 电路符号表示电路符号表示 输入缓冲器电路输入缓冲器电路:PLD的互补缓冲器的互补缓冲器等效结构等效结构2021/9/17112.2.1 2.2.1 电路符号表示电路符号表示 与阵列的简化图形:与阵列的简化图形:或阵列的简化图形:或阵列的简化图形:2021/9/17122.2.1 2.2.1 电路符号表示电路符号表示 阵列线连接表示阵列线连接表示2021/9/17132.2.2 2.2.2 PROM PROM(可编程只读存储器)(可编程只读存储器)图图2-9 PROM基本结构基本结构 2.2 2.2 低密度低密度PLDPLD可编程原理可编程原理 2021/9/17142.2.2 2.2.2 PROMPROM PROM中的中的地址译码器地址译码器是完成是完成PROM存储阵列的行的选择,存储阵列的行的选择,其逻辑函数是:其逻辑函数是:2.2 2.2 低密度低密度PLDPLD可编程原理可编程原理 地址译码器可看成是一个地址译码器可看成是一个“与阵列与阵列”2021/9/1715对存储单元的阵列输出:2.2 2.2 低密度低密度PLDPLD可编程原理可编程原理.且且 Mx,y 可编程可编程可看成是一个可看成是一个“或阵列或阵列”2021/9/1716PROMPROM的结构可表示为:的结构可表示为:图图2-10 PROM的逻辑阵列结构的逻辑阵列结构 2.2 2.2 低密度低密度PLDPLD可编程原理可编程原理 2021/9/17172.2.2 2.2.2 PROMPROM 4 42 2 PROM表示的表示的PLD阵列图阵列图 2.2 2.2 低密度低密度PLDPLD可编程原理可编程原理 以半加器为例:以半加器为例:2021/9/17182.2.2 2.2.2 PROM PROM 图图2-12 用用PROM完成半加器逻辑阵列完成半加器逻辑阵列 2.2 2.2 低密度低密度PLDPLD可编程原理可编程原理 2021/9/17192.2.2 2.2.2 PROMPROM 2.2 2.2 低密度低密度PLDPLD可编程原理可编程原理 PROM特点:特点:只能用于只能用于组合电路组合电路的可编程。其与阵列是全译码器,的可编程。其与阵列是全译码器,产生了产生了全部的最小项全部的最小项。(输入变量的增加会引起存储容。(输入变量的增加会引起存储容量的增加。而实际应用时,并不需要产生全部最小项)量的增加。而实际应用时,并不需要产生全部最小项)PROM的的或阵列可编程或阵列可编程,与阵列不可编程与阵列不可编程。2021/9/17202.2.3 2.2.3 PLA PLA(可编程逻辑阵列)(可编程逻辑阵列)图图2-13 PLA逻辑阵列示意图逻辑阵列示意图 2.2 2.2 低密度低密度PLDPLD可编程原理可编程原理 与阵列,或阵列与阵列,或阵列都可编程都可编程2021/9/17212.2.3 PLA 2.2.3 PLA 图图2-14 PLA与与 PROM的比较的比较 2.2 2.2 低密度低密度PLDPLD可编程原理可编程原理 规模规模变小变小算法复杂算法复杂运算速度下降运算速度下降2021/9/17222.2.4 2.2.4 PAL PAL(可编程阵列逻辑)(可编程阵列逻辑)图图2-15 PAL结构结构 图图2-16 PAL的常用表示的常用表示 2.2 2.2 低密度低密度PLDPLD可编程原理可编程原理 与阵列可编程与阵列可编程或阵列固定或阵列固定简化了算法,简化了算法,运算速度提高运算速度提高2021/9/17232.2.5 2.2.5 GAL GAL (通用阵列逻辑器件)通用阵列逻辑器件)2.2 2.2 低密度低密度PLDPLD可编程原理可编程原理(1 1)首次采用了)首次采用了EEPROMEEPROM工艺,使得工艺,使得GALGAL具有电可擦除重复编具有电可擦除重复编程的特点。程的特点。(2 2)在)在“与与-或或”阵列结构上沿用了阵列结构上沿用了PALPAL的与阵列可编程、的与阵列可编程、或阵列固定的结构。或阵列固定的结构。(3 3)在)在GALGAL的输出部分增加了输出逻辑宏单元的输出部分增加了输出逻辑宏单元 OLMC(Output Macro Cell),使,使GALGAL的输出具有多种组态,提高了灵的输出具有多种组态,提高了灵活性。活性。2021/9/17242021/9/17252021/9/17262.3 CPLD2.3 CPLD的结构与可编程原理的结构与可编程原理 CPLD(Complex Programmable Logic Device)复杂可编程逻辑器件复杂可编程逻辑器件,从,从GAL的结构扩展而来。的结构扩展而来。以以Altera公司的公司的Max7000系列器件为例,介绍系列器件为例,介绍CPLD的结构的结构和工作原理。和工作原理。2021/9/17272.3 CPLD2.3 CPLD的结构与可编程原理的结构与可编程原理以以Max7000系列为例系列为例(结构)(结构)逻辑阵列块逻辑阵列块宏单元宏单元扩展乘积项扩展乘积项可编程连线阵列可编程连线阵列I/O控制块控制块2021/9/17281 1逻辑阵列块逻辑阵列块(LAB,Logic Array Block)2.3 CPLD2.3 CPLD的结构与可编程原理的结构与可编程原理 一个一个LAB由由16个宏单元的阵列组成。个宏单元的阵列组成。MAX7000结构主要是由多个结构主要是由多个LAB组成的阵列以及组成的阵列以及它们之间的连线构成。包含有它们之间的连线构成。包含有32256个宏单元。个宏单元。多个多个LAB通过通过可编程连线阵可编程连线阵(Programmable Interconnect Array,PIA)和全局总线连接在一起。)和全局总线连接在一起。2021/9/17292.3 CPLD2.3 CPLD的结构与可编程原理的结构与可编程原理2021/9/17302 2宏单元宏单元 2.3 CPLD2.3 CPLD的结构与可编程原理的结构与可编程原理逻辑阵列逻辑阵列MAX7000MAX7000系列中的宏单元系列中的宏单元 乘积项选择矩阵乘积项选择矩阵可编程寄存器可编程寄存器 Max7000系列器件包含系列器件包含 32256 个宏单元个宏单元可单独配置为时序逻辑和组合逻辑工作方式。可单独配置为时序逻辑和组合逻辑工作方式。2021/9/1731图图2-18 MAX7000系列的单个宏单元结构系列的单个宏单元结构 2021/9/17322.3 CPLD2.3 CPLD的结构与可编程原理的结构与可编程原理(2)乘积项选择矩阵乘积项选择矩阵:分配这些乘积项作为到或门和异:分配这些乘积项作为到或门和异或门的主要逻辑输入;或把这些乘积项作为宏单元中寄存或门的主要逻辑输入;或把这些乘积项作为宏单元中寄存器的辅助输入:清零、置位、时钟和时钟使能控制。器的辅助输入:清零、置位、时钟和时钟使能控制。(1)逻辑阵列逻辑阵列:包含一个可编程的:包含一个可编程的“与与”阵列和固定的阵列和固定的“或或”阵列,实现组合逻辑,给每个宏单元提供阵列,实现组合逻辑,给每个宏单元提供5个乘积个乘积项。项。2021/9/17332.3 CPLD2.3 CPLD的结构与可编程原理的结构与可编程原理(3)可配置寄存器可配置寄存器:可以单独的被配置为带有可编程时钟:可以单独的被配置为带有可编程时钟控制的控制的D、T、JK 或或 RS触发器工作方式,也可以将寄存器触发器工作方式,也可以将寄存器旁路掉,以实现组合逻辑工作方式。旁路掉,以实现组合逻辑工作方式。2021/9/17343 3扩展乘积项扩展乘积项 2.3 CPLD2.3 CPLD的结构与可编程原理的结构与可编程原理对复杂的逻辑函数需要附加乘积项。对复杂的逻辑函数需要附加乘积项。共享共享扩展乘积项扩展乘积项并联并联扩展乘积项扩展乘积项作为附加的乘积项直接送到本作为附加的乘积项直接送到本LAB的任意一个的任意一个宏单元中。宏单元中。用尽可能少的资源,得到尽可能快的工作速度。用尽可能少的资源,得到尽可能快的工作速度。2021/9/17352.3 CPLD2.3 CPLD的结构与可编程原理的结构与可编程原理 共享扩展共享扩展乘积项结构乘积项结构 2021/9/17363 3扩展乘积项扩展乘积项 并联扩展项并联扩展项馈送方式馈送方式 2021/9/1737共享扩展项共享扩展项:由每个宏单元提供一个单独的乘积项,通:由每个宏单元提供一个单独的乘积项,通过一个非门取反后反馈到逻辑阵列中,可被过一个非门取反后反馈到逻辑阵列中,可被LAB内任何内任何一个或全部宏单元使用。一个或全部宏单元使用。并联扩展项并联扩展项:是宏单元中一些:是宏单元中一些没有被使用的乘积项没有被使用的乘积项,可,可分配到邻近的宏单元去实现快速、复杂的逻辑函数。当分配到邻近的宏单元去实现快速、复杂的逻辑函数。当需要并联扩展时,需要并联扩展时,“或或”逻辑的输出通过一个选择分配逻辑的输出通过一个选择分配器,送往下一个宏单元的并联扩展器,送往下一个宏单元的并联扩展“或或”逻辑输入端。逻辑输入端。2.3 CPLD2.3 CPLD的结构与可编程原理的结构与可编程原理 2021/9/17382.3 CPLD2.3 CPLD的结构与可编程原理的结构与可编程原理4、可编程连线阵列(、可编程连线阵列(Programmable Interconnect Array,PIA)不同的不同的LAB通过在可编程连线阵列通过在可编程连线阵列PIA上布线,以上布线,以相互连接构成所需的逻辑。这个全局总线是一种可编程的相互连接构成所需的逻辑。这个全局总线是一种可编程的通道,可把器件中任何信号连接到其目的地。通道,可把器件中任何信号连接到其目的地。2021/9/1739图图2-22 PIA2-22 PIA信号布线到信号布线到LABLAB的方式的方式 2.3 CPLD2.3 CPLD的结构与可编程原理的结构与可编程原理编程节点编程节点2021/9/17402.3 CPLD2.3 CPLD的结构与可编程原理的结构与可编程原理5 5I/OI/O控制块控制块 允许每个允许每个I/O引脚单独的被配置为:引脚单独的被配置为:输入、输出和双输入、输出和双向向工作方式。所有工作方式。所有I/O引脚都有一个三态缓冲器,它的控引脚都有一个三态缓冲器,它的控制端信号来自一个多路选择器,可以选择用全局输出使能制端信号来自一个多路选择器,可以选择用全局输出使能信号其中之一进行控制,或直接连到地(信号其中之一进行控制,或直接连到地(GND)或电源)或电源(VCC)上。)上。2021/9/17415 5I/OI/O控制块控制块 EPM7128S器器件的件的I/O控制块控制块 2021/9/17422.3 CPLD2.3 CPLD的结构与可编程原理的结构与可编程原理CPLD结构结构逻辑阵列块逻辑阵列块宏单元宏单元扩展乘积项扩展乘积项可编程连线阵列可编程连线阵列I/O控制块控制块小结:小结:2021/9/17432.4.1 2.4.1 查找表逻辑结构(查找表逻辑结构(Look Up Table,LUT)2.4 FPGA2.4 FPGA的结构与工作原理的结构与工作原理 可编程逻辑可编程逻辑器件的结构器件的结构基于乘积项的可编程结构基于乘积项的可编程结构可编程的查找表(可编程的查找表(LUT)结构)结构LUT是可编程的最是可编程的最小逻辑构成单元小逻辑构成单元2021/9/17442.4 FPGA2.4 FPGA的结构与工作原理的结构与工作原理 大部分大部分FPGA采用基于采用基于SRAM(静态随机存储器)的(静态随机存储器)的查找表逻辑形成结构,即用查找表逻辑形成结构,即用SRAM来构成逻辑函数发生器。来构成逻辑函数发生器。一个一个N输入查找表可以实现输入查找表可以实现N个输入变量的任何逻辑个输入变量的任何逻辑功能,如功能,如N输入输入“与与”、N输入输入“异或异或”等。等。因此,一个因此,一个N输入的查找表,需要输入的查找表,需要SRAM存储存储N个输个输入构成的真值表,需要入构成的真值表,需要2N个存储单元。个存储单元。2.4.1 2.4.1 查找表逻辑结构查找表逻辑结构(Look Up Table,LUT)2021/9/1745图图2-24 4输入输入查找表单元查找表单元 2.4.1 2.4.1 查找表逻辑结构查找表逻辑结构(Look Up Table,LUT)2.4 FPGA2.4 FPGA的结构与工作原理的结构与工作原理 2021/9/17464 4输入查找表单元内部结构输入查找表单元内部结构 类似类似16选选1多路多路开关开关2021/9/17472.4 FPGA2.4 FPGA的结构与工作原理的结构与工作原理 2.4.2 Cyclone2.4.2 Cyclone系列器件的结构与原理系列器件的结构与原理 目前,目前,Altera有有3个系列的个系列的Cyclone器件,即器件,即Cyclone,CycloneII,CycloneIII。它们都是低成本,高性价比的。它们都是低成本,高性价比的FPGA。它们的结构和工作原理在。它们的结构和工作原理在FPGA器件中具有典型器件中具有典型性。性。2021/9/17482.4.2 Cyclone2.4.2 Cyclone系列器件的结构与原理系列器件的结构与原理 2.4 FPGA2.4 FPGA的结构与工作原理的结构与工作原理 Cyclone器件主要由器件主要由 逻辑阵列块逻辑阵列块(LAB)、)、嵌入式存嵌入式存储器块储器块、I/O单元单元和和PLL等模块构成,在各个模块之间存等模块构成,在各个模块之间存在着丰富的在着丰富的互连线和时钟网络互连线和时钟网络。Cyclone器件的器件的可编程可编程资源主要来自逻辑阵列块(资源主要来自逻辑阵列块(LAB),),而每个而每个LAB都是由多个逻辑单元(都是由多个逻辑单元(LE,Logic Element)构)构成。成。LE是是Cyclone FPGA器件的最基本可编程单元。器件的最基本可编程单元。2021/9/1749图图2-26 Cyclone LE结构图结构图 2021/9/17502.4.2 Cyclone2.4.2 Cyclone系列器件的结构与原理系列器件的结构与原理 2.4 FPGA2.4 FPGA的结构与工作原理的结构与工作原理 每个逻辑单元(每个逻辑单元(LE)主要由)主要由 一个一个4输入的查找表、输入的查找表、进位链逻辑进位链逻辑 和和 一个可编程的寄存器构成。一个可编程的寄存器构成。进位链逻辑进位链逻辑 带有进位选择,可灵活的构成带有进位选择,可灵活的构成1位位 加法或减法逻辑。加法或减法逻辑。4输入的输入的LUT 完成所有的完成所有的4输入、输入、1输出的输出的 组合逻辑功能。组合逻辑功能。2021/9/17512.4.2 Cyclone2.4.2 Cyclone系列器件的结构与原理系列器件的结构与原理 2.4 FPGA2.4 FPGA的结构与工作原理的结构与工作原理 可编程寄存器可编程寄存器 可以被配置为可以被配置为D、T、JK和和SR触发器触发器模式。具有数据、异步数据装载、时钟、时钟使能、清零模式。具有数据、异步数据装载、时钟、时钟使能、清零和异步置位和异步置位/复位输入信号。若只需要组合逻辑,可将触复位输入信号。若只需要组合逻辑,可将触发器旁路,发器旁路,LUT的输出作为的输出作为LE的输出。的输出。布线资源布线资源 每个每个LE输出都可以连接到局部布线、行列、输出都可以连接到局部布线、行列、LUT链、寄存器链等布线资源。链、寄存器链等布线资源。2021/9/17522.4.2 Cyclone2.4.2 Cyclone系列器件的结构与原理系列器件的结构与原理 2.4 FPGA2.4 FPGA的结构与工作原理的结构与工作原理 LE可以工作在两种操作模式下:可以工作在两种操作模式下:普通模式和动态算术模式。普通模式和动态算术模式。普通模式下的普通模式下的LE适合通用逻辑应用和组合逻辑的实现。适合通用逻辑应用和组合逻辑的实现。而在动态算术模式下,可以更好的实现加法器、计数器、而在动态算术模式下,可以更好的实现加法器、计数器、累加器和比较器。累加器和比较器。2021/9/17532.4.2 Cyclone2.4.2 Cyclone系列器件的结构与原理系列器件的结构与原理 2.4 FPGA2.4 FPGA的结构与工作原理的结构与工作原理 逻辑阵列块(逻辑阵列块(LAB)是由一系列的相邻)是由一系列的相邻LE构成的。构成的。每个每个LAB包含包含10个个LE,LE进位链和级联链、进位链和级联链、LAB控制控制信号等。在信号等。在Cyclone器件里面存在大量的器件里面存在大量的LAB。2021/9/1754图图2-29 Cyclone LAB结构结构 2021/9/17552.4.2 Cyclone2.4.2 Cyclone系列器件的结构与原理系列器件的结构与原理 图图2-30 LAB阵列阵列 I/O单单元元2021/9/1756