八可编程器件38309864.docx
- 文档编号:12512864
- 上传时间:2023-04-19
- 格式:DOCX
- 页数:25
- 大小:435.32KB
八可编程器件38309864.docx
《八可编程器件38309864.docx》由会员分享,可在线阅读,更多相关《八可编程器件38309864.docx(25页珍藏版)》请在冰豆网上搜索。
八可编程器件38309864
第八章可编程器件
ProgrammableLogicDevices
8.1可编程逻辑技术
PLDs(programmablelogicdevice):
可对器件编程实现所需的逻辑线路。
PLD编程(programming):
将实现所需的逻辑线路对应的二进信息写入PLD器件的处理过程。
PLD是一含有逻辑门或逻辑模块的集成电路,其逻辑门、模块可按需求编程互连。
早期PLD中的逻辑互连采用熔丝技术,即所有可能连接处均设有熔丝,不需连接处可编程熔断。
典型的PLD可含有几百-几百万门电路。
由于其采用高扇入门技术,高扇入门简化符号表示如下:
(a)传统符号(b)阵列逻辑符号
(b)中交叉处可有×或无×。
有×表示连接,无×表示不连接。
非熔丝也借用此方式表示。
可编程逻辑器件类型:
(PLDs)
ROM:
read-onlymemory
PLA:
programmablelogicarray
PAL:
programmablearraylogic
CPLD:
complexprogrammablelogicdevice
GAL:
genericarraylogic
FPGA:
field-programmablegatearray
可编程逻辑器件的支持技术:
1.互联的建立与消除。
2.查找表。
3.浮栅晶体管开关控制。
连接控制:
1.熔丝(fuse):
可编程点均用熔丝构成连接,熔丝可高电压烧断,以断开连接。
CLOSED:
连接,OPEN:
断开。
2.掩膜(mask):
制造商在器件制作的最后一步根据用户要求确定金属层的导线连接。
器件量大时,经济上才合算。
3.反熔丝(antifuse):
编程前,连接点被高阻物质分开,断路,编程高电压可使其熔化连接。
4.Mosn沟道晶体管:
连接点为Mosn沟道晶体管,晶体管用SRAM的输出驱动,SRAM的对应位存1,晶体管导通,连接点连接,反之,断开。
前三种技术不可重编,但可永久保持。
第四种编程容易,但易失。
建立查找表(lookuptable):
在器件中设立小SRAM模块,其可编程存储对应硬件逻辑的真值表,逻辑输入接SRAM地址。
浮栅
晶体管开关控制:
利用浮栅存储电荷控制
晶体管的永久“开”与“关”。
将浮栅的电荷移去,称为擦除。
采用这种技术的器件称为可擦除器件(erasable)。
擦除可用紫外光或电的方法(electricallyerasable)。
8.2只读存储器(ROM)
永久存储二进信息,非易失(nonvolatile)。
ROM框图:
存2k个字。
每字n位。
无数据输入端。
常带有一个或多个使能,以便构成大阵列。
内部逻辑结构:
32×8ROM为例。
Ø5-32译码器。
每个输出对应一个存储地址。
对应确定地址译码输出为1。
Ø8个32扇入或门输出。
每个译码输出经熔丝与或门可编程连接,形成或阵。
Ø2k×nROM内有K个地址输入端,2k译码器,n个2k可编程连接扇入的或门。
Inputs
Outputs
I4
I3
I2
I1
I0
A7
A6
A5
A4
A3
A2
A1
A0
0
0
0
0
0
1
0
1
1
0
1
1
0
0
0
0
0
1
0
0
0
1
1
1
0
1
0
0
0
1
0
1
1
0
0
0
1
0
1
0
0
0
1
1
1
0
1
1
0
0
1
0
.
.
.
.
.
.
1
1
1
0
0
0
0
0
0
1
0
0
1
1
1
1
0
1
1
1
1
0
0
0
1
0
1
1
1
1
0
0
1
0
0
1
0
1
0
1
1
1
1
1
0
0
1
1
0
0
1
1
ØROM存储内容用真值表表示。
例:
Ø真值表内容可被硬件编程输入。
值0、1分别对应可编程连接点的断、通。
Ø或阵中用×表示连接,+表示断开。
Ø上例真值表内容对应ROM内部逻辑连接结构如下图:
ROM类型:
掩膜编程技术:
ROM。
熔丝编程技术:
PROM。
浮栅编程技术:
EPROM。
电可擦编程技术:
E2PROM。
闪速存储器:
FLASHMEMMORY。
(高速、高密)
Ø编程器件的选择根据所需ROM的数量、编程与可重编性、器件延时而不同。
用ROM实现组合逻辑
ROM除存储数据外,可实现组合逻辑。
任何组合逻辑均可表示为输入变量的最小项之和,如将ROM的输入看作输入变量,则其译码器的输出即可得所有的最小项,所以可通过其输出或门可编程实现对任意个最小项求的和,因此ROM可实现输入变量数不超过地址线数的任何所希的组合逻辑。
上例ROM可编程实现5变量输入8变量输出的任意组合逻辑:
×:
连接,加入和运算,+:
开路,不加入和运算。
ROM常用于码制变换,复杂算术运算等。
特别对于中等数量输入、大量输出的情况。
实现过程:
提供真值表;编程输入。
例:
用ROM实现3位二进数的平方运算。
1.导出真值表。
Inputs
Outputs
A2
A1
A0
B5
B4
B3
B2
B1
B0
Decimal
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
1
1
0
1
0
0
0
0
1
0
0
4
0
1
1
0
0
1
0
0
1
9
1
0
0
0
1
0
0
0
0
16
1
0
1
0
1
1
0
0
1
25
1
1
0
1
0
0
1
0
0
36
1
1
1
1
1
0
0
0
1
49
注意到B0=A0,B1=0,有下表:
A2
A1
A0
B5
B4
B3
B2
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
1
0
1
1
0
0
1
0
1
0
0
0
1
0
0
1
0
1
0
1
1
0
1
1
0
1
0
0
1
1
1
1
1
1
0
0
2.画逻辑图。
需8×4ROM。
PLD的三种主要类型:
Ø与阵+或阵结构可实现组合逻辑。
Ø与、或阵的固定、可编程的不同组合构成三种基本类型的PLD。
1.ROM(可编程只读存储器)
(programmableread-onlymemory)
2.PAL(可编程阵列逻辑器件)
(programmablearraylogicdevice)
3.PLA(可编程逻辑阵列器件)
(programmablelogicarraydevice)
8.3PLA
PLA结构与PROM相似,在目的是实现组合逻辑时,为节省逻辑,将PROM中全译码器用可编程与阵代替。
与阵不提供全译码,只提供对输入变量有限个译码,即只能产生有限个最小项译码,但最小项译码可在与阵可编程选择。
其或阵可编程求和。
例:
3输入2输出PLA内部逻辑构成。
注意:
多扇入与或门的表示;
可编程异或门实现或门输出的求反。
例可编程连接实现逻辑为:
PLA熔丝真值表。
Inputs
Outputs
Product
(T)
(C)
term
A
B
C
F1
F2
A
1
1
0
-
1
-
AC
2
1
-
1
1
1
BC
3
-
1
1
-
1
B
4
0
1
0
1
-
与阵:
1表示与原码连接;0表示与反码连接;-表示与原反码均不连接。
或阵:
1,与积项连接。
-,与积项不连接。
T:
(true)原码输出。
异或门控制输入为0。
C:
(complement)补码输出。
异或门控制输入为1。
PLA的大小
1.输入变量数。
典型16。
2.可编程积项数。
典型48。
3.输出变量数。
典型8。
n入、k积项、m输出PLA含有n反相门,k个与门,m个或门和异或门,可编程连接点为:
2n×k+k×m+m。
PLA的编程
掩膜编程。
提交编程表定制。
FPLA可通过开发系统用硬件编程器编程。
提交的编程表应最简。
(积项最少,积项中含有变量数最少。
例:
用PLA实现下列组合逻辑。
选
和F2,可最少积项。
得编程表:
Inputs
Outputs
Product
(C)
(T)
term
A
B
C
F1
F2
AB
1
1
1
-
1
1
AC
2
1
-
1
1
1
BC
3
-
1
1
1
-
4
0
0
0
-
1
对于实际复杂的逻辑函数化简通常借助计算机辅助设计完成上述过程得到PLA编程表。
8.4PAL
与阵可编,或阵固定。
编程简单。
原理图:
4输入,4输出,与或宽3。
注意:
输出可返连回与阵参与逻辑运算;积项不可共享;积项太多时,可多段共同完成(内或外反馈实现)。
例:
用PAL实现下述组合逻辑。
化简:
Product
ANDInputs
term
A
B
C
D
W
Outputs
1
1
1
0
-
-
2
0
0
1
0
-
3
-
-
-
-
-
4
1
-
-
-
-
5
-
1
1
1
-
6
-
-
-
-
-
7
0
1
-
-
-
8
-
-
1
1
-
9
-
0
-
0
-
10
-
-
-
-
1
11
1
-
0
0
-
12
0
0
0
1
-
注意:
例中对于变量W的积项多于3项的实现方法。
当与门的所有输入都不用时,其编程点均需编程连接,如此才能使得输出为0(
)。
简化表示在与门符号中打×。
实际商用PAL器件复杂灵活,典型特性:
Ø8输入;8输出;与或阵宽8。
Ø输出可三态驱动,并可作为输入。
Ø有时加入触发器,可实现时序逻辑。
ØPAL的实际使用也借助计算机辅助设计。
8.5GAL
结构沿袭PAL与-或结构,并配置输出宏单元(OLMC)。
编程技术采用EECMOS。
电路结构:
宏单元结构:
异或门可对组合输入求反。
D触发器可用于时序。
数据选择器选择(2路):
0,第一积项。
三态控制选择器(4路):
0(高阻3),1(使能),OE(外部),与阵第一积项(编程控制)。
反馈选择器(4路):
本级寄存器;本级宏单元输出;邻级宏单元;无反馈。
输出选择器(2路):
组合输出;寄存器输出。
宏单元工作模式:
1.专用输入(数据输出端作为专用输入端)。
2.专用组合输出。
3.选通组合输出。
4.时序组合输出。
5.寄存器输出。
GAL器件特点:
1.电可擦。
2。
高速,低功耗。
3。
编程快;4。
使用灵活(可代替中小规模集成电路);5.可加密;6.电子标签(便于管理);7.可靠(20年)。
8.6大规模集成电路可编程逻辑器件(VLSIPLDs)
利用VLSI的设计可把含有数千至数百万门的数字系统集成于单片IC中。
VLSI设计的主要方法:
1.全定制设计(fullcustomdesign)。
昂贵,用于高密度、高速、大量情况。
2.标准单元设计(standardcelldesign)。
将予设计互联,成本中等,密度、性能低于全定制。
3.门阵列(gatearray)。
数千至数百万相同的门集成于单独的芯片上,根据数字系统设计需要进行互联与布线。
制作通用、经济。
由于设计复杂,需采用CAD。
VLSI的最新发展产生了大容量可编程逻辑器件,典型二类为:
CPLDs(comlexprogrammablelogicdevices)和FPGAs(field-programmablegatearrays现场可编程门阵列)。
共同特点是:
1.含有大量未授权的组合逻辑;
2.含有可予配置的触发器;
3.可在组合逻辑、触发器、芯片的输入输出之间进行可编程互联。
不同厂家的VLSIPLDs具有不同结构与特点,现举二例介绍。
AlteraMAX7000CPLDs
采用EEPROM浮栅技术。
结构如下图。
16个相同的逻辑阵列块。
经可编程互联阵逻辑阵列块之间、输入输出实现互联。
每个逻辑阵列块含有16个宏单元(macrocell)
每个宏单元具有一个触发器加上类似PLD的组合逻辑电路。
宏中,触发器可编程为D、T,JK、SR,并可予置、清0、时钟使能。
特殊的连接使得每个宏的积项可扩充多于宽5。
IO块置于芯片四周,外侧宏与其相连。
能可编程控制为三态、输入或输出。
XilinxXC4000
电路结构:
三种可编程逻辑模块阵列:
1.CLBs(configurablelogicblocks)。
2.IOB(input/outputblocks).
3.ICR(interconnectcapitalresource)和SRAM。
芯片的编程信息存在片内的SRAM中,其又可由PROM加载。
SRAM加载后,进入工作模式。
不同信息的加载使得同一芯片完成不同功能。
SRAM中数据可完成控制片中的晶体管的通断、多路选择器、查找表功能。
查找表完成组合逻辑。
互联:
由开关矩阵和水平垂直连线实现。
节点有6个连通晶体管可用于编程连接。
另有长线、单长线、双长线用于宏单元连接。
逻辑:
CLB完成。
三个查找表实现组合逻辑F,G,H,,两四变量和一三变量或一9变量函数。
两个二选一多工器分配组合输出X、Y。
两个四选一多工器分配两个D触发器输入。
只用组合输出时,触发器可存数据。
两异或门可选择触发器的正负触发。
触发器的时钟使能也可选择。
触发器可非同步set与reset。
IO:
可设定为输入或输出。
编程设计:
由于其复杂性,必须借助开发系统。
FPGA的加载(配置):
加载内部SRAM的三种模式:
1、主动模式―加电后内部控制电路自动将予存于EPROM中的配置数据读入;2、外设模式―器件本身作为外设,从总线接受配置数据;3、从串模式―串行从外部接受配置数据。
8.7PLD的结构综述
二类:
1.粗颗粒(Coarse-grained)CPLD。
多个类似GAL器件可编程互联。
2.细颗粒(Fine-grained)FPGA。
多个类似门阵列可编程互联。
二者通称大容量PLD(HCPLD-HighcapacityPLD)。
为使用灵活、方便,PLD所采取措施:
1.逻辑改变时,引脚定义可不变。
2.速度功耗可选。
3.多种时钟选择。
4.寄存器可异步置复位。
5.可实现复杂逻辑。
6.多种封装。
7.符合PCI(PeripheralComponectInterconnect外部接口)技术规范。
8.提供5V和3.3V二种器件。
9.可控制输出摆率。
10.总线友好(Bus-Friendly)。
总线高阻时,自动输出逻辑电平,抗干扰。
11.在板热槽安全(boardhot-socketing),掉电和上电不干扰和损害其它器件,5.5v电压安全。
热插拔(liveinsertion)。
12.嵌入大容量RAM,可建立高速大容量查找表。
8.8PLD应用注意事项
1.选择合适器件,进行合理设计。
组合复杂选CPLD,时序多选FPGA。
2.注意定时关系,消除竞争冒险。
3.为便于扩展修改,保留20%的逻辑单元和引脚。
4.引脚处理。
输入不悬空;不用输入接地。
5.电源滤波。
加0.2u电容去耦。
6.尽可能不用插座。
7.器件间连线长时考虑匹配。
8.注意环境温度。
6.13可编程逻辑器件的开发
专用硬件数字系统的实现方法:
1.专用集成电路(ASIC-ApplicationSpecificIntegratedcircuit)。
优点:
速度快,集成度高。
缺点:
成本高,开发周期长,不灵活。
2.PLD
优点:
使用灵活,开发周期短。
目前,PLD器件的等效门数可达百万,工作频率100MHz以上。
PLD在实现数字系统方面的优越性使其得到广泛的应用与发展。
由于其复杂性和灵活性,其使用必须借助开发系统。
开发系统的组成:
软件:
在计算机中运行,实现设计,检验设计,产生编程文件。
常用开发软件:
例:
ABEL,Synario(DataI/O公司)。
CUPL(LogicalDevice)。
硬件:
编程器;计算机控制对PLD编程或擦除。
PLD开发过程:
设计开始
否
通过?
是
设计实现步骤:
1.设计输入形成设计文件。
Ø文本:
输入输入输出管脚、逻辑关系。
Ø图形:
逻辑图。
Ø硬件描述语言:
(HDL-HardwareDescriptionLanguage)
VHDL(IEEE1987,VHSICHDL-VerySpeedIntergratedCircuitHDL)。
支持真值表、逻辑方程、状态图、算术运算、组合运算、条件逻辑、逻辑比较、宏函数、等。
设计层次化。
例:
一位全加器。
entityfull_adderis(实体)
port(a,b,cin:
inbit;
sum,cout:
outbit);
endfull_adder;(结构体)
architecturebehavioroffull_adderis
begin
sumaxorbxorcin;
cout((nota)andbandcin)or(aand(notb)andcin)or(aandb);
endbehavior;
2.设计编译和器件适配。
编译软件对设计文件进行逻辑化简、综合、优化,并用一个或多个器件适配,产生器件编程文件。
可人工干预。
指示错误。
3.设计校验。
逻辑功能仿真,定时仿真。
器件编程:
将适配器、编程电缆与插于计算机的编程卡或计算机并口连接,运行编程软件,将编程数据写入器件。
器件校验:
简单的校验是将写入与读出编程数据比对。
复杂PLD无法简单校验,联合测试行动组JTAG(JointTestGroup)开发了IEEE边界扫描测试(BST-BoundaryScanTest)技术规范。
采用该技术的PLD具有专门测试引脚,可输入测试数据,并读出测试结果,以检查芯片好坏和编程校验。
8.9在系统编程(ISP)
在系统可编程逻辑器件ISPPLD(In-SystemProgrammablePLD)。
在PLD器件中加入了编程与测试逻辑及控制电路。
特点:
不使用编程器,计算机通过并口经编程电缆直接对ISPPLD器件编程。
优点:
不取下器件,直接在系统电路板上对硬件设计进行修改与验证;在系统调试;生产流程简化;实现多功能硬件;系统维修方便等。
通常,ISPPLD器件设有编程接口,具有三种工作模式(编程;工作;诊断)。
通过接口可实现三种工作模式。
ISPPLD器件可并行与串行编程。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 可编程 器件 38309864