EDA第2章PLD硬件特性与编程技术.ppt
《EDA第2章PLD硬件特性与编程技术.ppt》由会员分享,可在线阅读,更多相关《EDA第2章PLD硬件特性与编程技术.ppt(131页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、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器器件件内嵌复杂内嵌复杂
2、功能模块功能模块的的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 P
3、LD)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
4、 电路符号表示电路符号表示 图图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
5、.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/17152
6、X2 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需要简化的逻辑函
7、数表达式。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.输出端增加了通用结构输出
8、逻辑宏单元(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)组合输出双向结构组合输出双向结构
9、复合型组合输出结构复合型组合输出结构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的大部分产品(EE
10、PROM工艺)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.乘积项阵列基
11、本乘积项,共享扩展乘积项,并联扩展乘积项,2.乘积项选择矩阵3.可编程D触发器u各部分的具体作用是:?2021/9/1739宏单元的构成说明(二)1.乘积项阵列(图左)n实际就是一个与或阵列,每一个交叉点都是一个可编程熔丝,如果导通就是实现“与”逻辑。2.乘积项选择矩阵(图中间)n是一个“或”阵列。两者一起完成组合逻辑。3.可编程D触发器(图右侧)nD触发器的时钟,清零输入都可以编程选择,可以使用专用的全局清零和全局时钟,也可以使用内部逻辑(乘积项阵列)产生的时钟和清零。如果不需要触发器,也可以将此触发器旁路,信号直接输给PIA或输出到I/O脚。2021/9/17403.3 CPLD3.3 C
12、PLD的结构与工作原理的结构与工作原理 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控制
13、块控制块 问题:软件如何进行编程?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)简
14、称为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输入一个信号进行逻辑运算就等于输入一个地址进行查表,找出地址对应的内
15、容,然后输出即可。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
16、 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的结构与工作原理的结构与
17、工作原理 图图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/ROM256x
18、8512x41024x22048x1DDD写脉冲电路输出宽度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:单元小,每个
19、单元输入变量只有几个,逻辑功能弱,触发器相对多。实现较复杂的功能需要几个单元互联组合才能完成。互联关系复杂,适合于数据型系统,所需触发器多,但逻辑相对简单。CPLD:大单元,变量2028个,单元功能强大,能完成复杂函数,因而互联关系简单,延时=本身延时+集总总线。触发器资源少。2.互连资源CPLD:PIA联线,任一输入、输出之间的延时相等,可预测FPGA:互联方式多,实现同一个功能可能有不同方案,延时不等,延时不可预测,因此在用FPGA设计ASIC时除要设计功能,还要进行延时设计。3.编程工艺CPLD:EEPROM EPROM FLASH 工艺,功耗大,保密性好FPGA:SRAM工艺,需要配置
20、芯片,功耗低,保密性差,但可在工作时更换其内容,实现不同的逻辑。2021/9/1763补充内容:FPGA和CPLD的开发应用选择 由于各PLD公司的FPGA/CPLD产品在价格、性能、逻辑规模和封装(还包括对应的EDA软件性能)等方面各有千秋,不同的开发项目,必须作出最佳的选择。在应用开发中一般应考虑以下几个问题。2021/9/17641器件的逻辑资源量的选择 开发一个项目,首先要考虑的是所选的器件的逻辑资源量是否满足本系统的要求。2芯片速度的选择 随着可编程逻辑器件集成技术的不断提高,FPGA和CPLD的工作速度也不断提高,pin to pin延时已达ns级,在一般使用中,器件的工作频率已足
21、够了。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
22、形式,编程后即可固定下载的逻辑功能,使用方便,电路简单。(4)目前最常用的CPLD多为在系统可编程的硬件器件,编程方式极为便捷。(5)CPLD中有专门的布线区和许多块,无论实现什么样的逻辑功能,或采用怎样的布线方式,引脚至引脚间的信号延时几乎是固定的,与逻辑设计无关。2021/9/1768nFPGA的使用途径主要有以下4个方面:(1)直接使用。即如CPLD那样直接用于产品的电路系统板上。(2)间接使用。其方法是首先利用FPGA完成系统整机的设计,包括最后的电路板的定型,然后将充分检证的成功的设计软件,如VHDL程序,交付原供产商进行相同封装形式的掩模设计。2021/9/1769(3)硬件仿真。
23、由于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)测测试试指指令令
24、和和编编程程数数据据的的串串行行输输入入引引脚脚。数数据据在在TCK的的上升沿移入。上升沿移入。TDO测试数据输出测试数据输出(Test Data Output)测测试试指指令令和和编编程程数数据据的的串串行行输输出出引引脚脚,数数据据在在TCK的的下下降降沿沿移移出出。如如果果数数据据没没有有被被移移出出时时,该该引引脚脚处处于于高高阻态。阻态。TMS测试模式选择测试模式选择(Test Mode Select)控控制制信信号号输输入入引引脚脚,负负责责TAP控控制制器器的的转转换换。TMS必必须在须在TCK的上升沿到来之前稳定。的上升沿到来之前稳定。TCK测试时钟输入测试时钟输入(Test
25、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系系统内部结构统内部结构
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- EDA PLD 硬件 特性 编程 技术
限制150内