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