《第1章 可编程逻辑器件基础.pdf》由会员分享,可在线阅读,更多相关《第1章 可编程逻辑器件基础.pdf(103页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、All rights reserved 大规模可编程器件技术 李振荣 2 教师自我简介教师自我简介 主讲教师:李振荣主讲教师:李振荣 办公地点:北校区东大楼办公地点:北校区东大楼211 答疑邮箱:答疑邮箱: 3 教学安排教学安排 总学时:总学时:36学时(授课学时(授课32学时,实验练习学时,实验练习4学时)学时)学分:学分:2学分学分 期末总评:开卷操作考试期末总评:开卷操作考试 +平时成绩平时成绩 +考勤考勤 4 本课程的重要性本课程的重要性 应用广泛:应用广泛:通信、计算机、消费电子、仪器等;通信、计算机、消费电子、仪器等;满足数字电子技术和市场应用不断扩展的实际需求;满足数字电子技术和
2、市场应用不断扩展的实际需求;电子信息类重要考查内容:考试、电子信息类重要考查内容:考试、电子竞赛电子竞赛、求职等;、求职等;电子信息类专业研究生阶段的一种重要的工程实践技能;电子信息类专业研究生阶段的一种重要的工程实践技能;电子信息类公司进行数字系统设计必备的工作岗位。电子信息类公司进行数字系统设计必备的工作岗位。5 课程特点课程特点 可编程逻辑器件用途可编程逻辑器件用途 试验样机 小批量产品 IC验证 可编程逻辑器件应用特点可编程逻辑器件应用特点 实践!专业优势 周期短、低成本 课程作用课程作用 掌握技能 理论=工程 6 学习方法提示学习方法提示 复习复习 数电基本概念和分析设计方法数电基本
3、概念和分析设计方法 结合结合 课堂听讲与课后实验课堂听讲与课后实验 扩展扩展 课程所学与实际应用课程所学与实际应用 考核考核 数字系统设计与可编程逻辑器件应用数字系统设计与可编程逻辑器件应用 7 课程结构课程结构 可编程逻辑器件基础可编程逻辑器件基础 可编程逻辑器件发展概述、分类、结构、产品系列 可编程逻辑器件设计方法可编程逻辑器件设计方法 可编程逻辑器件设计流程、开发工具、时序分析及约束、器件编程与配置、设计中的常见问题 数字系统设计数字系统设计 硬件描述语言、逻辑器件资源特点、组合/时序逻辑设计、状态机设计、输入/输出接口设计、测试向量编写等 可编程逻辑器件应用可编程逻辑器件应用 地址译码
4、器、快速加法器等 可编程逻辑器件实验可编程逻辑器件实验 8 课程的扩展课程的扩展 硬件描述语言硬件描述语言(Hardware Description Language)Verilog HDL VHDL CPLD/FPGA开发套件开发套件 开发板:Xilinx、Altera等 开发环境:ISE、Quartus II等 SOPC(System On a Programmable Chip)EDA(Electronics Design Automatically)工具)工具 Modelsim、NC-Verilog Synplify、Design Compiler 9 参考教材参考教材 基于基于FPG
5、A的数字系统设计的数字系统设计 FPGA/CPLD设计教程(设计教程(Xilinx、Altera)数字电路与逻辑设计数字电路与逻辑设计 Verilog硬件描述语言硬件描述语言 CPLD/FPGA开发软件使用教程(开发软件使用教程(ISE、Quartus II)EDA工具使用教程(工具使用教程(Modelsim、Synplify)All rights reserved 第一章第一章 可编程逻辑器件基础可编程逻辑器件基础 大规模可编程器件技术大规模可编程器件技术 李振荣 11 可编程逻辑器件基础可编程逻辑器件基础 可编程逻辑器件发展历程 1 可编程逻辑器件的分类 2 简单可编程逻辑器件结构与原理
6、3 可编程逻辑器件产品概述 5 复杂可编程逻辑器件结构与原理 4 12 可编程逻辑器件基础可编程逻辑器件基础 可编程逻辑器件发展历程可编程逻辑器件发展历程 1 可编程逻辑器件的分类 2 简单可编程逻辑器件结构与原理 3 可编程逻辑器件产品概述 5 复杂可编程逻辑器件结构与原理 4 13 可编程逻辑器件可编程逻辑器件 定义定义 可编程逻辑器件(PLD,Programmable Logic Device)是70年代后在ASIC设计的基础上发展起来的一种通用型半定制电路,用户可以利用软件开发工具将硬件描述语言描述的电路特性转化成硬件电路,使之实现所需的逻辑功能,极大的方便了数字系统的设计。31010
7、2101010110100101010DA AA ADA AA AA ADA AA ADA AA AA A可编程逻辑器件基本原理 14 PLDPLD的发展历程的发展历程 熔丝编程的 PROM和PLA器件 20世纪70年代 AMD公司推出PAL器件 20世纪70年代末 Lattice公司发明电可擦写GAL器件 20世纪80年代初 Xilinx公司提出现场可编程概念,推出FPGA器件;Altera公司推出EPLD器件 20世纪80年代中期 Lattice公司提出在系统可编程技术,推出CPLD器件 20世纪80年代末 内嵌复杂功能模块的SOPC 20世纪90年代以来 FPGA、CPLD、SOPC!高
8、密度、高速、低功耗 熔丝编程的 PROM和PLA器件 20世纪70年代 15 集成度集成度 1970 1980 1990 2000 2010 年年 PAL PLA GAL HDPLD CPLD FPGA ISP 108 107 106 105 104 103 SOPC PLDPLD的发展历程的发展历程 16 各类各类PLDPLD及相关术语的英文缩写及全称及相关术语的英文缩写及全称 PLDPLD Programmable Logic Device Programmable Logic Device 可编程逻辑器件可编程逻辑器件 PROM PROM Programmable Read Only M
9、emory Programmable Read Only Memory 可编程只读存储器可编程只读存储器 PLAPLA Programmable Logic Array Programmable Logic Array 可编程逻辑阵列可编程逻辑阵列 PALPAL Programmable Array Logic Programmable Array Logic 可编程阵列逻辑可编程阵列逻辑 GALGAL Generic Array Logic Generic Array Logic 通用阵列逻辑通用阵列逻辑 CPLD CPLD Complex Programmable Logic Device
10、 Complex Programmable Logic Device 复杂可编程逻辑器件复杂可编程逻辑器件 FPGAFPGA Field Programmable Gate Array Field Programmable Gate Array 现场可编程门阵列现场可编程门阵列 SOPCSOPC System On a Programmable ChipSystem On a Programmable Chip 可编程片上系统可编程片上系统 ISP ISP In System Programmability In System Programmability 在系统可编程在系统可编程 17 可
11、编程逻辑器件基础可编程逻辑器件基础 可编程逻辑器件发展历程 1 可编程逻辑器件的分类可编程逻辑器件的分类 2 简单可编程逻辑器件结构与原理 3 可编程逻辑器件产品概述 5 复杂可编程逻辑器件结构与原理 4 18 ASIC全定制门阵列(Gate Array)半定制 标准单元(Standard Cell)可编程逻辑器件(PLD,Programmable Logic Device)SSIMSILSIVLSIULSIASICApplication Specific Integrated Circuit通用型集成电路、数字集成电路用软件组态的超大规模集成电路:微处理器、单片机专用集成电路(,)PROMF
12、PLAField Programmable Logic ArrayLDPLDPALProgrammable Array LogicGALGeneric Array LogicEPLDErasable ProgrammaHDPLD现场可编程逻辑阵列(,)低密度可编程逻辑器件()可编程阵列逻辑(,)通用阵列逻辑(,)可编程逻辑器件可擦除可编程逻辑器件(,高密度可编程逻辑器件()ble Logic DeviceCPLDComplex Programmable Logic DeviceFPGAField Programmable Gate Array )复杂可编程逻辑器件(,)现场可编程门阵列(,)P
13、LDPLD的分类的分类 PLDPLD与集成电路与集成电路 19 专用集成电路(ASIC)是专为满足某种特殊需要设计和生产的单片集成器件。一个复杂的数字系统只要几片甚至一片ASIC即可实现,硬件资源利用率高,制成的设备体积小,重量轻,功耗低。由于ASIC是全硬件电路,处理速度快,抗干扰能力强且保密性好。但ASIC的功能设计专用性很强,应用面较窄。ASIC制作方法可分为两类:一类是掩膜法,即向集成电路厂商定制流片,称为全定制;另一类则是现场编程法,即由用户利用PLD自行制作,称为半定制。前者要求系统设计非常成熟,且研究开发初期投资费用巨大,设计周期较长,但产品投产后的成本较低,适用于芯片需求量很大
14、的场合。后者设计、重构方便,开发时间短,初期费用低,一个不太大的系统可能只需数天即可完成,但生产成本略高,适用于产量不大,升级换代迅速的产品。电子产品快速升级换代使专用器件的使用周期不断缩短。半导体产业界为降低制造成本,采用标准化技术生产通用器件,推出超大规模通用可编程逻辑器件,解决市场需求专用化与器件功能标准化的矛盾。PLDPLD的分类的分类 PLDPLD与与ASICASIC 20 PLDPLD的分类的分类 按集成度分类按集成度分类 PLD 简单低密度PLD 复杂高密度PLD PROM PLA PAL CPLD FPGA GAL 21 PLDPLD的分类的分类 按结构分类按结构分类 乘积项结
15、构乘积项结构:基本结构为“与或阵列”,大部分基本结构为“与或阵列”,大部分简单简单PLDPLD和和CPLDCPLD都属于此范畴。都属于此范畴。查找表结构:查找表结构:由简单的查找表组成可编程门,再由简单的查找表组成可编程门,再构成阵列形式,大多数构成阵列形式,大多数FPGAFPGA属于此属于此类器件。类器件。简单简单PLD 复杂复杂PLD FPGA 注:查找表结构是从注:查找表结构是从ROMROM工作原理、地址信号与输出数据间的关系,以及工作原理、地址信号与输出数据间的关系,以及ASICASIC的门阵列法中获得启发,的门阵列法中获得启发,构造出的可编程逻辑结构,它的逻辑函数发生采用构造出的可编
16、程逻辑结构,它的逻辑函数发生采用RAM“RAM“数据”查找的方式,并使用多个查找表构数据”查找的方式,并使用多个查找表构成一个查找表阵列,称为可编程门阵列(成一个查找表阵列,称为可编程门阵列(Programmable Gate ArrayProgrammable Gate Array)22 一次可编程器件(一次可编程器件(改写后不可再恢复改写后不可再恢复)熔丝(Fuse)型:占用芯片面积较大;反熔丝(Anti-fuse)型:(PN结击穿)占用芯片面积小,集成度高。多晶硅多晶硅 扩散扩散 场氧化物场氧化物 介质介质 可编程低阻电路元件可编程低阻电路元件 SiO2 M1 SiO2 M2 金属反熔丝
17、开关金属反熔丝开关 PLDPLD的分类的分类 按编程工艺分类按编程工艺分类 23 多次可编程器件多次可编程器件:可擦除可编程可擦除可编程ROMROMEPROMEPROM P型衬底型衬底 N+N+S G D 浮栅浮栅 紫外线擦除、电可编程紫外线擦除、电可编程!PLDPLD的分类的分类 按编程工艺分类按编程工艺分类 改写:改写:在漏极D端加几十伏高电压,沟道电子雪崩倍增,产生很多高能量电子;此时在栅极加高电压,则高能量电子注入到浮栅中(可长久保持);从而提高了MOS管的阈值电压。正常工作:正常工作:栅压5伏,如浮栅有负电荷,MOS管截止,存储“0”;如浮栅无负电荷,MOS管导通,存储“1”。擦除:
18、擦除:将器件放在紫外线下照射约20分钟,浮栅中的电子获得足够能量,从而穿过氧化层回到衬底之中。浮栅电子消失,存储全“0”信息。存储单元:存储单元:浮栅雪崩注入MOS管(FAMOS)或叠栅注入MOS管(SIMOS)24 多次可编程器件多次可编程器件:电可擦除可编程电可擦除可编程ROMROME E2 2PROMPROM G P型衬底型衬底 N+N+D S 浮栅浮栅 PLDPLD的分类的分类 按编程工艺分类按编程工艺分类 存储单元:存储单元:浮栅隧道氧化层MOS管(Flotox管),FLOTOX的浮栅与漏极间有一块小面积极薄的氧化层,称为隧道区。漏极加几十伏高压时,如果隧道区电场足够强,漏极和浮栅间
19、就会出现导电隧道,可双向导通,形成电流。(隧穿效应)编程:编程:栅极加高的正电压,电子通过隧道贯穿(正向)注入到浮栅之中 正常工作:正常工作:浮栅有负电荷,V1截止,位线读出高电平1;浮栅无负电荷,V1导通,位线读出低电平0。擦除:擦除:栅极加高的负电压,电子通过隧道贯穿(反向)注入到漏区之中 25 可编程逻辑器件基础可编程逻辑器件基础 可编程逻辑器件发展历程 1 可编程逻辑器件的分类 2 简单可编程逻辑器件结构与原理简单可编程逻辑器件结构与原理 3 可编程逻辑器件产品概述 5 复杂可编程逻辑器件结构与原理 4 26 简单简单PLDPLD结构及原理结构及原理 简单简单PLDPLD的基本结构的基
20、本结构 四种简单四种简单PLDPLD电路的结构特点比较电路的结构特点比较 电路符号表示电路符号表示 PROMPROM、PLAPLA、PALPAL、GALGAL阵列结构阵列结构 27 简单简单PLDPLD结构及原理结构及原理 基本结构基本结构 乘积项结构乘积项结构 任何组合逻辑函数都可以化为任何组合逻辑函数都可以化为“与或与或”表达式表达式,因此任何组合电路都,因此任何组合电路都可以用可以用“与门或门与门或门”二级电路实现。二级电路实现。任何时序电路都可由组合电路任何时序电路都可由组合电路加上存储元件(如寄存器)构成加上存储元件(如寄存器)构成。输入电路与阵列或阵列输出电路多路反馈输入项乘积项或
21、项输入输出用于实现 组合逻辑函数 由缓冲器组成,使输入信号具有足够的驱动能力并产生互补输入信号 提供不同的输出和反馈方式,由寄存器、三态门等组成 28 简单简单PLDPLD结构及原理结构及原理 ROMROM与组合逻辑设计与组合逻辑设计 ROM(存储器)(存储器)实现组合逻辑函数实现组合逻辑函数 地 址 数 据 A1 A0 D3 D2 D1 D0 0 0 1 0 0 1 0 1 0 1 1 1 1 0 1 1 1 0 1 1 0 1 0 1 从“存储器”理解从“存储器”理解:ROM中存入的是真值表。310102101010110100101010DA AA ADA AA AA ADA AA AD
22、A AA AA A30221231120013DmmDmmmDmmDmmm从“与从“与-或逻辑网络”理解或逻辑网络”理解:地址译码器是与逻辑网络,存储矩阵是或逻辑网络 29 简单简单PLDPLD结构及原理结构及原理 ROMROM与组合逻辑设计与组合逻辑设计 例:用例:用ROM设计一个四位二进制代码设计一个四位二进制代码转换为格雷码的转换电路。转换为格雷码的转换电路。二进制码 Gray码 B3 B2 B1 B0 G3 G2 G1 G0 0000 0000 0001 0001 0010 0011 0011 0010 0100 0110 0101 0111 0110 0101 0111 0100 1
23、000 1100 1001 1101 1010 1111 1011 1110 1100 1010 1101 1011 1110 1001 1111 1000 思路:最小项由地址译码器(与阵列)得 到,对应的或阵列由存储矩阵得到 30 简单简单PLDPLD结构及原理结构及原理 比较分析比较分析 31 简单简单PLDPLD结构及原理结构及原理 电路符号电路符号 常用逻辑门符号与现有国际符号对照 32 简单简单PLDPLD结构及原理结构及原理 电路符号电路符号 互补缓冲器 互补输入“与阵列”表示“或阵列”表示 阵列线连接表示 33 简单简单PLDPLD结构及原理结构及原理 PROMPROM阵列结构阵
24、列结构 012III012IIII2I1I0 Q0Q1Q2与门阵列(固定)或门阵列(可编程)与阵列全译码,产生输入的全部最小项。输入变量的增加会引起存储容量按2的幂次方增加,不适合实现多变量组合函数。采用大阵列实现简单逻辑产生许多冗余项,浪费面积,且冗余节点的电容增加电路的功耗和延迟。价格低,易于编程适合于存储函数和数据表格,主要用作存储器。34 简单简单PLDPLD结构及原理结构及原理 PROMPROM编程编程 2010IIIQI2I1I0 Q0Q1Q2或门阵列(可编程)与门阵列(固定)012III012III编程连接点 0120120120120120IIIIIIIIIIIIIIIQabb
25、abaab)(babaa35 简单简单PLDPLD结构及原理结构及原理 PLAPLA阵列结构阵列结构 I2I1I0 Q0Q1Q2与门阵列(可编程)或门阵列(可编程)与或阵列均可编程,资源利用率较PROM高,但需求出逻辑函数最简表达式,对多输出的函数还要提取并利用公共的与项,涉及的软件算法复杂,相应的开发软件少,没有得到广泛应用。36 简单简单PLDPLD结构及原理结构及原理 PALPAL阵列结构阵列结构 I2I1I0 Q0Q1Q2与门阵列(可编程)或门阵列(固定)与阵列可编程,或阵列固定连接,送到或门的乘积项数目固定,设计算法简单。PAL采用熔丝编程方式,双极性工艺制造,器件工作速度高。是第一
26、个得到普遍应用的PLD器件。37 输出端只能输出信号,不能兼作输入,只能实现组合逻辑函数。目前常用的产品有PAL10H8、PAL10L8等。简单简单PLDPLD结构及原理结构及原理 PALPAL输出结构输出结构 专用输出结构 38 输入行II/O简单简单PLDPLD结构及原理结构及原理 PALPAL输出结构输出结构 固定,不能编程固定,不能编程 00 11 可编程输入输出结构 输出端有一个三态缓冲器,三态门受一个乘积项的编程控制。(1)当三态门被禁止,输出呈高阻状态,I/OI/O引脚作输入用;(2)当三态门被选通,I/OI/O引脚作输出用。39 输入行ICLKDOEQ简单简单PLDPLD结构及
27、原理结构及原理 PALPAL输出结构输出结构 带反馈的寄存器输出结构 1 输出端有一个D D触发器,在使能端的作用下,触发器的输出信号经三态门缓冲输出。能记忆原来的状态,从而实现时序逻辑功能。40 输出部分有两个或门,它们的输出经异或门后再经D D触发器和三态缓冲器输出,这种结构便于对与或逻辑阵列输出的函数求反,还可以实现对寄存器状态进行维持操作,适用于实现计数器及状态保持。在异或门的基础上,再增加一组反馈逻辑电路。异或寄存器型运算选通反馈结构 简单简单PLDPLD结构及原理结构及原理 PALPAL输出结构输出结构 41 1.1 2.A+B 3.A 4.A+B 5.B 6.A B 7.A B
28、8.A+B 利用反馈结构的反馈量编程可在与阵列输出端产生利用反馈结构的反馈量编程可在与阵列输出端产生A A和和B B的的1616种运算种运算 9.A 10.A B 11.0 12.A B 13.A B 14.A B 15.B 16.A+B 1.1 3.A 5.B 2.A+B 6.A B 4.A+B 7.A B 10.A B 11.0 9.A 15.B 8.A+B 14.A B 16.A+B 13.A B 12.A B 简单简单PLDPLD结构及原理结构及原理 PALPAL逻辑实现逻辑实现 42 简单简单PLDPLD结构及原理结构及原理 PALPAL逻辑实现逻辑实现 43 简单简单PLDPLD结
29、构及原理结构及原理 PALPAL的命名的命名 44 提高了功能密度,节省了空间。通常一片提高了功能密度,节省了空间。通常一片PALPAL可以代替可以代替4 41212片片SSISSI或或2 24 4片片MSIMSI。同时,虽然。同时,虽然PALPAL只有只有2020多种型多种型号,但可以代替号,但可以代替9090的通用器件,因而进行系统设计时,的通用器件,因而进行系统设计时,可以大大减少器件的种类;可以大大减少器件的种类;提高了设计的灵活性,且编程和使用都比较方便;提高了设计的灵活性,且编程和使用都比较方便;有上电复位功能和加密功能,可以防止非法复制。有上电复位功能和加密功能,可以防止非法复制
30、。简单简单PLDPLD结构及原理结构及原理 PALPAL的优点的优点 45 简单简单PLDPLD结构及原理结构及原理 GALGAL输出结构输出结构 输出逻辑宏单元,可编程输出逻辑宏单元,可编程 GAL22V10的OLMC 4选1 MUX用来选择输出方式和输出极性 2选1 MUX用来选择反馈信号 46 简单简单PLDPLD结构及原理结构及原理 GALGAL输出组态示例输出组态示例 例:可编程码例:可编程码S1S0=00 GAL22V10输出组态示例 47 简单简单PLDPLD结构及原理结构及原理 GALGAL输出组态示例输出组态示例 CLKSRARD(a)S1S000,低电平有效CLKSRARD
31、(b)S1S001,高电平有效(c)S1S010,低电平有效(d)S1S011,高电平有效GAL22V10 四种输出组态 GAL采用EEPROM工艺,和PAL基本门阵列结构相同,输出结构和PAL的不同,GAL的输出结构可编程。PAL被GAL取代。S1S0=00 低电平有效寄存器输出 S1S0=01 高电平有效寄存器输出 S1S0=10 低电平有效组合I/O输出 S1S0=11 高电平有效组合I/O输出 48 可编程逻辑器件基础可编程逻辑器件基础 可编程逻辑器件发展历程 1 可编程逻辑器件的分类 2 简单可编程逻辑器件结构与原理 3 可编程逻辑器件产品概述 5 复杂可编程逻辑器件结构与原理复杂可
32、编程逻辑器件结构与原理 4 49 可编程逻辑单元可编程逻辑单元 基本包含三种结构基本包含三种结构 可编程输入可编程输入/输出(输出(I/OI/O)单元)单元 可编程连线可编程连线 复杂复杂PLDPLD结构及原理结构及原理 通常,把基于查找表(通常,把基于查找表(Look Up TableLook Up Table,LUTLUT)技术、)技术、SRAMSRAM工艺、外挂配置用的工艺、外挂配置用的EEPROMEEPROM的的PLDPLD称为称为FPGAFPGA 把基于乘积项(把基于乘积项(Product ItemsProduct Items)技术、)技术、FlashFlash工艺的工艺的PLDPL
33、D称为称为CPLDCPLD 50 基本包含三种结构:CPLDCPLD是阵列型高密度可编程控制器,其基本结构形式和PALPAL、GALGAL相似,都由可编程的与阵列、固定的或阵列和逻辑宏单元组成,但集成规模都比PALPAL和GALGAL大得多。逻辑阵列块(Logic Array BlockLogic Array Block,LABLAB)可编程I/OI/O单元(IOBIOB)可编程连线阵列(Programmable Interconnect ArrayProgrammable Interconnect Array,PIAPIA)复杂复杂PLDPLD结构及原理结构及原理 CPLDCPLD 51 C
34、PLDCPLD基本结构基本结构 52 逻辑阵列块逻辑阵列块(LABLAB)一个LAB由十多个宏单元的阵列组成。每个宏单元由逻辑阵列、乘积项选择矩阵、可编程寄存器组成。它们可以被单独的配置为时序逻辑或组合逻辑工作方式。如果每个宏单元中的乘积项不够用时,还可以利用其结构中的共享和并联扩展乘积项。可编程可编程I/OI/O单元单元 I/OI/O端常作为一个独立单元处理。通过对I/OI/O端口编程,可使每个引脚单独的配置为输入输出和双向工作、寄存器输入等各种不同的工作方式。可编程连线阵列可编程连线阵列 在各LABLAB之间以及各LABLAB和I/OI/O单元之间提供互连网络。这种互连机制有很大的灵活性,
35、它允许在不影响引脚分配的情况下改变内部的设计。CPLDCPLD基本结构基本结构 53 MAX7000AMAX7000A系列的基本结构包括系列的基本结构包括逻辑阵列块逻辑阵列块LABLAB、宏单元宏单元、扩展乘积项扩展乘积项(共享和并联)(共享和并联)、可编程连线阵列可编程连线阵列PIAPIA和和I/OI/O控制块控制块等五部分。等五部分。INPUT/GCLK1INPUT/OE2/GCLK2INPUT/OE1INPUT/GCLR n36I/O控制块宏单元334826 个I/O引脚36LAB C216162166PIAI/O控制块宏单元11626个 I/O引脚LAB A216162166216I/
36、O控制块宏单元173226个I/O引脚LAB B21616216636216I/O控制块宏单元496426个I/O引脚LAB D21621616216636216PIA可把器件中任一信号源连接到其目的地 每个LAB由16个宏单元组成,宏单元是基本的逻辑功能单元 控制I/O引脚的输入输出方式、电压摆率等 CPLDCPLD基本结构基本结构 MAX7000AMAX7000A系列(系列(AlteraAltera)54 LABLAB通过通过PIAPIA和全局总线连接在一起,全局总线由所有的专用输入、和全局总线连接在一起,全局总线由所有的专用输入、I/OI/O引脚和宏单元馈给信号产生。引脚和宏单元馈给信号
37、产生。INPUT/GCLK1INPUT/OE2/GCLK2INPUT/OE1INPUT/GCLR n36I/O控制块宏单元334826 个I/O引脚36LAB C216162166PIAI/O控制块宏单元11626个 I/O引脚LAB A216162166216I/O控制块宏单元173226个I/O引脚LAB B21616216636216I/O控制块宏单元496426个I/O引脚LAB D21621616216636216CPLDCPLD基本结构基本结构 MAX7000AMAX7000A系列系列 55 LABLAB的输入信号:的输入信号:来自PIA的36个通用逻辑输入信号;来自专用输入引脚的
38、全局控制信号,用于寄存器辅助功能;从I/O引脚到寄存器的直接输入通道。INPUT/GCLK1INPUT/OE2/GCLK2INPUT/OE1INPUT/GCLR n36I/O控制块宏单元334826 个I/O引脚36LAB C216162166PIAI/O控制块宏单元11626个 I/O引脚LAB A216162166216I/O控制块宏单元173226个I/O引脚LAB B21616216636216I/O控制块宏单元496426个I/O引脚LAB D21621616216636216CPLDCPLD基本结构基本结构 MAX7000AMAX7000A系列系列 56 LABLAB的输出:的输出
39、:INPUT/GCLK1INPUT/OE2/GCLK2INPUT/OE1INPUT/GCLR n36I/O控制块宏单元334826 个I/O引脚36LAB C216162166PIAI/O控制块宏单元11626个 I/O引脚LAB A216162166216I/O控制块宏单元173226个I/O引脚LAB B21616216636216I/O控制块宏单元496426个I/O引脚LAB D21621616216636216CPLDCPLD基本结构基本结构 MAX7000AMAX7000A系列系列 57 每个宏单元由每个宏单元由逻辑阵列逻辑阵列、乘积项选择矩阵乘积项选择矩阵和和可编程寄存器可编程寄
40、存器组成。组成。36个来自PIA的信号16个扩展乘积项乘积项选择矩阵共享扩展项清除选择全局清除全局时钟VCC时钟/使能选择CLRNENAPRND/T Q去I/O控制块去PIA2来自I/O引脚快速输入选择可编程寄存器寄存器旁路逻辑阵列并联扩展项(来自其它宏单元)实现组合逻辑 配置宏单元为组合或时序逻辑输出 可配置为由可编程时钟控制的D、T、JK或RS触发器 可将时钟编程配置为:全局时钟、由高电平有效使能的全局时钟或乘积项时钟 将乘积项分配到或门和异或门以实现组合逻辑功能,或者到寄存器的辅助输入以实现清除、预置、时钟和时钟使能等控制功能。CPLDCPLD基本结构基本结构 MAX7000AMAX70
41、00A宏单元宏单元 GAL22V10的OLMC 58 宏单元乘积项逻辑乘积项选择矩阵宏单元乘积项逻辑来自PIA的36个信号16个共享扩展项以尽可能少的逻辑资源和延时扩充乘积项中“与”信号数 CPLDCPLD基本结构基本结构 MAX7000AMAX7000A共享扩展项共享扩展项 59 乘积项选择矩阵宏单元乘积项逻辑来自前一个宏单元置位清除时钟乘积项选择矩阵宏单元乘积项逻辑清除时钟去下一个宏单元来自PIA的36个信号16个共享乘积项置位以尽可能少的逻辑资源和延时扩充相“或”的乘积项数 CPLDCPLD基本结构基本结构 MAX7000AMAX7000A并联扩展项并联扩展项 60 到LABPIA信号E
42、EPROM 编程单元 0 1 CPLDCPLD基本结构基本结构 MAX7000AMAX7000A的的PIAPIA结构结构 61 PIA电压摆率控制漏极开路控制来自宏单元快速输入到宏单元寄存器到PIA到其它I/O引脚GNDVCCOE选择多路复用器6个全局使能信号控制I/O引脚单独地配置为输入、输出或双向工作方式 CPLDCPLD基本结构基本结构 MAX7000AMAX7000A的的I/OI/O控制控制 62 CoolRunner系列:系列:CoolRunner-II、CoolRunnerXPLA3 XC9500系列:系列:XC9500、XC9500XL CPLDCPLD基本结构基本结构 Xili
43、nx CPLDXilinx CPLD 63 现场可编程门阵列(现场可编程门阵列(FPGAFPGA)分类分类 按逻辑功能块的大小分类:按逻辑功能块的大小分类:细粒度:细粒度:特点:逻辑功能块较小特点:逻辑功能块较小 优点:资源(逻辑功能块)可以充分利用。优点:资源(逻辑功能块)可以充分利用。缺点:完成复杂逻辑功能时需要很多逻辑单元,大量连线和可编缺点:完成复杂逻辑功能时需要很多逻辑单元,大量连线和可编程开关导致相对速度较慢。程开关导致相对速度较慢。粗粒度:粗粒度:特点:逻辑功能块较大、功能强特点:逻辑功能块较大、功能强 优点:用较少的逻辑功能块和内部连线就能完成较复杂的逻辑功优点:用较少的逻辑功
44、能块和内部连线就能完成较复杂的逻辑功能,因此易于获得较好的性能。能,因此易于获得较好的性能。缺点:资源(逻辑功能块)有时不能充分利用。缺点:资源(逻辑功能块)有时不能充分利用。64 按互连结构分类:按互连结构分类:分段互连型:分段互连型:特点:内部具有多种不同长度的金属连线资源,各金属连线之间特点:内部具有多种不同长度的金属连线资源,各金属连线之间通过开关矩阵或反熔丝编程连接。通过开关矩阵或反熔丝编程连接。优点:走线灵活,便于实现快速的局部互连和多级逻辑功能。优点:走线灵活,便于实现快速的局部互连和多级逻辑功能。缺点:走线复杂,走线延时与布局布线的具体处理过程有关,延缺点:走线复杂,走线延时与
45、布局布线的具体处理过程有关,延时无法预测。时无法预测。连续互连型:连续互连型:特点:内部金属线长度相同,通常是贯穿于整个芯片的长线来实特点:内部金属线长度相同,通常是贯穿于整个芯片的长线来实现功能块间的互连。现功能块间的互连。优点:走线与距离远近无关,走线延时是固定的、可预测的。优点:走线与距离远近无关,走线延时是固定的、可预测的。缺点:占用资源多,数量有限。缺点:占用资源多,数量有限。现场可编程门阵列(现场可编程门阵列(FPGAFPGA)分类分类 65 按编程工艺分类:按编程工艺分类:一次编程型:一次编程型:特点:采用反熔丝元件,特点:采用反熔丝元件,ActelActel公司和公司和Quic
46、klogicQuicklogic公司提供此类产品。公司提供此类产品。优点:体积小、集成度高、互连线特性阻抗低、寄生电容小、速度高,优点:体积小、集成度高、互连线特性阻抗低、寄生电容小、速度高,此外还具有加密位、防拷贝、抗辐射、抗干扰、不需外接此外还具有加密位、防拷贝、抗辐射、抗干扰、不需外接EPROMEPROM,比较,比较适合于定型产品及大批量应用。适合于定型产品及大批量应用。缺点:只能编程一次。缺点:只能编程一次。可重复编程型:可重复编程型:特点:采用特点:采用SRAMSRAM或或FLASHFLASH开关元件。开关元件。SRAMSRAM型型FPGAFPGA具有易失性,每次系统上电时需要给具有
47、易失性,每次系统上电时需要给FPGAFPGA重新加载配置数重新加载配置数据。据。FLASHFLASH型型FPGAFPGA则具有非易失性。则具有非易失性。现场可编程门阵列(现场可编程门阵列(FPGAFPGA)分类分类 66 Xilinx公司目前有两大类FPGA产品:SpartanSpartan系列系列:面向低成本的中低端应用,是目前业界成本最低的一类FPGA。主流芯片包括:Spartan-2,Spartan-2E,Spartan-3,Spartan-3A,Spartan-3E,Spartan-6等种类。VirtexVirtex系列系列:面向高端应用,属于业界顶级产品。主流芯片包括:Vitrex-
48、2、Virtex-2 Pro、Virtex-4、Virtex-5、Virtex-6等种类。FPGAFPGA基本结构基本结构 Xilinx FPGAXilinx FPGA 1)Spartan-2最高可达20万门;2)Spartan-2E最高可达60万门;3)Spartan-3最高可达500万门;4)Spartan-3A和Spartan-3E不仅门数更大,还内嵌专用乘法器和块RAM资源,具备实现复杂数字信号处理和片上可编程系统的能力。5)这两个系列的都采用了先进的制造工艺,Spartan系列是Virtex系列的简化版本。67 查找表(Look UP Table,LUT)也称为函数发生器(Funct
49、ion Generator,FG),其功能被输入的数目限制,而不是被复杂性所限;贯穿LUT的时延是固定的;M个输入的逻辑函数真值表存储在一个2m 1位的SRAM中,M个输入参与SRAM的地址译码,对于M个输入的任意组合都对应一个逻辑函数的输出值,以此实现逻辑函数。Combinatorial Logic A B C D Z A B C D Z 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 1 1 1 0 1 0 0 1 0 1 0 1 1.1 1 0 0 0 1 1 0 1 0 1 1 1 0 0 1 1 1 1 1 FPGAFPGA基本结构基本结构 查找表技术查找表技术
50、68 FPGA基本结构基本结构 查找表技术查找表技术 输 入 查 找 表 实际逻辑电路 LUT 的实现方式 outABDC ABDC16 1RAM(LUT)地址线输出 ABCD 输入 逻辑输出 地址 RAM 中存储的内容 0000 0 0000 0 0001 0 0001 0 0 0 1111 1 1111 1 69 FPGAFPGA基本结构基本结构 查找表实现一位全加器查找表实现一位全加器 I000CBAS0000I0ICA BA CB C70 FPGAFPGA的基本结构的基本结构 组成组成 FPGAFPGA一般包括:一般包括:可编程逻辑块可编程逻辑块CLBCLB、可编程输入输出模块、可编程