《可编程逻辑器件(EDA):第2章 FPGA与CPLD的结构原理-辅助课件-ST》由会员分享,可在线阅读,更多相关《可编程逻辑器件(EDA):第2章 FPGA与CPLD的结构原理-辅助课件-ST(46页珍藏版)》请在金锄头文库上搜索。
1、第2章FPGA与与CPLD的结构原理的结构原理 1主要内容主要内容n2.1 PLD 概述概述n2.2 简单简单PLD结构原理结构原理n2.3 CPLD 结构原理结构原理n2.4 FPGA的结构原理的结构原理n2.5 硬件测试硬件测试n2.6 大规模大规模PLD产品概述产品概述n2.7 CPLD/FPGA的编程和配置的编程和配置22.1 PLD概述 可编程逻辑器件(可编程逻辑器件(Programmable Logic Device)简)简称称PLD,是由,是由“与与”阵列阵列和和“或或”阵列阵列组成,能有组成,能有效的以效的以“积之和积之和”的形式实现布尔逻辑函数。的形式实现布尔逻辑函数。基本概
2、念基本概念3基本类型基本类型. 可编程可编程只读存储器只读存储器PROM. 可编程可编程逻辑阵列逻辑阵列PLA. 可编程可编程阵列逻辑阵列逻辑PAL. 通用阵列逻辑通用阵列逻辑GALCPLD/FPGA复杂类型复杂类型42.2 简单PLD结构原理 2.2.1 逻辑元件符号表示逻辑元件符号表示 52.2 简单PLD结构原理 2.2.1 逻辑元件符号表示逻辑元件符号表示 62.2 简单PLD结构原理 7. 可编程可编程只读存储器只读存储器PROMPROM内部结构为内部结构为“与与”阵列固定,阵列固定,“或或”阵列可编阵列可编程。程。2N输入组合输入组合查表输出查表输出8. 可编程可编程逻辑阵列逻辑阵
3、列PLAPLA内部结构为内部结构为“与与”、“或或”阵列皆可编阵列皆可编程程。2N乘积线乘积线编程输出编程输出9CPLD技术及应用技术及应用教学课件教学课件 . 可编程可编程阵列逻辑阵列逻辑PALPAL内部结构为内部结构为“与与”阵列可编程,阵列可编程,“或或”阵列固定阵列固定。2N乘积线乘积线输出组合输出组合10应用实例应用实例I2I1I0Q0Q1Q2给出逻辑方程如下:给出逻辑方程如下:Q0=I0 + NOT(I1) I2Q1=NOT(I0) I2 +NOT(I1)I2Q2=NOT(I0) I1 +NOT(I1)I2 +NOT(I2)I0思考:如何实现?思考:如何实现?答案:此款芯片不能满足
4、设计需要?答案:此款芯片不能满足设计需要?11. 通用阵列逻辑通用阵列逻辑GALGAL器件与器件与PAL器件具有相同的内部结构,但靠各种特性器件具有相同的内部结构,但靠各种特性组合而被区别。组合而被区别。GAL是美国是美国晶格半导体晶格半导体公司(公司(Lattice)为它的可编程逻)为它的可编程逻辑器件注册的专用商标名称。辑器件注册的专用商标名称。输出逻辑宏单元输出逻辑宏单元OLMC(Output Logic Macro Cell)12输出逻辑宏单元输出逻辑宏单元OLMC(Output Logic Macro Cell)一般逻辑器件一般逻辑器件举例:举例:GAL16V8GAL器件器件作为一种
5、通用的可编程逻辑作为一种通用的可编程逻辑器件,除了器件,除了“与与”阵列可编阵列可编程改写,还对输出端口设计程改写,还对输出端口设计了了可重新改变结构和功能可重新改变结构和功能的的输出逻辑宏单元。输出逻辑宏单元。输出口大多表现为缓冲器输出口大多表现为缓冲器/驱驱动器,一旦器件定型,用户动器,一旦器件定型,用户不能对它作任何改变不能对它作任何改变。134. 复杂可编程逻辑器件复杂可编程逻辑器件CPLDCPLDComplicated Programmable Logic DeviceI/OFBFBFBI/O互连互连 矩阵矩阵FBFB结构框图结构框图14三大部分:三大部分: I/O块,块,FB(功能
6、块)和互连矩阵。(功能块)和互连矩阵。组成组成特点特点CPLD延伸出延伸出2个发展趋势:个发展趋势:可擦除可擦除PLD和和现场可编现场可编程门阵列程门阵列FPGA。CPLD是由是由PAL或或GAL发展而来,是由可编程逻辑发展而来,是由可编程逻辑的功能块围绕一个位于中心和的功能块围绕一个位于中心和延时固定延时固定的可编程互的可编程互连矩阵构成。连矩阵构成。不采用分段互连方式,具有较大的时间可预测性。不采用分段互连方式,具有较大的时间可预测性。采用采用EEPROM工艺工艺1516图图2-27 MAX7128S的结构的结构 1逻辑阵列块逻辑阵列块(LAB) 172宏单元宏单元 MAX7000系列中的
7、宏单元系列中的宏单元 逻辑阵列逻辑阵列逻辑阵列逻辑阵列 乘积项选择矩阵乘积项选择矩阵乘积项选择矩阵乘积项选择矩阵 可编程寄存器可编程寄存器可编程寄存器可编程寄存器 三种时钟输入模式三种时钟输入模式 全局时钟信号全局时钟信号 全局时钟信号由高电平有效的时钟信号使能全局时钟信号由高电平有效的时钟信号使能 用乘积项实现一个阵列时钟用乘积项实现一个阵列时钟 183. 扩展乘积项扩展乘积项 194. 可编程连线阵列可编程连线阵列PIA 205. I/O控制块控制块 215. 现场可编程门阵列现场可编程门阵列FPGAFPGAField Programmable Gate ArrayFPGA内部结构内部结构
8、可编程可编程I/O可编程单元可编程单元可编程布线可编程布线22FPGA现场可编程门阵列通常由现场可编程门阵列通常由布线资源布线资源围绕的围绕的可可编程单元编程单元(或宏单元)构成阵列,又由(或宏单元)构成阵列,又由可编程可编程I/O单元单元围绕阵列构成整个芯片。围绕阵列构成整个芯片。可编程逻辑功能块可编程逻辑功能块CLB实现用户功能的基本单元。实现用户功能的基本单元。可编程可编程I/O单元单元完成芯片上逻辑与外部封装脚的接口,常分布在完成芯片上逻辑与外部封装脚的接口,常分布在CLB的四周的四周可编程互连可编程互连PI采用采用SRAM工艺工艺包括各种长度的连线和可编程连接开关,将逻辑块与输入包括
9、各种长度的连线和可编程连接开关,将逻辑块与输入/输出块连接起来,构成特定的电路输出块连接起来,构成特定的电路232.5 硬件测试 n内部逻辑测试内部逻辑测试 nJTAG边界扫描边界扫描n嵌入式逻辑分析仪嵌入式逻辑分析仪nAltera 的的 SignalTapnXilinx 的的 ChipScope 24边界扫描技术边界扫描技术JTAGJTAGJoint Test Action Group联合测试行动小组联合测试行动小组引言引言随着微电子技术、微封装技术和印制板制造技术的不断发展,随着微电子技术、微封装技术和印制板制造技术的不断发展,印制电路板越来越小印制电路板越来越小,密度和复杂程度越来越来高
10、密度和复杂程度越来越来高。面对这。面对这样的发展趋势,如果仍沿用传统的样的发展趋势,如果仍沿用传统的外探针测试外探针测试法和法和“针床针床”夹具测试法夹具测试法来全面彻底的测试焊接在电路板上的器件将是难来全面彻底的测试焊接在电路板上的器件将是难以实现的。以实现的。多层电路板多层电路板以及采用以及采用贴片封装器件贴片封装器件的电路板,将的电路板,将更难以用传统的测试方法加以测试。更难以用传统的测试方法加以测试。25JTAG方法的提出方法的提出20世纪世纪80年代,联合测试行动组开发了年代,联合测试行动组开发了IEEE1149.1边边界扫描测试技术规范界扫描测试技术规范。该规范提供了有效的测试引线
11、。该规范提供了有效的测试引线间隔致密的电路板上零件的能力。间隔致密的电路板上零件的能力。如今,几乎所有公司的如今,几乎所有公司的CPLD/FPGA器件均遵守器件均遵守IEEE规范,为输入规范,为输入/输出引脚及专用配置引脚提供了边界扫输出引脚及专用配置引脚提供了边界扫描测试描测试BST(Boundary-Scan Interface)的能力。与)的能力。与此类似的是此类似的是DSP器件,如器件,如TI的的TMS320系列系列DSP器件器件均含均含JTAG口。口。26JTAG方法的原理方法的原理FPGA每个输入输出引脚都增加了一个每个输入输出引脚都增加了一个移位寄存器移位寄存器,在,在测试模测试
12、模式式下,这些寄存器用来控制输出引脚的状态和读取输入引脚下,这些寄存器用来控制输出引脚的状态和读取输入引脚的状态,从而完成了测试工作。的状态,从而完成了测试工作。27JTAG测试需要的测试需要的5种信号种信号TCK:测试时钟,用来控制状态机和数据传送;:测试时钟,用来控制状态机和数据传送; TMS:边界扫描工作模式;:边界扫描工作模式; TDI:测试数据输入,在:测试数据输入,在TCK上升沿,接收串行数据;上升沿,接收串行数据; TDO:测试数据输出;:测试数据输出; TRST:测试复位,用于复位状态机。:测试复位,用于复位状态机。边界扫描测试步骤边界扫描测试步骤移位输入和译码指令移位输入和译
13、码指令 移位输入测试数据移位输入测试数据 执行测试执行测试 输出结果输出结果282.6 大规模PLD产品概述 nLattice公司的公司的PLD器件器件nAltera公司的公司的PLD器件器件nXilinx公司的公司的PLD器件器件29FPGA/CPLD比较比较/选择选择/产家产家逻辑块粒度不同逻辑块粒度不同FPGA逻辑单元粒度小,集成度高;逻辑单元粒度小,集成度高;CPLD逻辑块大。因此,逻辑块大。因此,FPGA集成度一般比集成度一般比CPLD高。高。 互连结构不同互连结构不同CPLD是集总式的开关互连,是集总式的开关互连,延时相等延时相等。而。而FPGA是分布是分布式的,式的,延时不可预测
14、延时不可预测。生产工艺不同生产工艺不同CPLD一般是一般是EEPROM工艺,工艺,FPGA则是采用则是采用SRAM工艺工艺的,因此,的,因此,FPGA一般需要外挂一般需要外挂配置芯片配置芯片工作,而工作,而CPLD则不要。则不要。30FPGA/CPLD选择选择速度与性能速度与性能 逻辑利用率逻辑利用率 延时可预测性延时可预测性 设计可更改性设计可更改性 配置芯片配置芯片 功耗功耗 价格价格/货源货源FPGA/CPLD厂家厂家31新一代新一代FPGA/PLD开发软件,适合新器件和大规模开发软件,适合新器件和大规模FPGA的开发,将的开发,将逐步取代逐步取代MaxplusII。一种最优秀的一种最优
15、秀的PLD开发平台之一,适合开发中小开发平台之一,适合开发中小规模规模PLD/FPGA。开发软件开发软件MAX+PLUSII QuartusII HDL综合工具综合工具MaxplusII Advance Synthsis:语言综合工具。:语言综合工具。SOPC Builder:配合:配合QuartusII,完成集成,完成集成CPU的的FPGA芯片的开发工作。芯片的开发工作。DSP Builder:QuartusII与与Matlab的接口,利用的接口,利用IP核在核在Matlab中快中快 速完成数字信号处理的仿真和最终速完成数字信号处理的仿真和最终FPGA实现实现32CPLD技术及应用技术及应用
16、教学课件教学课件 33 主流芯片主流芯片5v/3.3vEEPROM工艺工艺PLD(CPLD),),是是Altera公司销量公司销量最大的产品,已生产最大的产品,已生产5000万片,从万片,从32个到个到1024个宏单元。个宏单元。 MAX3000A是是Altera公司公司99年推出的年推出的3.3v 低价格低价格EEPROM工艺工艺PLD,从,从32个到个到512个宏单元,结构与个宏单元,结构与MAX7000基本基本一样。一样。MAX7000/MAX300033FLEX10K是是98推出的推出的2.5v的的SRAM工艺工艺 PLD(FPGA),),从从3万门到万门到25万门,主要有万门,主要有
17、10K30E,10K50E,10K100E,带嵌入式存带嵌入式存储块(储块(EAB) 10KE目前也已使用较少,逐渐被目前也已使用较少,逐渐被ACEX1K和和Cyclone取代。取代。ACEX1K是是2000年推出的年推出的2.5v低价格低价格SRAM工工艺艺PLD,结构与,结构与10KE类似,带嵌入式存储块(类似,带嵌入式存储块(EAB)部分型)部分型号带号带PLL,主要有,主要有1K10,1K30,1K50,1K100。FLEX10K/ACEX1K34Altera最新一代最新一代SRAM工艺大规模工艺大规模FPGA,集成,集成硬件乘加硬件乘加器器,芯片内部结构比,芯片内部结构比Altera
18、以前的产品有很大变化。以前的产品有很大变化。Stratix35Verilog编写的一个编写的一个32位位/16位可编程位可编程CPU核,可以集成到各种核,可以集成到各种FPGA中,中,Altera提供免费开发软件用于软件和硬件开发提供免费开发软件用于软件和硬件开发Cyclone(飓风)(飓风) Altera最新一代最新一代SRAM工艺工艺中等规模中等规模FPGA,与,与Stratix结构类结构类似,是一种低成本似,是一种低成本FPGA系列,配置芯片也改用新的产品。系列,配置芯片也改用新的产品。Stratix GX Mercury的下一代产品,基于的下一代产品,基于Stratix器件的架构,集成
19、器件的架构,集成3.125G高速传输接口,用于高性能高速系统设计。高速传输接口,用于高性能高速系统设计。Nois软处理器软处理器 代理商代理商Altera在中国地区代理商是在中国地区代理商是骏龙科技骏龙科技和和艾睿电子艾睿电子。36FPGA的发明者,老牌的发明者,老牌PLD公司,是最大可编程逻辑器件供应公司,是最大可编程逻辑器件供应商之一。商之一。99年年Xilinx收购了收购了Philips的的PLD部门。部门。ISE 开发软件开发软件Xilinx公司最新的集成开发的工具公司最新的集成开发的工具 Xilinx公司早期的开发工具,逐步被公司早期的开发工具,逐步被ISE取代。取代。 Founda
20、tion ISE Webpack Xilinx提供的免费开发软件,功能比提供的免费开发软件,功能比ISE少一些,可以从少一些,可以从Xilinx网站网站下载。下载。 Web Fitter 一个免费的在线开发工具,无需安装,可以开发小规模一个免费的在线开发工具,无需安装,可以开发小规模CPLD。37主流芯片主流芯片XC9500 Flash工艺工艺PLD,分,分XC9500 5V器件、器件、XC9500XL 3.3V器件和器件和XC9500XV 2.5V器件。器件。SPARTAN系列系列 中等规模中等规模SRAM工艺工艺FPGA 。Virtex/Virtex-E 大规模大规模SRAM工艺工艺FPG
21、A。38SpartanIII最新一代最新一代FPGA产品产品,结构与,结构与VirtexII类似,类似,90nm工艺工艺,已,已于于2004年量产。年量产。 代理商代理商 Xilinx在中国地区代理商是盈丰在中国地区代理商是盈丰Insight科技和华创科技。科技和华创科技。392.7 CPLD/FPGA的编程与配置 在系统可编程在系统可编程ISPISPIn System Programmable大规模、超大规模集成电路、其性能已不能单凭器件本身的大规模、超大规模集成电路、其性能已不能单凭器件本身的电路结构评估,需要配备电路结构评估,需要配备相应的软件相应的软件才能形成一个整体。才能形成一个整体
22、。软件如何录入软件如何录入“固化固化”进入器件?进入器件?方法方法1:编程器(编程器(Programmer)专用专用编程器和编程器和通用通用编程器编程器方法方法2:在系统编程在系统编程ISP通过几根编程线与计算机的并行口通过几根编程线与计算机的并行口/串口相连,在专串口相连,在专门应用软件配合下,方便的实现程序下载。门应用软件配合下,方便的实现程序下载。40 CPLD在系统编程在系统编程41FPGA配置方式配置方式 在线配置在线配置 :JTAG在线配置在线配置FPGA芯片芯片42FPGA专用配置器件专用配置器件 43 使用单片机配置使用单片机配置FPGA 44使用使用CPLD配置配置FPGA 45小节小节ASIC技术技术专用集成电路专用集成电路专门限定的某一种或某几种特定功专门限定的某一种或某几种特定功能的产品或应用而设计的芯片。能的产品或应用而设计的芯片。基本资源基本资源可编程单元可编程单元 输入输入/输出口输出口 布线资源布线资源 片内片内RAM46