EDA第2章PLD硬件特性与编程技术.ppt
EDAEDA技术与技术与VHDL VHDL 第第3 3章章PLDPLD硬件特性与编程技术硬件特性与编程技术 2021/9/1713.1 3.1 概概 论论 图图3-1 基本基本PLD器件的原理结构图器件的原理结构图 逻辑可编程逻辑可编程2021/9/172查找表逻辑结构查找表逻辑结构 FPGA查找表结构单元查找表结构单元 内容可编程内容可编程2021/9/1733.1.1 可编程逻辑器件的发展历程可编程逻辑器件的发展历程70年代年代80年代年代90年代年代PROM 和和PLA 器器件件改改进进的的 PLA 器器件件GAL器器件件FPGA器器件件EPLD 器器件件CPLD器器件件内嵌复杂内嵌复杂功能模块功能模块的的SoPC2021/9/174PLD期间的发展历程n1970,PROM,EPROM,EEPROM结构的PLDn1974,PLA(Programmable Logic Array)n1977,PAL(Programmable Array Logic)MMI公司,PAL16L8n1985 GAL(Generic Array Logic)Lattice公司 GAL16V8,GAL20V8n1985,EPLD(Erasable PLD)Altera公司n1985,FPGA(Field Progamable Gate Array)Xilinx公司n1989,CPLD(Complex PLD)Lattice公司2021/9/1753.1 3.1 概概 论论 3.1.2 PLD3.1.2 PLD的分类的分类 图图3-2 按集成度按集成度(PLD)分类分类 2021/9/1763.1 3.1 概概 论论 3.1.2 PLD3.1.2 PLD的分类的分类 1熔丝熔丝(Fuse)型器件。型器件。2反熔丝反熔丝(Anti-fuse)型器件型器件。3EPROM型。称为紫外线擦除电可编程逻辑器件型。称为紫外线擦除电可编程逻辑器件。4EEPROM型型。5SRAM型型。6Flash型型。CPLD FPGA 2021/9/1773.2 3.2 简单简单PLDPLD原理原理 3.2.1 3.2.1 电路符号表示电路符号表示 图图3-3 常用逻辑门符号与现有国标符号的对照常用逻辑门符号与现有国标符号的对照 2021/9/1783.2.1 3.2.1 电路符号表示电路符号表示 图图3-4 PLD的互补缓冲器的互补缓冲器 图图3-5 PLD的互补输入的互补输入 图图3-6 PLD中与阵列表示中与阵列表示 图图3-7 PLD中或阵列的表示中或阵列的表示 3-8 阵列线连接表示阵列线连接表示 2021/9/1793.2 3.2 简单简单PLDPLD原理原理 3.2.2 PROM 图图3-9 PROM基本结构基本结构 PROM的基本结构的基本结构地址位宽度:n数据位宽度:m2021/9/17103.2 3.2 简单简单PLDPLD原理原理 3.2.2 PROM PROM中的地址译码器是完成中的地址译码器是完成PROM存储阵列的行存储阵列的行的选择,其逻辑函数是:的选择,其逻辑函数是:2021/9/17113.2 3.2 简单简单PLDPLD原理原理 3.2.2 PROM 2021/9/1712PROM的逻辑函数不可编程不可编程可编程可编程2021/9/17133.2 3.2 简单简单PLDPLD原理原理 3.2.2 PROM 图图3-10 PROM的逻辑阵列结构的逻辑阵列结构 2021/9/1714PROM可编程逻辑阵列我们现在来看一个2X2的PROM的电路结构2021/9/17152X2 PROM的逻辑阵列图连接符号2021/9/1716用PROM实现半加器0 00 10 11 0这些存储单元的值?半加器逻辑表达式2021/9/1717(PROM)PLD的问题?n只能用于组合逻辑n输入变量的增加,存储容量按2的幂次增加n不适合很多输入变量的组合逻辑电路实现n原因?与阵列与阵列 不可编程;不可编程;或阵列或阵列 可编程。可编程。n解决办法?PLA2021/9/1718PLA的结构与或阵列均可编程与或阵列均可编程2021/9/1719PLA与PROM的比较PLAPROM地址地址0000010100111001011101112021/9/1720PLA的问题n需要简化的逻辑函数表达式。n多输入输出时,简化算法复杂。n运行速度下降。n已经淘汰,现主要用于全定制ASIC芯片中n新的替代PLD器件是?2021/9/1721PAL的结构等价表达与阵列与阵列可编程可编程或阵列或阵列固定固定2021/9/1722PAL 16V8的结构2021/9/1723PAL器件的方框图2021/9/1724PAL器件的特点1.与阵列可编程,或阵列不可编程2.具有时钟输入,触发器电路,可用于时序电路设计3.不同应用需要不同PAL器件,器件种类较多4.采用熔丝工艺,一次编程。n已经被 GAL 器件所取代2021/9/1725GAL的原理n和PAL基本一样,差别是:1.输出端增加了通用结构输出逻辑宏单元(OLMC)2.改变输出方式,通过软件对其编程即可实现,而PAL必须进行硬件的改变。3.使用过程中,一种GAL器件可以替代相同管脚数的所有PAL器件。4.存储单元采用E2CMOS技术,可重复擦写。2021/9/17262.2.5 GAL 图图3-18 GAL16V8的的结构图结构图 2021/9/1727逻辑宏单元输入/输出口输入口时钟信号输入三态控制可编程与阵列固定或阵列GAL16V82021/9/1728OLMC结构之1,2(GAL)寄存器输出结构寄存器输出结构寄存器双向输出结构寄存器双向输出结构2021/9/1729OLMC结构之3,4(GAL)组合输出双向结构组合输出双向结构复合型组合输出结构复合型组合输出结构2021/9/1730OLMC结构之5,6(GAL)反馈输入结构反馈输入结构输出反馈结构输出反馈结构2021/9/1731OLMC结构之7(GAL)简单模式输出简单模式输出2021/9/1732GAL器件的问题?1.规模太小2.寄存器资源太少,不能构成复杂时序电路。3.I/O不够灵活,限制了片内资源的利用率。4.需要专用编程工具n解决:CPLD的出现2021/9/1733CPLD的原理n产品nAltera的MAX7000,MAX3000系列(EEPROM工艺)nXilinx的XC9500系列(Flash工艺)nLattice,Cypress的大部分产品(EEPROM工艺)n下面以Altera公司的MAX7000系列介绍之。2021/9/17343.3 CPLD3.3 CPLD的结构与工作原理的结构与工作原理 图图3-27 MAX7128S的结构的结构 1逻辑阵列块逻辑阵列块(LAB)2021/9/17352021/9/1736基于乘积项的PLDnPLD的组成:n宏单元(Marocell)n可编程连线(PIA)nI/O控制块n宏单元n宏单元是PLD的基本结构,由它来实现基本的逻辑功能,下图下图是宏单元(Marocell),的结构2021/9/1737MAX7000的宏单元结构2021/9/1738宏单元的构成说明(一)n由三部分组成1.乘积项阵列基本乘积项,共享扩展乘积项,并联扩展乘积项,2.乘积项选择矩阵3.可编程D触发器u各部分的具体作用是:?2021/9/1739宏单元的构成说明(二)1.乘积项阵列(图左)n实际就是一个与或阵列,每一个交叉点都是一个可编程熔丝,如果导通就是实现“与”逻辑。2.乘积项选择矩阵(图中间)n是一个“或”阵列。两者一起完成组合逻辑。3.可编程D触发器(图右侧)nD触发器的时钟,清零输入都可以编程选择,可以使用专用的全局清零和全局时钟,也可以使用内部逻辑(乘积项阵列)产生的时钟和清零。如果不需要触发器,也可以将此触发器旁路,信号直接输给PIA或输出到I/O脚。2021/9/17403.3 CPLD3.3 CPLD的结构与工作原理的结构与工作原理 3 3扩展乘积项扩展乘积项 图图3-28 共享扩展乘积项结构共享扩展乘积项结构 2021/9/17413 3扩展乘积项扩展乘积项 图图3-29 并联扩展项馈送方式并联扩展项馈送方式 并联扩展项并联扩展项 不同宏单元信号的级联级联实现复杂逻辑实现复杂逻辑2021/9/17423.3 CPLD3.3 CPLD的结构与工作原理的结构与工作原理 4 4可编程连线阵列可编程连线阵列(PIA)(PIA)图图2-30 PIA信号布线到信号布线到LAB的方式的方式 2021/9/17435 5I/OI/O控制块控制块 图图3-31 EPM7128S器件器件的的I/O控制块控制块 问题:软件如何进行编程?2021/9/1744PLD器件I/O的使用提示1.可配置为:1.单向输入、单向输出、双向、三态等端口2.PLD器件内部信号不能实现“高阻态”3.与其他器件连接时应注意电平匹配4.高阻输出时,不能连接过高的电平逻辑n请看下图的接法LED是否能控制?2021/9/1745I/O的高阻输出IO56=Z LED 不亮不亮 IO56=0 LED 亮亮是吗?是吗?2021/9/1746FPGA原理:查找表n采用查找表结构的PLD称为FPGAn如altera的ACEX,APEX系列,xilinx的Spartan,Virtex系列等。n查找表(Look-Up-Table)简称为LUT,LUT本质上就是一个RAM。nFPGA中 用 4输入的LUTn每一个LUT 相当于 一个有4位地址线的16x1的RAM。n一个N输入LUT可以实现N个输入变量的任何逻辑功能,如 N输入“与”、N输入“异或”等。n查找表实例3.4 FPGA3.4 FPGA的结构与工作原理的结构与工作原理 2021/9/17474输入查表表的例子查找表的工作过程说明2021/9/1748LUT的工作过程n用户通过原理图或HDL语言描述了一个逻辑电路nPLD/FPGA开发软件计算逻辑电路的所有可能的结果(代码),并把结果事先写入RAMn输入一个信号进行逻辑运算就等于输入一个地址进行查表,找出地址对应的内容,然后输出即可。2021/9/1749实际的LUT结构2021/9/17503.4.2 Cyclone3.4.2 Cyclone系列器件的结构与原理系列器件的结构与原理 图图2-38 LAB阵列阵列 2021/9/1751连续布线(Altera 基于查找表(LUT)的 FPGA)LABLE2021/9/17523.4.2 Cyclone3.4.2 Cyclone系列器件的结构与原理系列器件的结构与原理 图图3-34 Cyclone LE结构图结构图 2021/9/17533.4.2 Cyclone3.4.2 Cyclone系列器件的结构与原理系列器件的结构与原理 图图3-35 Cyclone LE普通模式普通模式 2021/9/17543.4.2 Cyclone3.4.2 Cyclone系列器件的结构与原理系列器件的结构与原理 图图3-36 Cyclone LE动态算术模式动态算术模式 2021/9/17553.4.2 Cyclone3.4.2 Cyclone系列器件的结构与原理系列器件的结构与原理 图图3-40 快速进位选择链快速进位选择链 2021/9/17563.4.2 Cyclone3.4.2 Cyclone系列器件的结构与原理系列器件的结构与原理 图图3-37 Cyclone LAB结构结构 2021/9/17573.4 FPGA3.4 FPGA的结构与工作原理的结构与工作原理 图图3-41 LUT链和寄存器链的使用链和寄存器链的使用 3.4.2 Cyclone3.4.2 Cyclone系列器件的结构与原理系列器件的结构与原理 2021/9/17583.4.2 Cyclone3.4.2 Cyclone系列器件的结构与原理系列器件的结构与原理 图图3-39 LAB控制信号生成控制信号生成 2021/9/1759嵌入式阵列块嵌入式阵列块EAB是在输入、输出口上带有寄存器的是在输入、输出口上带有寄存器的RAM块,块,是由一系列的嵌入式是由一系列的嵌入式RAM单元构成。单元构成。用用EAB构成不构成不同结构的同结构的RAM和和ROM 输出时钟DRAM/ROM256x8512x41024x22048x1DDD写脉冲电路输出宽度8,4,2,1 数 据 宽 度8,4,2,1地址宽度 8,9,10,11 写使能输入时钟2021/9/1760EAB的作用n用作ROM,RAM,FIFO等各种类型存储器n实现计数器,地址译码器,硬件乘法器等n多个EAB可组合,以满足更大规模的应用2021/9/17613.4 FPGA3.4 FPGA的结构与工作原理的结构与工作原理 图图3-42 LVDS连接连接 3.4.2 Cyclone3.4.2 Cyclone系列器件的结构与原理系列器件的结构与原理 2021/9/1762FPGA和CPLD的比较1.逻辑单元FPGA:单元小,每个单元输入变量只有几个,逻辑功能弱,触发器相对多。实现较复杂的功能需要几个单元互联组合才能完成。互联关系复杂,适合于数据型系统,所需触发器多,但逻辑相对简单。CPLD:大单元,变量2028个,单元功能强大,能完成复杂函数,因而互联关系简单,延时=本身延时+集总总线。触发器资源少。2.互连资源CPLD:PIA联线,任一输入、输出之间的延时相等,可预测FPGA:互联方式多,实现同一个功能可能有不同方案,延时不等,延时不可预测,因此在用FPGA设计ASIC时除要设计功能,还要进行延时设计。3.编程工艺CPLD:EEPROM EPROM FLASH 工艺,功耗大,保密性好FPGA:SRAM工艺,需要配置芯片,功耗低,保密性差,但可在工作时更换其内容,实现不同的逻辑。2021/9/1763补充内容:FPGA和CPLD的开发应用选择 由于各PLD公司的FPGA/CPLD产品在价格、性能、逻辑规模和封装(还包括对应的EDA软件性能)等方面各有千秋,不同的开发项目,必须作出最佳的选择。在应用开发中一般应考虑以下几个问题。2021/9/17641器件的逻辑资源量的选择 开发一个项目,首先要考虑的是所选的器件的逻辑资源量是否满足本系统的要求。2芯片速度的选择 随着可编程逻辑器件集成技术的不断提高,FPGA和CPLD的工作速度也不断提高,pin to pin延时已达ns级,在一般使用中,器件的工作频率已足够了。2021/9/1765 3器件功耗的选择 由于在线编程的需要,CPLD的工作电压多为5 V,而FPGA的工作电压的流行趋势是越来越低,3.3 V和2.5 V的低工作电压的FPGA的使用已十分普遍。2021/9/1766 4FPGA/CPLD的选择 FPGA/GPLD的选择主要看开发项目本身的需要,对于普通规模且产量不是很大的产品项目,通常使用CPLD比较好。这是因为:(1)在中小规模范围,CPLD价格较便宜,能直接用于系统。(2)开发CPLD的EDA软件比较容易得到,其中不少PLD公司将有条件地提供免费软件。2021/9/1767(3)CPLD的结构大多为EEPROM或Flash ROM形式,编程后即可固定下载的逻辑功能,使用方便,电路简单。(4)目前最常用的CPLD多为在系统可编程的硬件器件,编程方式极为便捷。(5)CPLD中有专门的布线区和许多块,无论实现什么样的逻辑功能,或采用怎样的布线方式,引脚至引脚间的信号延时几乎是固定的,与逻辑设计无关。2021/9/1768nFPGA的使用途径主要有以下4个方面:(1)直接使用。即如CPLD那样直接用于产品的电路系统板上。(2)间接使用。其方法是首先利用FPGA完成系统整机的设计,包括最后的电路板的定型,然后将充分检证的成功的设计软件,如VHDL程序,交付原供产商进行相同封装形式的掩模设计。2021/9/1769(3)硬件仿真。由于FPGA是SRAM结构,且能提供庞大的逻辑资源,因而适用于作各种逻辑设计的仿真器件。从这个意义上讲,FPGA本身即为开发系统的一部分。(4)专用集成电路ASIC设计仿真。2021/9/17702.5 2.5 硬件测试技术硬件测试技术 图图2-43 边界扫描电路结构边界扫描电路结构 2.5.1 2.5.1 内部逻辑测试内部逻辑测试 2.5.2 JTAG2.5.2 JTAG边界扫描测试边界扫描测试 2021/9/17712.5.2 JTAG2.5.2 JTAG边界扫描测试边界扫描测试 引引 脚脚描描 述述功功 能能TDI测试数据输入测试数据输入(Test Data Input)测测试试指指令令和和编编程程数数据据的的串串行行输输入入引引脚脚。数数据据在在TCK的的上升沿移入。上升沿移入。TDO测试数据输出测试数据输出(Test Data Output)测测试试指指令令和和编编程程数数据据的的串串行行输输出出引引脚脚,数数据据在在TCK的的下下降降沿沿移移出出。如如果果数数据据没没有有被被移移出出时时,该该引引脚脚处处于于高高阻态。阻态。TMS测试模式选择测试模式选择(Test Mode Select)控控制制信信号号输输入入引引脚脚,负负责责TAP控控制制器器的的转转换换。TMS必必须在须在TCK的上升沿到来之前稳定。的上升沿到来之前稳定。TCK测试时钟输入测试时钟输入(Test Clock Input)时时钟钟输输入入到到BST电电路路,一一些些操操作作发发生生在在上上升升沿沿,而而另另一些发生在下降沿。一些发生在下降沿。TRST测试复位输入测试复位输入(Test Reset Input)低低电电平平有有效效,异异步步复复位位边边界界扫扫描描电电路路(在在IEEE规规范范中中,该引脚可选该引脚可选)。表表2-1 边界扫描边界扫描IO引脚功能引脚功能 2021/9/1772图图2-44 边界扫描数据移位方式边界扫描数据移位方式 2.5.2 JTAG2.5.2 JTAG边界扫描测试边界扫描测试 2021/9/1773图图2-45 JTAG BST系系统内部结构统内部结构 2.5.2 JTAG2.5.2 JTAG边界扫描测试边界扫描测试 2021/9/1774图图2-46 JTAG BST系统与与系统与与FLEX器件关联结构图器件关联结构图 2021/9/17752.5 2.5 硬件测试技术硬件测试技术 图图2-47 JTAG BST选择命令模式时序选择命令模式时序 2.5.2 JTAG2.5.2 JTAG边界扫描测试边界扫描测试 2021/9/17762.5 2.5 硬件测试技术硬件测试技术 2.5.2 JTAG2.5.2 JTAG边界扫描测试边界扫描测试 TAP控制器的命令模式有:控制器的命令模式有:SAMPLEPRELOAD指令模式指令模式 EXTEST指令模式指令模式 BYPASS指令模式指令模式 IDCODE指令模式指令模式 USERCODE指令模式指令模式 2.5.3 2.5.3 嵌入式逻辑分析仪嵌入式逻辑分析仪 2021/9/17772.6 FPGA/CPLD2.6 FPGA/CPLD产品概述产品概述 2.6.1 Lattice2.6.1 Lattice公司公司CPLDCPLD器件系列器件系列 1.ispLSI器件系列器件系列(1)ispLSI1000E系列。系列。(2)ispLSI2000E/2000VL/200VE系列。系列。(3)ispLSI5000V系列。系列。(4)ispLSI 8000/8000V系列。系列。2021/9/17782.6 FPGA/CPLD2.6 FPGA/CPLD产品概述产品概述 2.6.1 Lattice2.6.1 Lattice公司公司CPLDCPLD器件系列器件系列 2.ispLSI器件的结构与特点器件的结构与特点(1)采用)采用UltraMOS工艺。工艺。(2)系统可编程功能,所有的)系统可编程功能,所有的ispLSI器件均支持器件均支持 ISP功能。功能。(3)边界扫描测试功能。)边界扫描测试功能。(4)加密功能。)加密功能。(5)短路保护功能。)短路保护功能。2021/9/17792.6 FPGA/CPLD2.6 FPGA/CPLD产品概述产品概述 2.6.1 Lattice2.6.1 Lattice公司公司CPLDCPLD器件系列器件系列 3.ispMACH4000系列系列 4.Lattice EC&ECP系列系列 ispMACH4000系列系列CPLD器件有器件有3.3V、2.5V 和和 1.8V 三种供电电压,分别属于三种供电电压,分别属于 ispMACH 4000V、ispMACH 4000B 和和 ispMACH 4000C 器件系列。器件系列。2021/9/17802.6 FPGA/CPLD2.6 FPGA/CPLD产品概述产品概述 2.6.2 Xilinx2.6.2 Xilinx公司的公司的FPGAFPGA和和CPLDCPLD器件系列器件系列 1.Virtex-4系列系列FPGA 2.Spartan&Spartan-3&Spartan 3E器件系列器件系列 3.XC9500&XC9500XL系列系列CPLD 4.Xilinx FPGA配置器件配置器件SPROM 5.Xilinx的的IP核核 2021/9/17812.6 FPGA/CPLD2.6 FPGA/CPLD产品概述产品概述 2.6.3 Altera2.6.3 Altera公司公司FPGAFPGA和和CPLDCPLD器件系列器件系列 1.Stratix II 系列系列FPGA 2.Stratix系列系列FPGA 3.ACEX系列系列FPGA 4.FLEX系列系列FPGA 5.MAX系列系列CPLD 6.Cyclone系列系列FPGA低成本低成本FPGA 7.Cyclone II系列系列FPGA 8.MAX II系列器件系列器件 9.Altera宏功能块及宏功能块及IP核核 2021/9/17822.6 FPGA/CPLD2.6 FPGA/CPLD产品概述产品概述 2.6.4 Actel2.6.4 Actel公司的公司的FPGAFPGA器件器件 2.6.5 Altera2.6.5 Altera公司的公司的FPGAFPGA配置方式与配置器件配置方式与配置器件 器器 件件功能描述功能描述封装形式封装形式EPC216956801位,位,3.3/5V供电供电20脚脚PLCC、32 脚脚 TQFPEPC110464961位,位,3.3/5V供电供电8脚脚PDIP、20脚脚PLCCEPC1441440 8001位,位,3.3/5V供电供电8脚脚PDIP、20脚脚PLCC表表2-2 Altera FPGA常用配置器件常用配置器件 2021/9/17832.7 2.7 编程与配置编程与配置 表表2-3 图图2-48接口各引脚信号名称接口各引脚信号名称 基于电可擦除存储单元的基于电可擦除存储单元的EEPROM或或Flash技术。技术。基于基于SRAM查找表的编程单元。查找表的编程单元。基于反熔丝编程单元。基于反熔丝编程单元。引脚引脚12345678910PS模式模式DCKGNDCONF_DONEVCCnCONFIG-nSTATUS-DATA0GNDJATG模式模式TCKGNDTDOVCCTMS-TDIGND2021/9/17842.7 2.7 编程与配置编程与配置 2.7.1 JTAG2.7.1 JTAG方式的在系统编程方式的在系统编程 图图2-48 CPLD编程下载连接图编程下载连接图 2021/9/17852.7 2.7 编程与配置编程与配置 2.7.1 JTAG2.7.1 JTAG方式的在系统编程方式的在系统编程 图图2-49 多多CPLD芯片芯片ISP编程连接方式编程连接方式 2021/9/17862.7 2.7 编程与配置编程与配置 2.7.2 2.7.2 使用使用PCPC并行口配置并行口配置FPGAFPGA 图图2-50 PS模式,模式,FLEX10K配置时序配置时序 2021/9/17872.7.2 2.7.2 使用使用PCPC并行口配置并行口配置FPGAFPGA 图图2-51 多多FPGA芯片配置电路芯片配置电路 2021/9/17882.7 2.7 编程与配置编程与配置 2.7.3 FPGA2.7.3 FPGA专用配置器件专用配置器件 图图2-52 FPGA使用使用EPC配置器件的配置时序配置器件的配置时序 2021/9/17892.7 2.7 编程与配置编程与配置 2.7.3 FPGA2.7.3 FPGA专用配置器件专用配置器件 图图2-53 FPGA的配置电路原理图的配置电路原理图(注,此图来自(注,此图来自Altera资料,中间一上拉线应串资料,中间一上拉线应串1K电阻)电阻)2021/9/17902.7 2.7 编程与配置编程与配置 2.7.3 FPGA2.7.3 FPGA专用配置器件专用配置器件 图图2-54 EPCS器件配置器件配置FPGA的电路原理图的电路原理图 2021/9/17912.7 2.7 编程与配置编程与配置 2.7.4 2.7.4 使用单片机配置使用单片机配置FPGA FPGA 图图2-55 用用89C52进行配置进行配置 2021/9/17922.7 2.7 编程与配置编程与配置 2.7.5 2.7.5 使用使用CPLDCPLD配置配置FPGA FPGA 使用单片机配置的缺点:使用单片机配置的缺点:1、速度慢,不适用于大规模、速度慢,不适用于大规模FPGA和高可靠应用;和高可靠应用;2、容量小,单片机引脚少,不适合接大的、容量小,单片机引脚少,不适合接大的ROM以存以存 储较大的配置文件;储较大的配置文件;3、体积大,成本和功耗都不利于相关的设计。、体积大,成本和功耗都不利于相关的设计。2021/9/1793习习 题题 2-12-1 OLMC OLMC有何功能?有何功能?说说明明GALGAL是是怎怎样实现样实现可可编编程程组组合合电电路路与与时时序序电电 路的。路的。2-22-2 什什么么是基于乘是基于乘积项积项的可的可编编程程逻辑结逻辑结构构?2-32-3 什什么么是基于是基于查查找表的可找表的可编编程程逻辑结逻辑结构构?2-42-4 FLEX10K FLEX10K系列器件中的系列器件中的EABEAB有何作用?有何作用?2-52-5 与与传统传统的的测试测试技技术术相比,相比,边边界界扫扫描技描技术术有何有何优优点?点?2-62-6 解解释编释编程程与与配置配置这这两个概两个概念。念。2-72-7 请请参参阅阅相相关关资资料,料,并并回答回答问题问题:如本章:如本章给给出的出的归类归类方式,方式,将将基于基于乘乘 积项积项的可的可编编程程逻辑结逻辑结构构的的PLDPLD器件器件归类为归类为CPLDCPLD;将将基于基于查查找表的找表的可可编编程程逻辑结逻辑结构构的的PLDPLD器件器件归类为归类为FPGAFPGA,那,那么么,APEXAPEX系列系列属属于什于什么么类类型型PLDPLD器件?器件?MAX IIMAX II系列又系列又属属于什于什么么类类型的型的PLDPLD器件?器件?为为什什么么?2021/9/1794实实 验验 与与 设设 计计 单片机或单片机或CPLD及及EPROM配置配置FPGA电路设计电路设计 根根据据图图2-50和和图图2-55设设计计一一个个可可对对EPF1K30配配置置的的电电路路,其其中中的的配配置置文文件件存存储储器器可可以以用用EPROM(如如27C040)担担任任,配配置置控控制制器器用用EPM7128S或或89C51来来担担任任,要要求求EPROM能能放放置置2个个配配置置文文件件,由由CPLD或或单单片片机机通通过过控控制制EPROM地地址址线线的的方方式式,根根据据接接受受命命令令的的方方式式对对FPGA配配置置不不同同的的配配置文件。置文件。2021/9/17953.5 硬件测试技术1.何为JTAG?2.何为嵌入式逻辑分析仪?2021/9/1796JTAG:起源1.随着IC技术的发展,PCB越来越复杂,尤其是SMD器件(surfacemount packaging device)的大量使用,PCB面积越越小。2.传统测试方法 难以使用1.external test probes(外部测试探针)2.“bed-of-nails”test fixtures(针床测试设备)n1980年,JTAG(the Joint Test Action Group)组织提出了一种新的测试方案2021/9/1797JTAG:结构n定义了一种 boundary-scan testing 方法,在IC芯片中增加实现这种测试的电路。n该方法后来成为IEEE1149.1标准n图示:2021/9/1798JTAG接口的信号定义2021/9/1799JTAG:功能n有3个功能:1.内部测试内部测试一IC内部的逻辑测试2.外部测试外部测试一IC间相互连接的测试(PCB线路测试)3.取样测试取样测试一IC正常运行时的数据取样测试n现在,JTAG电路和接口被广泛用于芯片的代码下载代码下载,请看电路图2021/9/17100FLEX 10K等器件的JTAG电路2021/9/17101JTAG:更多内容参见文献:1.IEEE 1149.1(JTAG)Boundary-ScanTesting in Altera Devices September 2000,ver.4.05 Application Note 392.相关器件的相关器件的datasheet2021/9/17102嵌入式逻辑分析仪n利用FPGA中的嵌入式RAM模块和少量的逻辑资源,可以在FPGA中实现一个简单的嵌入式逻辑分析仪,将内部逻辑单元的信号状态通过JTAG口读出,帮助设计者调试nAltera 的SingalTap II2021/9/171033.7 PLD器件的配置与编程n何谓配置和编程?n将VHDL代码形成的文件写入PLD器件的过程n配置(configure)和编程(program)的区别nProgram:对flash或者EEPROM工艺的配置芯片或者PLD器件进行写入的过程nConfigure:对SDRAM工艺的FPGA写入数据必须每次上电后均要进行一次,编程文件保存在配置芯片中,上电时从编程芯片下载到FPGA中2021/9/17104Altera的CPLD和FPGA的配置编程过程nCPLD器件可独立使用,无需其他编程芯片,直接通过JTAG接口或其他接口进行编程(ISP技术)nFPGA器件不能独立使用(调试时可以),需要和配置芯片一起使用,在生产时,代码写入配置芯片中,应用时,加电后代码自动从配置芯片写入FPGA中n(ICR-in_circuit Reconfigurablility)2021/9/17105PLD器件的2种配置方法2.通过专用编程器配置1.通过PC机配置2021/9/17106通过专用编程器配置2021/9/17107MAX7128的配置电路nMAX 7000S devices are in-system programmable via an industry-standard 4-pin Joint Test Action Group(JTAG)interface(IEEE Std.1149.1-1990).nThe ISP circuitry in MAX 7000S devices is compatible with IEEE Std.1532 specification.The IEEE Std.1532 is a standard developed to allow concurrent ISP between multiple PLD vendors.n电路图2021/9/17108MAX7128的配置电路图2021/9/17109多片MAX7128的配置电路图2021/9/17110Altera公司的FPGA的配置共有7种模式:1.Passive Serial(PS)2.Active Serial(AS)3.Passive Parallel Synchronous(PPS)4.Fast Passive Parallel(FPP)5.Passive Parallel Asynchronous(PPA)6.Passive Serial Asynchronous(PSA)7.Joint Test Action Group(JTAG)JTAG模式可通过FGPA的MSEL0,MSEL1引脚选择被动被动/主动主动串行串行/并行并行异步异步/同步同步?2021/9/17111有关配置的术语n被动被动/主动主动 是指是指FPGA的配置过程是的配置过程是FPGA发起发起 还是配置器件(主还是配置器件(主机机host)发起,如是)发起,如是FPGA器件发起配置,则为主动,器件发起配置,则为主动,否则为被动否则为被动n串行串行/并行并行配置数据通过一根数据线传送道到配置数据通过一根数据线传送道到FPGA中为串行,并中为串行,并行配置一般有行配置一般有8根数据线,速度更快根数据线,速度更快n异步异步/同步同步异步配置,没有时钟信号线,同步配置有时钟信号线异步配置,没有时钟信号线,同步配置有时钟信号线2021/9/17112Passive Serial(PS)被动串行可通过一下2种方式配置:1.the enhanced configuration devices EPC16,EPC8,and EPC4),EPC2,EPC1,EPC1441 2.serial synchronous microprocessor interface:I.he USB Blaster USB Port Download Cable,II.MasterBlasteTMr communications cable,III.ByteBlasterTM II parallel download cableIV.ByteBlasterMVTM parallel port download cable.2021/9/171133.7 3.7 编程与配置编程与配置 使用使用PCPC并行口对并行口对FPGAFPGA配置进行配置进行ICRICR在系统重配置在系统重配置图图3-50 PS模式,模式,FLEX10K配置时序配置时序 2021/9/17114Active Serial(AS)主动串行1.Configuration with the serial configuration devices(EPCS1 and EPCS4).2.用于Cyclone系列器件的配置3.必须使用ByteBlaster II电缆2021/9/17115Passive Parallel Synchronous(PPS)被动并行同步1.Configuration with a parallel synchronous microprocessor interface.用于 微处理器对 FPGA进行配置,配置为并行传输,同步2021/9/17116Fast Passive Parallel(FPP)快速被动并行Configuration with an enhanced configuration device or parallel synchronous microprocessor interface where 8 bits of configuration data are loaded on every clock cycle.Eight times faster than PPS.比PPS模式快8倍的配置模式,其他同PPS2021/9/17117Passive Parallel Asynchronous(PPA)被动并行异步Configuration with a parallel asynchronous microprocessor interface.In this scheme,the microprocessor treats the target device as memory