《EDA技术与VHDL第2章PLD硬件特性与编程技术》由会员分享,可在线阅读,更多相关《EDA技术与VHDL第2章PLD硬件特性与编程技术(50页珍藏版)》请在金锄头文库上搜索。
1、EDA技术与技术与VHDL 第第2 2章章PLDPLD硬件特性与编程技术硬件特性与编程技术 2021/9/1712.1 PLD 2.1 PLD 概概述述 图图2-1 基本基本PLD器件的原理结构图器件的原理结构图 2021/9/172p可编程逻辑器件可编程逻辑器件PLD: p PLD是做为一种通用集成电路生产的,他的逻辑功是做为一种通用集成电路生产的,他的逻辑功能按照用户对器件编程来搞定。一般的能按照用户对器件编程来搞定。一般的PLD的集成度很高,的集成度很高,足以满足设计一般的数字系统的需要。这样就可以由设计足以满足设计一般的数字系统的需要。这样就可以由设计人员自行编程而把一个数字系统人员自
2、行编程而把一个数字系统“集成集成”在一片在一片PLD上,上,而不必去请芯片制造厂商设计和制作专用的集成电路芯片而不必去请芯片制造厂商设计和制作专用的集成电路芯片了了。 p分类分类p目前使用的目前使用的PLD产品主要有:产品主要有:1、现场可编程逻辑阵、现场可编程逻辑阵列列FPLA(field programmable logic array);2、可编程阵列逻辑可编程阵列逻辑PAL(programmable array logic);3、通用阵列逻辑、通用阵列逻辑GAL(generic array logic);4、可擦除可编程逻辑器件、可擦除可编程逻辑器件EPLD(erasable prog
3、rammable logic device);5、现场可编程门阵、现场可编程门阵列列FPGA(field programmable gate array)。其。其中中EPLD和和FPGA的集成度比较高。有时又把这两种器件的集成度比较高。有时又把这两种器件称为高密度称为高密度PLD。 2021/9/173p发展历程发展历程p早期的可编程逻辑器件只有可编程只读存贮器早期的可编程逻辑器件只有可编程只读存贮器(PROM)、紫外线可擦除只读存贮器紫外线可擦除只读存贮器(EPROM)和电可擦除只读存贮器和电可擦除只读存贮器(EEPROM)三种。由于结构的限制,它们只能完成简单的三种。由于结构的限制,它们只
4、能完成简单的数字数字逻辑逻辑功能。功能。 p其后,出现了一类结构上稍复杂的可编程芯片,即可编其后,出现了一类结构上稍复杂的可编程芯片,即可编程逻辑器件,能够完成各种数字逻辑功能。典型的程逻辑器件,能够完成各种数字逻辑功能。典型的PLD由由一个一个“与与”门和一个门和一个“或或”门阵列组成,而任意一个组合逻门阵列组成,而任意一个组合逻辑都可以用辑都可以用“与一或与一或”表达式来描述,所以,表达式来描述,所以, PLD能以乘能以乘积和的形式完成大量的组合逻辑功能。这一阶段的产品主要积和的形式完成大量的组合逻辑功能。这一阶段的产品主要有有PAL和和GAL。PAL由一个可编程的由一个可编程的“与与”平
5、面和一个固平面和一个固定的定的“或或”平面构成,或门的输出可以通过触发器有选择地平面构成,或门的输出可以通过触发器有选择地被置为寄存状态。被置为寄存状态。PAL器件是现场可编程的,它的实现工艺器件是现场可编程的,它的实现工艺有反熔丝技术、有反熔丝技术、EPROM技术和技术和EEPROM技术。还有一类技术。还有一类结构更为灵活的逻辑器件是可编程逻辑阵列结构更为灵活的逻辑器件是可编程逻辑阵列(PLA),它也由,它也由一个一个“与与”平面和一个平面和一个“或或”平面构成,但是这两个平面的平面构成,但是这两个平面的连接关系是可编程的。连接关系是可编程的。PLA器件既有现场可编程的,也有掩器件既有现场可
6、编程的,也有掩膜可编程的。在膜可编程的。在PAL的基础上,又发展了一种通用阵列逻辑的基础上,又发展了一种通用阵列逻辑GAL,2021/9/174p GAL16V8,GAL22V10 等。它采用了等。它采用了EEPROM工工艺,实现了电可擦除、电可改写,其输出结构是可编程的艺,实现了电可擦除、电可改写,其输出结构是可编程的逻辑逻辑宏单元宏单元,因而它的设计具有很强的灵活性,至今仍有,因而它的设计具有很强的灵活性,至今仍有许多人使用。这些早期的许多人使用。这些早期的PLD器件的一个共同特点是可以器件的一个共同特点是可以实现速度特性较好的逻辑功能,但其过于简单的结构也使实现速度特性较好的逻辑功能,但
7、其过于简单的结构也使它们只能实现规模较小的电路。为了弥补这一缺陷,它们只能实现规模较小的电路。为了弥补这一缺陷,20世世纪纪80年代中期年代中期Altera和和Xilinx分别推出了类似于分别推出了类似于PAL结结构的扩展型构的扩展型 CPLD和与标准门阵列类似的和与标准门阵列类似的FPGA,它们都,它们都具有体系结构和逻辑单元灵活、集成度高以及适用范围宽具有体系结构和逻辑单元灵活、集成度高以及适用范围宽等特点。这两种器件兼容了等特点。这两种器件兼容了PLD和通用门阵列的优点,可和通用门阵列的优点,可实现较大规模的电路,编程也很灵活。与门阵列等其它实现较大规模的电路,编程也很灵活。与门阵列等其
8、它ASIC相比,它们又具有设计开发周期短、设计制造成本低、相比,它们又具有设计开发周期短、设计制造成本低、开发工具先进、标准产品无需测试、质量稳定以及可实时开发工具先进、标准产品无需测试、质量稳定以及可实时在线检验等优点,因此被广泛应用于产品的原型设计和产在线检验等优点,因此被广泛应用于产品的原型设计和产品生产品生产(一般在一般在10,000件以下件以下)之中。几乎所有应用门阵列、之中。几乎所有应用门阵列、PLD和中小规模通用数字集成电路的场合均可应用和中小规模通用数字集成电路的场合均可应用FPGA和和CPLD器件。器件。 2021/9/1752.1.1 PLD2.1.1 PLD发展历程发展历
9、程 熔丝编程的熔丝编程的PROM和和PLA器件器件 AMD公公司推出司推出PAL器件器件 GAL器件器件 FPGA器器件件 EPLD器器件件 CPLD器器件件 内嵌复杂内嵌复杂功能模块功能模块的的SoPC 20世纪世纪70年代年代 20世纪世纪70年代末年代末 20世纪世纪80年代初年代初 20世纪世纪80年代中期年代中期 20世纪世纪80年代末年代末 进入进入20世纪世纪90年代后年代后 2.1 PLD 概述概述 2021/9/1762.1.2 PLD2.1.2 PLD的分类的分类 图图2-2 按集成度按集成度(PLD)分类分类 2.1 PLD 概述概述 2021/9/1772.1.2 PL
10、D2.1.2 PLD分类分类 1熔丝熔丝(Fuse)型器件。型器件。 2反熔丝反熔丝(Anti-fuse)型器件型器件 。 3EPROM型。称为紫外线擦除电可编程逻辑器件型。称为紫外线擦除电可编程逻辑器件 。 4EEPROM型型 。 5SRAM型型 。 6Flash型型 。 2.1 PLD 概述概述 从编程工艺上划分从编程工艺上划分: : 2021/9/1782.2 2.2 低密度低密度PLDPLD可编程原可编程原理理 2.2.1 2.2.1 电路符号表示电路符号表示 图图2-3 常用逻辑门符号与现有国标符号的对照常用逻辑门符号与现有国标符号的对照 2021/9/1792.2.1 2.2.1
11、电路符号表示电路符号表示 图图2-4 PLD的互补缓冲器的互补缓冲器 图图2-5 PLD的互补输入的互补输入 图图2-6 PLD中与阵列表示中与阵列表示 图图2-7 PLD中或阵列表示中或阵列表示 图图2-8 阵列线连接表示阵列线连接表示 2021/9/17102.2.2 PROM 2.2.2 PROM 图图2-9 PROM基本结构基本结构 2.2 2.2 低密度低密度PLDPLD可编程原理可编程原理 2021/9/17112.2.2 PROM 2.2.2 PROM PROM中的地址译码器是完成中的地址译码器是完成PROM存储阵列的行的选择,存储阵列的行的选择,其逻辑函数是:其逻辑函数是: 2
12、.2 2.2 低密度低密度PLDPLD可编程原理可编程原理 2021/9/17122.2.2 PROM 2.2.2 PROM 2.2 2.2 低密度低密度PLDPLD可编程原理可编程原理 .2021/9/17132.2.2 PROM 2.2.2 PROM 图图2-10 PROM的逻辑阵列结构的逻辑阵列结构 2.2 2.2 低密度低密度PLDPLD可编程原可编程原理理 2021/9/17142.2.2 PROM 2.2.2 PROM 图图2-11 PROM表达的表达的PLD阵列图阵列图 2.2 2.2 低密度低密度PLDPLD可编程原理可编程原理 2021/9/17152.2.2 PROM 2.
13、2.2 PROM 图图2-12 用用PROM完成半加器逻辑阵列完成半加器逻辑阵列 2.2 2.2 低密度低密度PLDPLD可编程原理可编程原理 2021/9/17162.2.3 PLA 2.2.3 PLA 图图2-13 PLA逻辑阵列示意图逻辑阵列示意图 2.2 2.2 低密度低密度PLDPLD可编程原可编程原理理 2021/9/17172.2.3 PLA 2.2.3 PLA 图图2-14 PLA与与 PROM的比较的比较 2.2 2.2 低密度低密度PLDPLD可编程原理可编程原理 PROM 2021/9/17182.2.4 PAL 2.2.4 PAL 图图2-15 PAL结构结构 图图2-
14、16 PAL的常用表示的常用表示 2.2 2.2 低密度低密度PLDPLD可编程原理可编程原理 2021/9/1719图图2-17 一种一种PAL16V8的部分结构图的部分结构图 2021/9/17202.2.5 GAL 2.2.5 GAL 2.2 2.2 低密度低密度PLDPLD可编程原理可编程原理 GAL GAL即通用阵列逻辑器件,首次在即通用阵列逻辑器件,首次在PLDPLD上采用了上采用了EEPROMEEPROM工艺,使得工艺,使得GALGAL具有电可擦除重复编程的特点,彻具有电可擦除重复编程的特点,彻底解决了熔丝型可编程器件的一次可编程问题。底解决了熔丝型可编程器件的一次可编程问题。G
15、ALGAL在在“与与- -或或”阵列结构上沿用了阵列结构上沿用了PALPAL的的与阵列可编程、或与阵列可编程、或阵列固定阵列固定的结构,但对的结构,但对PALPAL的输出的输出I/OI/O结构进行了较大结构进行了较大的改进,在的改进,在GALGAL的输出部分增加了输出逻辑宏单元的输出部分增加了输出逻辑宏单元OLMC(Output Macro Cell)OLMC(Output Macro Cell)。 2021/9/17212.3 CPLD2.3 CPLD的结构与可编程原的结构与可编程原理理 图图2-18 MAX7000系列的单个宏单元结构系列的单个宏单元结构 2021/9/1722图图2-19
16、 MAX7128S的结构的结构 1 1逻辑阵列块逻辑阵列块(LAB) (LAB) 2.3 CPLD2.3 CPLD的结构与可编程原理的结构与可编程原理 2021/9/17232 2宏单元宏单元 全局时钟信号全局时钟信号全局时钟信号由高电平有效的时钟信号使能全局时钟信号由高电平有效的时钟信号使能 用乘积项实现一个阵列时钟用乘积项实现一个阵列时钟2.3 CPLD2.3 CPLD的结构与可编程原理的结构与可编程原理逻辑阵列逻辑阵列MAX7000MAX7000系列中的宏单元系列中的宏单元 乘积项选择矩阵乘积项选择矩阵可编程寄存器可编程寄存器 2021/9/17243 3扩展乘积项扩展乘积项 图图2-2
17、0 共享扩展乘积项结构共享扩展乘积项结构 2.3 CPLD2.3 CPLD的结构与可编程原理的结构与可编程原理2021/9/17253 3扩展乘积项扩展乘积项 图图2-22 并联扩展项馈送方式并联扩展项馈送方式 共享扩展项共享扩展项 并联扩展项并联扩展项 2021/9/17264 4可编程连线阵列可编程连线阵列(PIA) (PIA) 图图2-22 PIA信号布线到信号布线到LAB的方式的方式 2.3 CPLD2.3 CPLD的结构与可编程原理的结构与可编程原理2021/9/17275 5I/OI/O控制块控制块 图图2-23 EPM7128S器器件的件的I/O控制块控制块 2021/9/172
18、82.4.1 2.4.1 查找表逻辑结构查找表逻辑结构 图图2-24 FPGA查找表单元查找表单元 2.4 FPGA2.4 FPGA的结构与工作原理的结构与工作原理 2021/9/17292.4.1 2.4.1 查找表逻辑结构查找表逻辑结构 图图2-25 FPGA查找表单元内部结构查找表单元内部结构 2021/9/17302.4.2 Cyclone2.4.2 Cyclone系列器件的结构与原理系列器件的结构与原理 图图2-26 Cyclone LE结构图结构图 2021/9/17312.4.2 Cyclone2.4.2 Cyclone系列器件的结构与原理系列器件的结构与原理 图图2-27 Cy
19、clone LE普通模式普通模式 2021/9/17322.4.2 Cyclone2.4.2 Cyclone系列器件的结构与原理系列器件的结构与原理 图图2-28 Cyclone LE动态算术模式动态算术模式 2021/9/17332.4.2 Cyclone2.4.2 Cyclone系列器件的结构与原理系列器件的结构与原理 图图2-29 Cyclone LAB结构结构 2021/9/17342.4.2 Cyclone2.4.2 Cyclone系列器件的结构与原理系列器件的结构与原理 图图2-30 LAB阵列阵列 2021/9/17352.4.2 Cyclone2.4.2 Cyclone系列器件
20、的结构与原理系列器件的结构与原理 图图2-31LAB控制信号生成的逻辑图控制信号生成的逻辑图 2021/9/17362.4.2 Cyclone2.4.2 Cyclone系列器件的结构与原理系列器件的结构与原理 图图2-32 快速进位选择链快速进位选择链 2021/9/1737图图2-33 LUT链和寄存器链的使用链和寄存器链的使用 2.4.2 Cyclone2.4.2 Cyclone系列器件的结构与原理系列器件的结构与原理 2.4 FPGA2.4 FPGA的结构与工作原理的结构与工作原理 2021/9/1738图图2-34 LVDS连接连接 2.4.2 Cyclone2.4.2 Cyclone
21、系列器件的结构与原理系列器件的结构与原理 2.4 FPGA2.4 FPGA的结构与工作原理的结构与工作原理 2021/9/17392.5 2.5 硬件测试技术硬件测试技术 2.5.1 2.5.1 内部逻辑测试内部逻辑测试 在在ASIC设计中的扫描寄存器,是可测性设计的一种,设计中的扫描寄存器,是可测性设计的一种,原理是把原理是把ASIC中关键逻辑部分的普通寄存器用测试扫描中关键逻辑部分的普通寄存器用测试扫描寄存器来代替,在测试中可以动态地测试、分析设计其寄存器来代替,在测试中可以动态地测试、分析设计其中寄存器所处的状态,甚至对某个寄存器加以激励信号,中寄存器所处的状态,甚至对某个寄存器加以激励
22、信号,改变该寄存器的状态。改变该寄存器的状态。 2021/9/17402.5.2 JTAG2.5.2 JTAG边界扫描测试边界扫描测试 引引 脚脚描描 述述功功 能能TDI测试数据输入测试数据输入(Test Data Input)测测试试指指令令和和编编程程数数据据的的串串行行输输入入引引脚脚。数数据据在在TCK的上升沿移入。的上升沿移入。TDO测试数据输出测试数据输出(Test Data Output)测测试试指指令令和和编编程程数数据据的的串串行行输输出出引引脚脚,数数据据在在TCK的的下下降降沿沿移移出出。如如果果数数据据没没有有被被移移出出时时,该该引引脚脚处处于于高阻态。高阻态。TM
23、S测试模式选择测试模式选择(Test Mode Select)控控制制信信号号输输入入引引脚脚,负负责责TAP控控制制器器的的转转换换。TMS必必须在须在TCK的上升沿到来之前稳定。的上升沿到来之前稳定。TCK测试时钟输入测试时钟输入(Test Clock Input)时时钟钟输输入入到到BST电电路路,一一些些操操作作发发生生在在上上升升沿沿,而而另另一些发生在下降沿。一些发生在下降沿。TRST测试复位输入测试复位输入(Test Reset Input)低低电电平平有有效效,异异步步复复位位边边界界扫扫描描电电路路(在在IEEE规规范范中中,该引脚可选该引脚可选)。表表2-1 边界扫描边界扫
24、描IO引脚功能引脚功能 2.5 2.5 硬件测试技硬件测试技术术 2021/9/17412.6 FPGA/CPLD2.6 FPGA/CPLD产品概述产品概述 2.6.1 Lattice2.6.1 Lattice公司公司CPLDCPLD器件系列器件系列 2.6.2 Xilinx2.6.2 Xilinx公司的公司的FPGAFPGA和和CPLDCPLD器件系列器件系列1. Virtex-4系列系列FPGA 2. Spartan& Spartan-3 & Spartan 3E器件系器件系 3. XC9500 & XC9500XL系列系列CPLD4. Xilinx FPGA配置器件配置器件SPROM 2
25、021/9/17422.6 FPGA/CPLD2.6 FPGA/CPLD产品概述产品概述 2.6.3 Altera2.6.3 Altera公司公司FPGAFPGA和和CPLDCPLD器件系列器件系列 1. Stratix II 系列系列FPGA 2. ACEX系列系列FPGA 3. MAX系列系列CPLD 4. Cyclone系列低成本系列低成本FPGA 5. Cyclone II系列系列FPGA 6. MAX II系列器件系列器件 7. Altera宏功能块及宏功能块及IP核核 2021/9/17432.6 FPGA/CPLD2.6 FPGA/CPLD产品概述产品概述 2.6.4 Actel
26、2.6.4 Actel公司的公司的FPGAFPGA器件器件 2.6.5 Altera2.6.5 Altera公司的公司的FPGAFPGA配置方式与配置器件配置方式与配置器件 2021/9/17442.7 2.7 编程与配置编程与配置 表表2-2 各引脚信号名称各引脚信号名称 基于电可擦除存储单元的基于电可擦除存储单元的EEPROM或或Flash技术。技术。 基于基于SRAM查找表的编程单元。查找表的编程单元。 基于反熔丝编程单元。基于反熔丝编程单元。 引脚引脚12345678910PS模式模式DCKGNDCONF_DONEVCCnCONFIG-nSTATUS-DATA0GNDJATG模式模式T
27、CKGNDTDOVCCTMS-TDIGND2021/9/17452.7 2.7 编程与配置编程与配置 2.7.1 JTAG2.7.1 JTAG方式的在系统编程方式的在系统编程 图图2-35 CPLD编程下载连接图编程下载连接图 2021/9/17462.7 2.7 编程与配置编程与配置 2.7.2 2.7.2 使用使用PCPC并行口配置并行口配置FPGA FPGA AlteraAltera的的FPGAFPGA有如下几种常用编程配置方式:有如下几种常用编程配置方式: 1 1配置器件模式,如用配置器件模式,如用EPCEPC器件进行配置。器件进行配置。 2 2PS(Passive SerialPS(
28、Passive Serial被动串行被动串行) )模式。模式。 3 3JTAGJTAG模式,用于配置模式,用于配置SRAMSRAM的的SOFSOF文件,或文件,或JTAGJTAG间接间接对配置器件编程模式。对配置器件编程模式。 4 4ASAS(Active SerialActive Serial),这个模式是针对),这个模式是针对EPCSEPCS系列系列配置器件而配置器件而 。2021/9/17472.7 2.7 编程与配置编程与配置 2.7.3 FPGA2.7.3 FPGA配置器件配置器件 图图2-36 FPGA使用使用EPC配置器件的配置时序配置器件的配置时序 2021/9/17482.7 2.7 编程与配置编程与配置 2.7.3 FPGA 2.7.3 FPGA 配置器件配置器件 图图2-37 FPGA的配置电路原理图的配置电路原理图(注,此图来自(注,此图来自Altera资料,中间一上拉线应串资料,中间一上拉线应串1K电阻)电阻) 2021/9/17492.7 2.7 编程与配置编程与配置 2.7.3 FPGA2.7.3 FPGA配置器件配置器件 图图2-38 EPCS器件配置器件配置FPGA的电路原理图的电路原理图 2021/9/1750