您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 电子设计/PCB > EDA技术与VHDL第2章PLD硬件特性与编程技术
EDA技术与VHDL第2章PLD硬件特性与编程技术2.1PLD概述图2-1基本PLD器件的原理结构图输入缓冲电路与阵列或阵列输出缓冲电路输入输出……可编程逻辑器件PLD:PLD是做为一种通用集成电路生产的,他的逻辑功能按照用户对器件编程来搞定。一般的PLD的集成度很高,足以满足设计一般的数字系统的需要。这样就可以由设计人员自行编程而把一个数字系统“集成”在一片PLD上,而不必去请芯片制造厂商设计和制作专用的集成电路芯片了。分类目前使用的PLD产品主要有:1、现场可编程逻辑阵列FPLA(fieldprogrammablelogicarray);2、可编程阵列逻辑PAL(programmablearraylogic);3、通用阵列逻辑GAL(genericarraylogic);4、可擦除可编程逻辑器件EPLD(erasableprogrammablelogicdevice);5、现场可编程门阵列FPGA(fieldprogrammablegatearray)。其中EPLD和FPGA的集成度比较高。有时又把这两种器件称为高密度PLD。发展历程早期的可编程逻辑器件只有可编程只读存贮器(PROM)、紫外线可擦除只读存贮器(EPROM)和电可擦除只读存贮器(EEPROM)三种。由于结构的限制,它们只能完成简单的数字逻辑功能。其后,出现了一类结构上稍复杂的可编程芯片,即可编程逻辑器件,能够完成各种数字逻辑功能。典型的PLD由一个“与”门和一个“或”门阵列组成,而任意一个组合逻辑都可以用“与一或”表达式来描述,所以,PLD能以乘积和的形式完成大量的组合逻辑功能。这一阶段的产品主要有PAL和GAL。PAL由一个可编程的“与”平面和一个固定的“或”平面构成,或门的输出可以通过触发器有选择地被置为寄存状态。PAL器件是现场可编程的,它的实现工艺有反熔丝技术、EPROM技术和EEPROM技术。还有一类结构更为灵活的逻辑器件是可编程逻辑阵列(PLA),它也由一个“与”平面和一个“或”平面构成,但是这两个平面的连接关系是可编程的。PLA器件既有现场可编程的,也有掩膜可编程的。在PAL的基础上,又发展了一种通用阵列逻辑GAL,GAL16V8,GAL22V10等。它采用了EEPROM工艺,实现了电可擦除、电可改写,其输出结构是可编程的逻辑宏单元,因而它的设计具有很强的灵活性,至今仍有许多人使用。这些早期的PLD器件的一个共同特点是可以实现速度特性较好的逻辑功能,但其过于简单的结构也使它们只能实现规模较小的电路。为了弥补这一缺陷,20世纪80年代中期Altera和Xilinx分别推出了类似于PAL结构的扩展型CPLD和与标准门阵列类似的FPGA,它们都具有体系结构和逻辑单元灵活、集成度高以及适用范围宽等特点。这两种器件兼容了PLD和通用门阵列的优点,可实现较大规模的电路,编程也很灵活。与门阵列等其它ASIC相比,它们又具有设计开发周期短、设计制造成本低、开发工具先进、标准产品无需测试、质量稳定以及可实时在线检验等优点,因此被广泛应用于产品的原型设计和产品生产(一般在10,000件以下)之中。几乎所有应用门阵列、PLD和中小规模通用数字集成电路的场合均可应用FPGA和CPLD器件。2.1.1PLD发展历程熔丝编程的PROM和PLA器件AMD公司推出PAL器件GAL器件FPGA器件EPLD器件CPLD器件内嵌复杂功能模块的SoPC20世纪70年代20世纪70年代末20世纪80年代初20世纪80年代中期20世纪80年代末进入20世纪90年代后2.1PLD概述2.1.2PLD的分类可编程逻辑器件(PLD)简单PLD复杂PLDPROMPALPLAGALCPLDFPGA图2-2按集成度(PLD)分类2.1PLD概述2.1.2PLD分类1.熔丝(Fuse)型器件。2.反熔丝(Anti-fuse)型器件。3.EPROM型。称为紫外线擦除电可编程逻辑器件。4.EEPROM型。5.SRAM型。6.Flash型。2.1PLD概述从编程工艺上划分:2.2低密度PLD可编程原理2.2.1电路符号表示图2-3常用逻辑门符号与现有国标符号的对照2.2.1电路符号表示图2-4PLD的互补缓冲器图2-5PLD的互补输入图2-6PLD中与阵列表示图2-7PLD中或阵列表示图2-8阵列线连接表示2.2.2PROM图2-9PROM基本结构地址译码器存储单元阵列………0A1A1nA0W1W1pW0F1F1mFnp22.2低密度PLD可编程原理2.2.2PROM0111201110110...AAAWAAAWAAAWnnnnPROM中的地址译码器是完成PROM存储阵列的行的选择,其逻辑函数是:2.2低密度PLD可编程原理2.2.2PROM行单元的值列是存储单元阵列第而,其中1121,1pmMpmpn2.2低密度PLD可编程原理01,011,111,1101,011,111,1100,010,110,10WMWMWMFWMWMWMFWMWMWMFmmpmpmpppp……...…2.2.2PROM与阵列(不可编程)或阵列(可编程)………0A1A1nA0W1W1pW0F1F1mFnp2图2-10PROM的逻辑阵列结构2.2低密度PLD可编程原理2.2.2PROM图2-11PROM表达的PLD阵列图与阵列(固定)或阵列(可编程)0A1A1A1A0A0A1F0F1010AACAAS2.2低密度PLD可编程原理2.2.2PROM图2-12用PROM完成半加器逻辑阵列01110100AAFAAAAF与阵列(固定)或阵列(可编程)0A1A1A1A0A0A1F0F2.2低密度PLD可编程原理2.2.3PLA图2-13PLA逻辑阵列示意图与阵列(可编程)或阵列(可编程)0A1A1A1A0A0A1F0F2.2低密度PLD可编程原理2.2.3PLA图2-14PLA与PROM的比较0A1A1F0F2A2F0A1A1F0F2A2F2.2低密度PLD可编程原理PROM2.2.4PAL图2-15PAL结构图2-16PAL的常用表示0A1A1F0F0A1A1F0F2.2低密度PLD可编程原理图2-17一种PAL16V8的部分结构图11100100R11100100RQQD11100100R11100100RVccSG1SL07SL17SG0SL0619I/O711100100R11100100RQQD11100100R11100100RVccSG1SL06SL16SG1SL0618I/O61CLK/I02I13I2078150347812111516192023242728312.2.5GAL2.2低密度PLD可编程原理GAL即通用阵列逻辑器件,首次在PLD上采用了EEPROM工艺,使得GAL具有电可擦除重复编程的特点,彻底解决了熔丝型可编程器件的一次可编程问题。GAL在“与-或”阵列结构上沿用了PAL的与阵列可编程、或阵列固定的结构,但对PAL的输出I/O结构进行了较大的改进,在GAL的输出部分增加了输出逻辑宏单元OLMC(OutputMacroCell)。2.3CPLD的结构与可编程原理图2-18MAX7000系列的单个宏单元结构图2-19MAX7128S的结构1.逻辑阵列块(LAB)2.3CPLD的结构与可编程原理2.宏单元全局时钟信号全局时钟信号由高电平有效的时钟信号使能用乘积项实现一个阵列时钟2.3CPLD的结构与可编程原理逻辑阵列MAX7000系列中的宏单元乘积项选择矩阵可编程寄存器3.扩展乘积项局部连线共享扩展项提供的“与非”乘积项宏单元的乘积项逻辑宏单元的乘积项逻辑图2-20共享扩展乘积项结构2.3CPLD的结构与可编程原理3.扩展乘积项图2-22并联扩展项馈送方式共享扩展项并联扩展项4.可编程连线阵列(PIA)图2-22PIA信号布线到LAB的方式2.3CPLD的结构与可编程原理5.I/O控制块图2-23EPM7128S器件的I/O控制块2.4.1查找表逻辑结构图2-24FPGA查找表单元查找表LUT输入1输入2输入3输入4输出2.4FPGA的结构与工作原理2.4.1查找表逻辑结构图2-25FPGA查找表单元内部结构2.4.2Cyclone系列器件的结构与原理图2-26CycloneLE结构图2.4.2Cyclone系列器件的结构与原理图2-27CycloneLE普通模式data1addnsubdata2data34-inputLUT4-inputLUTcindata4RegRegsloadsclearaloadclockenaaclr行、列直连线布线LUT链寄存器链行、列直连线布线行、列直连线布线寄存器链输入同步装载清零逻辑寄存器两个2输入LUT(进位)寄存器控制信号寄存器链输入Data1Data2Data3行、列和直连线布线局部布线两个2输入LUT(和)寄存器链输出addnsub进位输出逻辑进位输入逻辑LAB进位输入进位输入0进位输入1进位输出1进位输出02.4.2Cyclone系列器件的结构与原理图2-28CycloneLE动态算术模式2.4.2Cyclone系列器件的结构与原理LE1LE2LE3LE4LE5LE6LE7LE8LE10LE9LE1LE2LE3LE4LE5LE6LE7LE8LE10LE94444444444控制信号局部互连LAB输入信号LUT链和寄存器链LE反馈信号连线图2-29CycloneLAB结构2.4.2Cyclone系列器件的结构与原理图2-30LAB阵列2.4.2Cyclone系列器件的结构与原理图2-31LAB控制信号生成的逻辑图CLR2CLR1ASYNCLOAD/LABPRESYNCLOADCLK1CLKENA1LAB行Clock至每个寄存器/6CLK2CLKENA2SYNCCLRADDNSUB局部互连局部互连局部互连局部互连局部互连局部互连2.4.2Cyclone系列器件的结构与原理图2-32快速进位选择链Le1Le2Le3Le4和1和2和3和4A1B1A2B2A3B3A4B4LE4LE2Le3LE101LE3LE5和5A5B5LE6LE7LE801LE9LE10和6和7和8和9和10LAB进位输出A6B6A7B7A8B8A9B9A10B10Le1Le2Le3Le4A1B1A2B2A3B3A4B4LE4LE2Le3LE101LAB进位输入LE3LE5A5B5LE6LE7LE801LE9LE10A6B6A7B7A8B8A9B9A10B10A+B+1ABA+B+0LAB进位输入10进位输入0进位输出0A+B+1A+B+0进位输出1和100101进位输入12输入LUT图2-33LUT链和寄存器链的使用2.4.2Cyclone系列器件的结构与原理LE1LutDQDQLE2DQDQLEs3-10LUT链寄存器链Lut2.4FPGA的结构与工作原理图2-34LVDS连接2.4.2Cyclone系列器件的结构与原理Cyclone器件接收器件外接电阻网路外接终端电阻2.4FPGA的结构与工作原理2.5硬件测试技术2.5.1内部逻辑测试在ASIC设计中的扫描寄存器,是可测性设计的一种,原理是把ASIC中关键逻辑部分的普通寄存器用测试扫描寄存器来代替,在测试中可以动态地测试、分析设计其中寄存器所处的状态,甚至对某个寄存器加以激励信号,改变该寄存器的状态。2.5.2JTAG边界扫描测试引脚描述功能TDI测试数据输入(TestDataInput)测试指令和编程数据的串行输入引脚。数据在TCK的上升沿移入。TDO测试数据输出(TestDataOutput)测试指令和编程数据的串行输出引脚,数据在TCK的下降沿移出。如果数据没有被移出时,该引脚处于高阻态。TMS测试模式选择(TestModeSelect)控制信号输入引脚,负责TAP控制器的转换。TMS必须在TCK的上升沿到来之前稳定。TCK测试时钟输入(TestClockInput)时钟输入到BST电路,一些操作
本文标题:EDA技术与VHDL第2章PLD硬件特性与编程技术
链接地址:https://www.777doc.com/doc-50789 .html