nullnullnull 计算机学院:王 伟null第4章 时序电路分析 第5章 时序电路
设计
领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计
第6章 可编程逻辑器件第7章 VHDL设计基础null第六章 可编程逻辑器件可编程逻辑阵列PLA可编程阵列逻辑PAL只读存储器通用阵列逻辑GAL现场可编程门阵列FPGAnull分立元件小规模集成电路中规模集成电路大规模集成电路超大规模集成电路数字逻辑器件的发展:SSIMSILSIVLSInull数字逻辑器件的分类:1. 标准产品
主要是一些中小规模集成电路,如:逻辑门、触发器、译码器、计数器、寄存器、ALU等
2. 由软件组态的大规模集成电路
如:单片机
3. 专用或特定用途的大规模集成电路
可编程逻辑器件PLD即是其中之一null 可编程逻辑器件的发展历程70年代80年代90年代PROM 和PLA 器件改进的 PLA 器件GAL器件FPGA器件EPLD 器件CPLD器件内嵌复杂
功能模块
的SoPCnull可编程逻辑器件PLD:由用户自己而不是芯片的生产厂家最后完成其逻辑功能
允许用户在相应的软硬件平台的支持下,通过编程开发出自己的芯片。用户既是使用者又是设计者
具有很强的逻辑设计灵活性,是数字设计的方向null按集成度划分低密度可编程逻辑器件(LDPLD)高密度可编程逻辑器件(HDPLD) EPLD(可擦除、可编程逻辑器件)
CPLD(复杂可编程逻辑器件)
FPGA(现场可编程逻辑门阵列)可编程逻辑器件PLD的种类:ROM
PLA(可编程逻辑阵列)
PAL(可编程阵列逻辑)
GAL(通用阵列逻辑)null可编程逻辑器件PLD的种类:ROM(只读存储器)PROMEPROME²ROM(电可擦除)硬件编程,由厂家设定,无法体现用户的意志编错了可复原(紫外线照射), 但需要紫外线管可由用户编程,采用熔丝工艺,只能编一次,错了无法更改nullEPLD(Erasable Programmable Logic Device)——可擦除、可编程逻辑器件。
是一种基于EPROM和CMOS技术的可编程逻辑器件, 基本逻辑单元是宏单元。
宏单元由可编程的 “与或阵列”、可编程寄存器和可编程I/O组成。
从某种意义上说,EPLD是一种改进的GAL。
EPLD最早出自Altera公司。EPLDnullCPLD(Complex Programmable Logical Devices)
——复杂可编程逻辑器件。
一个CPLD含有多个逻辑元件块(PLD),每个逻辑块间的接线是可编程的。
CPLD是EPLD的改进器件。
CPLD运行速度比FPGA快,但功耗较大。
常见的CPLD器件有:
Lattice公司的pLSI/ispLSI系列
Xilinx公司的7000和9500系列
Altera公司的MAX9000系列
AMD公司的MACH系列等。CPLDnull FPGA (Field Programmable Gate Array)又称现场可编程门阵列,最大特点:不需要开发器,目前最时尚,也称之为在系统可编程(ISP)
FPGAnull在系统可编程技术ISP
(In System Programmability)传统编程技术——
将PLD器件插在编程器上编程
在系统编程技术——
可不用编程器,直接在用户自己设计的目标系统中或 线路板上,对PLD器件进行编程。
打破了使用PLD先编程后装配的惯例,可以先装配后编程,成为产品后还可以反复改写。null目前的 PLD器件大多采用了ISP技术。
ISP器件的出现使得硬件设计变得像软件一样易于修改。硬件的功能可以随时进行修改或重构。 在系统可编程技术ISPnull 可编程逻辑阵列PLA(Programmable Logic Array)
PLA的基本结构是基于“与或阵列”, “与阵列”和“或阵列”都是可编程的。因PLA器件的资源利用率低, 现在已经很少使用。 可编程阵列逻辑PAL(Programmable Array Logic)
PAL的基本结构也是基于 “与或阵列”的, “与阵列”可编程,而 “或阵列”是固定的。PAL最早出自AMD公司。nullGAL是一种可电擦写、可重复编程、可设置加密位的PLD器件
与PAL器件相比,GAL增加了一个可编程的输出逻辑宏单元OLMC(Output Logic Macro Cell)。
由于在实际应用中,GAL器件几乎能够完全仿真PAL器件,所以PAL器件已经很少被使用。
GAL最早出自Lattice公司。 通用阵列逻辑GAL(Generic Array Logic)PLD计算机辅助设计PLD计算机辅助设计1. MAX+PLUS II
MAX+PLUS II软件是Altera公司开发的可编程逻辑器件开发软件,提供了包括编辑、编译、调试、模拟、下载等多种功能的集成的开发环境。
· 模拟:利用模拟运行功能,检查设计
的正确性、合理性
· 下载:将设计下载到目标板上的该器
件中null 集成的PLD/FPGA开发环境
——Xilinx ISE 9.1
仿真工具
——Model Tech ModleSim XE 5.6
可编程器件下载软件
—— COP2000+集成开发环境本课程使用的软件PLD计算机辅助设计PLD计算机辅助设计下载板
计
算
机 可编程
逻辑器件下载板USB实验台实验台nullnullPLD计算机辅助设计PLD计算机辅助设计下载板
计
算
机 可编程
逻辑器件下载板串口null按编程特性分
(1)一次性编程OTP(One Time Programmable) PLD
(2)可多次编程PLD
①紫外光擦除的EPROM
②电擦除的EEPROM
③在系统编程ISP(InSystemprogrammability)PLD
④在线可重配置ICR(in-circuitreconfiguration)可编程逻辑器件的结构可编程逻辑器件的结构 目前使用的可编程逻辑器件的结构基本上都是由输入缓冲、与阵列、或阵列和输出结构4部分组成 ,根据结构特点可将PLD划分为简单PLD、复杂PLD(CPLD)和现场可编程门阵列FPGA等3类。null§6-1 只读存储器(ROM)几个重要概念:写 —— 读 ——字 ——地址 ——将信息存在存储器中将信息从存储器中取出存储器的单元,每个单元(字)由若干个二进制数组成存储单元在存储器中的位置null考虑:
若某存储器有n条地址线,可有 个存储单元2n每个单元有 i 位,则存储器的容量为:2n ×i个二进制位 null存储器按功能分随机存储器
(RAM)只读存储器
(ROM)静态RAM动态RAMnull一、只读存储器(固定存储器)的结构信息在制造过程中由生产者写入
每个只读存储器具有专用性,一般用来作
数学
数学高考答题卡模板高考数学答题卡模板三年级数学混合运算测试卷数学作业设计案例新人教版八年级上数学教学计划
用表、字符发生器等
只读存储器的结构简单,集成度高,因此容量可以做得很大
只读存储器的结构有二极管、三极管两种形式
可利用其实现组合逻辑函数null ROM 的逻辑结构包括两部分:地址译码器:译码量决定存储单元数,它实现了输入变量的所有最小项。译码器实质上是一个“与”阵列逻辑结构。
存储矩阵:实现了最小项“或”阵列逻辑结构。nullPLD中特殊的缓冲器——
输入缓冲器(反馈缓冲器) 的PLD表示特点:
单输入、双输出,一个高有效,一个低有效
输出只有0和1两个逻辑状态注意与输出三态缓冲器的区别!null阵列交叉点的PLD表示法×实体(固定)连接 可编程连接编程后熔丝烧断×A B C DF与门:F=ACD+×A B C DF或门:F=A+C+Bnull高电平A、B、C有一个输入低电平0VA、B、C三个都输入高电平+5V低电平L=A•B•C例:3输入与门nullABVccF1F2F3F0m0m1m2m3与阵TTL-ROM结构框图或阵++++nullnullROM的简化阵列图 为了简单,在字线与位线相交处用点(·)表示存储元件
有点表示“1”;
无点表示“0”。 nullABF0F1F2F3简单画法m0m1m2m3nullROM 是一个“与-或”阵列。
与阵列是完全译码器,结构固定
在或阵列中可根据各组合逻辑的输出要求改变圆点的位置和数量
用ROM 实现组合逻辑函数
把逻辑函数的真值表事先存入 ROM (输入变量是地址,输出是该地址单元的内容),该表中给出的是“1”,制造商就在该位置做上存储元件,否则不做。称掩模式只读存储器。null例:用ROM实现 F1=∑ (3,4,6,7)
F2=∑ (0,2,3,4,7) 1、用ROM实现组合逻辑函数null2、用ROM作函数运算表用ROM构成能实现函数y=x2的运算表电路。设x的取值范围为0~15的正整数,用B=B3B2B1B0表示。例根据y=x2可算出y的最大值是152=225,可以用8位二进制数Y=Y7Y6Y5Y4Y3Y2Y1Y0表示。
由此可列出Y=B2即y=x2的真值表。null真值表null阵列图null二、PROM(可编程的ROM)——
由用户自己来编程VccFM出厂时,产品的熔丝都是通的,即存储单元为全“1”
若使某些存储单元改写为“0”,用大电流将熔丝烧断,只能改写一次
编程过程一旦出错或经过实践后需改动,只能再用一片新的PROMnull三、EPROM(光可擦除可编程的ROM)——
由用户自己来编程产品出厂时,所有FAMOS处于截止状态
用户写入时,在相应的位线上加入负脉冲,再通过字线控制,使选中的FAMOS导通
写错了,可用紫外线照射,使其恢复原态m-VddF(FAMOS)
浮栅MOS管FAMOS特点:源漏加较大的负电压,管子导通
紫外线照射,管子截止快闪叠栅MOS管
(Flash Memory) 四、E2PROM(电擦除可编程的ROM)——
由用户自己来编程浮栅隧道氧化层MOS管
(Flotox MOS)
快闪叠栅MOS管
(Flash Memory) null实现组合逻辑功能
1. 代码转换器
· 预转换的m位代码 PROM的地址输入
· 转换后的n位代码 存入PROM
· 按地址读出内容,即完成了代码的转换
null例1:用PROM实现四位二进制代码到格雷码转换。列写真值表:nullB2m0 m1 m2 m3 m4 m5 m6 m7 m8 m9 m10 m11 m12 m13 m14 m15G3G0G1G2 代码转换器B3B0B1××××××××××××××××××××××××××××××××null对比——null 代码转换器9
1513101211T8831234568716Vcc
CE
A4 A3 A2 A1 A0 F7F0 F1 F2 F3 F4 F5 F6 Gnd14B3 B2 B1 B0G0 G1 G2 G3Vcc
T883——32×8PROM通过专用设备将真值表写入PROMnull例2:用PROM实现序列信号发生器F4F3F2F10 1 2 3 4 5 6 7 00 1 4 5 0 1 2 5 6 4 5 6 7 nullA2A1A0m0 m1 m2 m3 m4 m5 m6 m7F4F3F2F1null例: 用PROM实现字符发生器
原理:将字符点阵预先存储在PROM中,然后顺序给出地址码,从存储矩阵中逐行读出字符点阵,并送入光栅显示器,可显示该字符常用的字符发生器字形规格有:
9×7,7×7,7×5 , 8×5字符发生器 2. 字符发生器nullm0
m1
m2
m3
m4
m5
m6F0F3F2F1Q2Q1Q0F4F0F3F2F1F4字符发生器7×5字符发生器null例:字符发生器
设计一个64字符的字库,每个字符以
8×5点阵表示。 字符发生器框图:000
001
010
011
100
101
110
111· 8线选择由低位地址(A2~A0)完成
· 64字符选择由高位地址(A8~A3)完成字符发生器null16×16点阵存储器 存储器 典型器件
PROM: Texas公司
· TBP28S42
256×8位
存取时间为70ns
· TBP34R162
EPROM: Intel公司
· 2716(2K×8位)
· 27C202C (16K×16位)
· 27C040 (512K×8位)等 null 3. ROM的扩展例1:利用多片容量为1K×8位的ROM,扩展为2K×16位的ROM。2K×16=4×1K×8:需要4片1K×8=210×8 2K×16=211×16nullPROM1K×8ENENQ0Q7Q0Q7PROM1K×8ENENQ0Q7Q0Q7A10PROM1K×8PROM1K×82K×16位A0 ~A9A0 ~A9A0 ~A9A0 ~A9null例2:利用多片容量为4K×8位的ROM,扩展为32K×8位的ROM。ENA0 ~A11Q0 ~Q7ENA0 ~A11Q0 ~Q7A12A13A14“1”“0”“0”4K×84K×88×4K×8位
=32K×8位null例3:利用适当逻辑器件,将容量为1K×8位的PROM变成为8K×1的ROM。A3A4A12A0A1A2PROM1K×8ENEN8选1Q0Q7dnull利用上面电路可设计能产生13位二进制数据的奇/偶校验码null§6-2 可编程逻辑阵列PLAROM:0单元 ……………. 7单元 F0F3F2F1A2A1A0缺点:没有充分利用半导体材料的面积,限制了使用的灵活性单元的内容0单元1单元2单元地址nullPLA产生的思想——
将内容相同的存储单元用一个存储单元来代替(让几个地址码读出同一存储单元的内容)null3.存储矩阵中的内容,是化简压缩的内容,与真值表不再有一一对应关系
4. 包含记忆元件(触发器网络)
5. 既能实现组合逻辑又能实现时序逻辑null与阵列、或阵列
均可编程(PLA)与阵列固定,或阵
列可编程(PROM)与阵列可编程,或
阵列固定(PAL等)PROM 、PLA与PAL 的比较null例:将函数F=∑(0,2,3,4,5,11,13,14,15)存入PLA中 PLA:只需5条字线,是函数简化后的与项
ROM:需9条字线,是函数的最小项null例:用PLA实现 F1=∑(3,4,6,7), F2=∑(0,2,3,4,7)null例:用PLA实现 四位二进制到格雷码的转换G3G2nullnullB2m0 m1 m2 m3 m4 m5 m6 m7 m8 m9 m10 m11 m12 m13 m14 m15G3G0G1G2 PROM实现B3B0B1null1 1 1 0 0 0
0 1 0
1 0 0例:试用PLA实现2位二进制可逆计数器。当X=0时,进行加法计数;X=1时,进行减法计数。触发器为JK解:X为控制信号,Y为进位(借位)输出信号。0 0 0 0 0 1
0 1 0
0 1 11 0 0
1 0 1
1 1 0
1 1 10 1 0 1 0 0
1 1 0
0 0 1①画状态图②列状态转移表null③画阵列图null例:用PLA实现具有七段显示的模12计数器y4 y3 y2 y1 y4n+1 y3n+1 y2n+1 y1n+1 J4 K4 J3 K3 J2 K2 J1 K1
0 0 0 0 0 0 0 1 0 × 0 × 0 × 1 ×
0 0 0 1 0 0 1 0 0 × 0 × 1 × × 1
0 0 1 0 0 0 1 1 0 × 0 × × 0 1 ×
0 0 1 1 0 1 0 0 0 × 1 × × 1 × 1
0 1 0 0 0 1 0 1 0 × × 0 0 × 1 ×
0 1 0 1 0 1 1 0 0 × × 0 1 × × 1
0 1 1 0 0 1 1 1 0 × × 0 × 0 1 ×
0 1 1 1 1 0 0 0 1 × × 1 × 1 × 1
1 0 0 0 1 0 0 1 × 0 0 × 0 × 1 ×
1 0 0 1 1 0 1 0 × 0 0 × 1 × × 1
1 0 1 0 1 0 1 1 × 0 0 × × 0 1 ×
1 0 1 1 0 0 0 0 0 × 1 × × 1 × 1null××××××××01000000 00 01 11 1000
01
11
10y4y3y2y10100×××××××××××× 00 01 11 1000
01
11
10J4K40000××××××××0100 00 01 11 1000
01
11
10J3××××××××0100×××× 00 01 11 1000
01
11
10K3y4y3y2y1y4y3y2y1y2y1y4y3××10××××××10××10 00 01 11 1000
01
11
10J2y4y3y2y101××××××01××01×× 00 01 11 1000
01
11
10K2y4y3y2y1null1××1××××1××11××1 00 01 11 1000
01
11
10y4y3y2y1×11××××××11××11× 00 01 11 1000
01
11
10J1K1y4y3y2y1J4 =y3y2y1
K4 =y2y1J2 =y1
K2 =y1J1 =1
K1 =1nully4y3 y2y1 a b c d e f g
0 0 0 0 1 1 1 1 1 1 0 0
0 0 0 1 1 1 1 1 1 1 0 0
0 0 1 0 1 1 1 1 1 1 0 0
0 0 1 1 1 1 1 1 1 1 0 0
0 1 0 0 1 1 1 1 1 1 0 0
0 1 0 1 1 1 1 1 1 1 0 0
0 1 1 0 1 1 1 1 1 1 0 0
0 1 1 1 1 1 1 1 1 1 0 0
1 0 0 0 1 1 1 1 1 1 0 0
1 0 0 1 1 1 1 1 1 1 0 0
1 0 1 0 0 1 1 0 0 0 0 1
1 0 1 1 0 1 1 0 0 0 0 1y4y3 y2y1 a b c d e f g
0 0 0 0 1 1 1 1 1 1 0 0
0 0 0 1 0 1 1 0 0 0 0 1
0 0 1 0 1 1 0 1 1 0 1 2
0 0 1 1 1 1 1 1 0 0 1 3
0 1 0 0 0 1 1 0 0 1 1 4
0 1 0 1 1 0 1 1 0 1 1 5
0 1 1 0 0 0 1 1 1 1 1 6
0 1 1 1 1 1 1 0 0 0 0 7
1 0 0 0 1 1 1 1 1 1 1 8
1 0 0 1 1 1 1 0 0 1 1 9
1 0 1 0 1 1 1 1 1 1 0 0
1 0 1 1 0 1 1 0 0 0 0 1十位个位nullaby4y3y2y10 1 2 …………… 11gabgCPy2y1J1 10 J2 10J3 10 J4 10y3y4十位个位K1K2K3K4“1”Rdy1y2y3y4null例:用PLA设计时序锁试用PLA设计一个时序锁:
该锁有两个输入端( X1X2),一个输出端(Z)和四种状态(R、B、C、E)。
当输入X1X2为00 01 11序列时,该锁将由状态R B C,并使输出Z=1(开锁);当输入不是上述顺序时,该锁将进入状态E(出错)。
不管时序锁处于什么状态,只要输入X1X2为00,该锁都返回状态Rnull状态编码:R —— 00 、 B —— 01
C —— 11 、 E —— 10状态表:nullnullnullZ = Y1 Y20100010001000100 00 01 11 1000
01
11
10X1 X2Y1 Y2
K2 = X2 +X1Y1或者——J2 = X1 X2 Y1 null1××0××11××11××00××00 00 01 11 1000
01
11
10X1 X2Y1 Y2Y1n+1J2K200××00××00××11×× 00 01 11 1000
01
11
10X1 X2Y1 Y20××0×00×0××0 00 01 11 1000
01
11
10X1 X2Y1 Y2×11××00××10××11× 00 01 11 1000
01
11
10X1 X2Y1 Y2J1 = X1 K1 = X1 X2 K2 = X2 + X1 Y1 Y2n+1nullx1x2y1y2CPy1J1 10J2 10 y2K1K2ZRdZ = Y1 Y2x1x2y1y2null对比第五章逻辑图0 1J20 1J1X2CPX1Y1Y2ZK2K1+null例:用PLA设计一位全加器0101101000 01 11 100
1aibici-11110010000 01 11 100
1aibici-1SiCinull特点:
或阵列固定、与阵列可编程
输出及反馈电路有四种结构:专用输出结构、异步I/O输出结构、寄存器输出结构、算术选通反馈结构§6-3 可编程阵列逻辑PAL 出现于70年代末、80年代初
真正有效地利用PLD制作ASIC始自PALnull实现组合逻辑函数:将函数化简为最简与或式,将对应的与项相或输出即可。只能一次性编程。PALnullPAL的四种输出结构①专用输出结构 输出端只能作输出用,不能作输入用。电路中不含触发器,只能实现组合逻辑电路。输出端可以是或门、或非门,或者互补输出结构。常用的产品有 PAL10H8(10输入,8输出,高电平输出有效)、PAL10L8、 PAL16C1(16输入,1输出,互补型输出)等。null②可编程I/O输出结构 这种结构的或门输出经过三态输出缓冲器,可直接送往输出,也可再经互补输出的缓冲器反馈到与阵列输入。即它既可作为输出用,也可作为输入用。用于实现复杂的组合逻辑电路。常用的产品有 PAL16L8、PAL20L10等。当OE=0时,三态输出呈高阻态,I/O引脚作输入使用;
当OE=1时,三态门选通,I/O引脚作输出使用。null③带反馈的寄存器输出结构输出端多了一个D触发器,或阵列的输出接到D触发器的输入端,在时钟的上升沿,或阵列的输出信号存入D触发器。
触发器的Q输出可通过三态缓冲器送到输出端,而另一端输出信号可作为一个反馈信号反馈到与阵列。从而使电路具有记忆功能,易于实现各种时序逻辑电路null④异或输出结构 输出部分有两个或门,它们的输出经异或门进行异或运算后再经D触发器和三态缓冲器输出。这种结构不仅便于对与—或逻辑阵列输出的函数求反,还可以实现对寄存器状态进行保持操作。常用的产品有 PAL20X4、PAL20X8(X表示异或输出型)等。YQ可编程逻辑器件(PAL)可编程逻辑器件(PAL)部分型号 (如:PAL16R4 、 PAL10H8)
命名含义:
· 前缀PAL:器件类型
· 中间数字:输入引脚
· 最后数字:输出引脚
· 字母: H:与-或阵列(高输出)
L:与-或阵列(低输出)
异步可编程I/O结构
R:寄存型输出结构
X:与-或-异或逻辑阵列
A:算术选通反馈结构 null 优点:
提高了功能密度,节省空间。一片PAL可代替4-12片SSI或2-4片MSI
提高了速度
使用方便、提高了设计的灵活性
常用的PAL有20余种,但可以代替90%的通用SSI或MSI
有上电复位功能,保证电路从起始状态开始运行
有加密功能,防止非法复制
与PLA相比,编程更容易null 缺点:
PAL采用熔丝工艺,编程后无法改写
要满足不同的输出结构,必须选用不同型号的PAL器件null§6-4 通用阵列逻辑GAL 优点:
通用性(高灵活性)
每个宏单元均可根据需要任意组态,所以既可实现组合电路,又可实现时序电路;
既可实现Moore电路,又可实现Mealy电路;
当输入引脚不够使用时,可将OMLC组态为输入端(即将OLMC编程为组合I/O组态,令三态输出处于禁止状态)
100%可编程(重复编程)
可擦写上百次至上千次null100%可测试
GAL的宏单元接成时序状态,测试时测试软件可将其状态任意设置为某一状态,从而缩短测试过程,保证电路再编程后对编程结果100%可测。
进一步减少备件
GAL品种少,使用更灵活,可以做到一片百用。若全部采用GAL设计产品,则产品器件种类相同,相互通用,可减少生产备件。
有加密功能和上电复位功能可编程逻辑器件(GAL)可编程逻辑器件(GAL)通用阵列逻辑(GAL)
1.种类:
① 普通型GAL
与门阵列可编程,或门阵列固定连接
GAL16V8、GAL20V8等
② 通用型GAL
·简化输出逻辑宏单元的结构
·增加阵列规模
·增加两个专用乘积项
异步复位乘积项
同步置位乘积项
GAL18V10、GAL22V10、GAL26CV12等null③ 异步型GAL
适用于异步时序逻辑
每个输出逻辑宏单元OLMC中有8个乘积项
·4个用于实现与-或式逻辑函数
·4个分别作为异步复位、置位、时钟和输
出使能
GAL20RA10等
④ FPLA型
Lattice公司第二代产品,与门、或门阵列均可编程
GAL6001等
⑤ 在线可编程GAL
可在线编程和诊断
ispGAL16Z8等 null2. GAL器件的基本结构:
由可编程的与阵列、不可编程的或阵列、可编程的输出电路(输出逻辑宏单元OLMC)三部分组成null♦ GAL16V8
① 基本组成 (P180图)
·8个输入缓冲器, 8个三态反向输出缓冲器(12~19脚)
·8个输出反馈/输入缓冲器
·最多可有8个输入+8个I/O=16,共32个互补输入(32条列线)
·与门阵列由8×8个与门构成共64个乘积项(即64行)
·共有32×8×8=2048个单元
·引脚11既可作使能端又可作输入;引脚1既可作时钟端又可作输入null可编程与阵列(32X64位)8个三态
输出缓冲
器12~198个输出逻辑宏单元OLMC8个输入
缓冲器
2~9输出使能缓冲器GAL16V8 逻辑图时钟输入♦ GAL16V8♦ GAL16V8② 引脚信号:
·信号输入:
·8个输入缓冲器输入
·输出反馈输入
·时钟、OE端(使能)输入
·OLMC结构控制信号:
SYN、AC0、AC1n、XORn
·信号输出:
输出最多为8个♦ GAL16V8♦ GAL16V8③ 输出逻辑宏单元(OLMC):
Ⅰ)组成
· 1个或门,每个输入对应与阵列中1项
· 1个异或门,由XOR控制,极性可编程XOR=1时反相
· 1个D触发器,对异或门的输出状态起存储作用,使GAL适用于时序逻辑
null01乘积项⊕D01OMUX+AC1(m)10-
11-
0-1
0-0AC1(n)AC0+TSMUX11
10
01
00FMUXXOR(n)CK 邻级输出OEPTMUXVccAC0AC1(n)null· 4个多路开关
输入选择PTMUX:极性选择,选择第1与项是否输入TSMUX: 三态选择,选择三态缓冲器使能第1“与项”控制使能
OE信号使能
禁止使能(“0”)
始终使能(“1”)FMUX:反馈选择,决定反馈回与矩阵的信号来源D触发器 本级OLMC的输出信号 邻级OLMC的输出信号
地OMUX:选择输出信号输出选择组合电路输出
经D触发器输出null4个多路开关:
PTMUX 、TSMUX、 FMUX 、OMUX
控制信号都是AC0和AC1(n) 输出逻辑宏单元(OLMC) 输出逻辑宏单元(OLMC)Ⅱ)工作模式
用户通过结构控制字SYN、AC0、AC1n、XORn
编程确定OLMC的结构
·三种模式,五种结构
ⅰ 寄存器模式:·组合模式
·寄存器输出模式
ⅱ 复合模式
ⅲ 简单模式: ·输入模式
·输出模式 nullOLMC功能表SYN是同步位:0表示GAL具有寄存器型输出能力,1表示GAL具有组合逻辑型输出null④ GAL16V8的控制字:GAL靠改变结构控制字实现输出编程,通过编程可以得到多种模式及输出组态GAL控制字有5种:SYN——同步控制字,1位,8个OLMC共用
AC0 ——结构控制字,1位,8个OLMC共用
AC1(n)——结构控制字,8位,每个OLMC一个
XOR(n)——极性控制字,8位,每个OLMC一个
PT ——乘积项禁止控制字,64位,每个与门一个共82位null①专用输入组态来自邻级的输出null⊕+VccXOR(n)O(n)②专用组合输出组态来自与门阵列null⊕+VccXOR(n)O(n)③复合输入/输出组态来自与门阵列null④寄存器组合输入/输出组态⊕+XOR(n)来自与门阵列来自邻级的输出OECKOECKnull⑤寄存器输出组态⊕D+XOR(n)CK来自邻级
的输出OECKOE♦ GAL16V8♦ GAL16V84. GAL编程基本原理GAL编程包括对GAL中的与阵列、结构控制字、用户标签阵列、加密位、整体擦除位等进行编程
GAL是通过向它的行地址图写入编程信息实现的nullGAL16V8行地址图移位寄存器(82位)阵列
阵列
电子标签电子标签保留地址空间
结构控制字(82位)加密(1位)PT0PT31PT32PT63保留(1位)擦除(1位)0
…
31
3233
…
59
60
61
62
63每个存储单元对应的存储数据不等长ROW:ROW:SIN每个地址单元对应的存储数据不等长通用阵列逻辑(GAL)通用阵列逻辑(GAL) GAL器件的电子标签:
利用GAL器件内部的一组存储单元,记录
有关信息:生产标识码
编程器标识码
模式识辨码 等
以区分GAL芯片的功能,设计软件版本
特点:·电子标签可重复编程
·GAL加密后,标签仍可读GAL器件的加密单元GAL器件的加密单元加密单元
· 加密单元编程后,禁止再编程和验证,
提高保密性
· 整片信息擦除,保密单元随之擦除null5. GAL的编程工具包括编程写入器
(GALLAB)编程开发软件:FM、ABEL、PALASM2脱机式编程器插卡式编程器芯片计算机 锁紧槽芯片nullGAL的编程与开发软件工具硬件工具null用编程软件对GAL进行编程的步骤:
建立用户源文件(熟悉语法规则)
对源文件进行编译(熟练操作命令)
向芯片写入编程数据null编译软件
规范
编程规范下载gsp规范下载钢格栅规范下载警徽规范下载建设厅规范下载
表利用FM软件对GAL编程
方法
快递客服问题件处理详细方法山木方法pdf计算方法pdf华与华方法下载八字理论方法下载
利用FM软件对GAL编程方法将编程器通过RS232与主机相连
用文本编辑软件(例如 UltraEdit),编写GAL设计源程序。内容包括 调用FM.EXE编译源程序。创建如下文件:
*.lst – 文档文件
*.plt – 熔丝图文件
*.jed – 标准的GAL装载数据文件
将*.jed 直接送到GAL编程器,对GAL芯片进行编程。null器件名
标题名
设计者姓名、日期
存储用户定义的有关信息(例如:功能等)
定义引脚名(可排成若干行)
注释(例如 ;EQUATIONS)
键入逻辑设计表达式(可排列成若干行)
方程式结束、注释结束的关键字。一般写DESCRIPTION 例1:用GAL16v8实现基本逻辑门例1:用GAL16v8实现基本逻辑门PLD16V8 BASIC GATES LI AND WANG 2011.06GATESB C D E M N P Q H GNDI J Z Y X W V U A VCC; EQUATIONSU =/AV = B*CW =D+EY =/P*/Q + P*QZ = /H+/I +/JDESCRIPTIONX =/M*/N例1:用GAL16v8实现基本逻辑门例1:用GAL16v8实现基本逻辑门PLD16V8 BASIC GATES LI AND WANG 2011.06GATESB C D E M N P Q H GNDI J Z Y X W V U A VCC; EQUATIONSU =/AV = B*CW =D+EY =/P*/Q + P*QZ = /H+/I +/JDESCRIPTIONX =/M*/N例2、用GAL16v8实现基本触发器例2、用GAL16v8实现基本触发器nullPLD16V8BASIC FLIP-FLOPLI AND WANG 2011.06.06FFCLK S R PR T D J K CLR GNDOE QJC QJT QDC QDT QTC QTT QSC QST VCC;EQUATIONSQST:=/S+R*QSTQSC:=/R+S*QSC ;RS-TYPE FFQTT :=PR+/CLR*/T*QTT+/CLR*T*QTCQTC :=CLR+/PR*/T*QTC+/PR*T*QTT ;T-TYPE FFQDT :=PR+/CLR*DQDC:=CLR+/PR*/D ;D-TYPE FFQJT :=PR+/CLR*J*QJC+/CLR*/K*QJTQJC :=CLR+/PR*/J*QJC+/PR*K*QJT ;JK-TYPE FFDESCRIPTIONnullABEL样本文件2/4线译码器 MODULE decoder
DECLARATIONS
a , b pin;
y0 , y1 , y2 , y3 pin is type 'com' ;
TRUTH_TABLE ( [ a, b] -> [y0,y1,y2,y3] )
[ 0, 0] -> [ 1 , 0 , 0 , 0];
[ 0, 1] -> [ 0 , 1 , 0 , 0];
[ 1, 0] -> [ 0 , 0 , 1 , 0];
[ 1, 1] -> [ 0 , 0 , 0 , 1];
END decodernull同步模4二进制递增计数器MODULE cnt4
DECLARATIONS
cp pin;
q1 , q0 pin is type 'reg' ;
Co pin is type 'com' ;
s0=^b00; s2=^b10;
s1=^b01; s3=^b11;
EQUATIONS
[q1,q0].clk = cp ;
STATE_DIAGRAM [q1,q0]
STATE s0: GOTO s1 WITH Co = 0 ;
STATE s1: GOTO s2 WITH Co = 0;
STATE s2: GOTO s3 WITH Co = 0;
STATE s3: GOTO s0 WITH Co = 1;
END句尾
分号状态图段逻辑
方程段变量
说明段ABEL样本文件null四种PLD的结构特点 null关于PAL实例:试用PAL实现下列逻辑函数。解:化简得最简与或式:null 用PAL进行逻辑设计的一般步骤: (1) 建立对给定问题的逻辑描述;(2) 写出相应的函数表达式;(3) 选择合适的器件;(4) 编程实现。null例 采用PAL构成单行道交叉路口交通灯信号控制器。图中,1、2为单行道路;输入装置为探测器X1和X2。当车辆通行时,相应探测器给出逻辑“1”信号;否则为逻辑“0”信号。交通信号灯是输出装置,有红(R)、绿(G)、黄(Y)三色。null同步时序电路: CP为时钟信号;INIT为初始化信号,用来置系统于初始状态。null设初始状态为S0(允许1通过,禁止2通过), S3和S7为交通转换通行的过渡状态R---红;Y---黄; G---绿null状态表令:null 8个状态,需3个触发器,状态分配:
状 态: S0 S1 S2 S3 S4 S5 S6 S7
Q2Q1Q0: 000 001 010 011 100 101 110 111null激励函数和输出函数表达式:null 选用PAL16RP8,共有20根引脚,根据器件功能和交通灯控制器的输入、输出设置,对PAL16RP8的引脚分配如下图所示。CPX1X2INITNCNCNCNCNCGNDUccG2Y2R2G1Y1Q2(R1)Q1Q01101120PAL16RP8nullnull与阵列、或阵列
均可编程(PLA)与阵列固定,或阵
列可编程(PROM)与阵列可编程,或
阵列固定(PAL等)PROM 、PLA与PAL 的比较null与门
阵列或门
阵列乘积项和项PLD主体输入
电路输入信号互补
输入输出
电路输出函数 可由或阵列直接输出,构成组合输出;
通过寄存器输出,构成时序方式输出。PLD的基本结构null可编程逻辑宏单元(Marocell)
是PLD的基本结构, 由它来实现基本的逻辑功能
可编程内连线
负责信号传递,连接所有的宏单元
可编程I/O控制块§6-5 基于乘积项技术的CPLDnull基于乘积项技术的CPLD每个阵列逻辑块:16个逻辑宏单元6.5 CPLD6.5 CPLD(1) 逻辑阵列块(LAB)图 MAX7128S的结构null(2) 宏单元结构 乘积项阵列
可编程触发器乘积扩展项并联逻辑扩展项null(3) 扩展乘积项图共享扩展乘积项结构null 图 并联扩展项馈送方式null(4) 可编程连线阵列 不同的LAB通过在可编程连线阵列(PIA)上布线,以相互连接构成所需的逻辑。图PIA信号布线到LAB的方式null(5)I/O控制块图EPM7128S器件的I/O控制块§ 6-6 现场可编程门阵列(FPGA)§ 6-6 现场可编程门阵列(FPGA)现场可编程门阵列(FPGA)是80年代中期发展起来的一种可编程的大规模集成器件。
以FPGA为核心的PLD产品是近几年集成电路中发展最快的产品
♦ 特点:
· 体积小
· 可靠性高
· 可现场编程,成为产品后还可反复修改null FPGA的结构:可编程逻辑单元(Configurable Logic Blocks)
可编程I/O单元(Input/Output Blocks)
可编程内部互连资源PI或IR(Programmable Interconnection)nullFPGA的基本结构 null 存储器资源(Block RAM和Select RAM)
数字时钟管理单元(分频/倍频、数字延迟)
I/O多电平标准兼容(Select I/O)
算术运算单元(乘法器、加法器)
特殊功能模块(MAC等硬IP核)
微处理器(PPC405等硬处理器) 随着工艺的进步和应用系统需求,一般在FPGA中还包含以下可选资源:nullFPGA基于LUT技术,采用SRAM工艺的FPGA基于反熔丝(Anti-fuse)技术的FPGAnull基于查找表技术(Look-Up table),采用SRAM工艺的FPGALUT主要适合SRAM工艺生产,目前大部分FPGA都是基于SRAM工艺的
SRAM工艺的芯片在掉电后信息就会丢失,一定需要外加一片专用配置芯片
上电时,由这个专用配置芯片把数据加载到FPGA中,然后FPGA就可以正常工作
配置时间很短,不会影响系统正常工作。null缺点:编程数据信息在系统断电时丢失 ,每次上电时,需从器件的外部存储器或计算机中将编程数据写入SRAM中。
优点:可进行任意次数的编程 ,并可在工作中快速编程 ,实现板级和系统级的动态配置 ,因此称为在线重配置的PLD或可重配置硬件如:Altera的所有FLEX,ACEX,APEX系列,Xilinx的Spartan,Virtex查找表 FPGA查找表 FPGA图FPGA查找表单元内部结构null一个N输入查找表 (LUT,Look Up Table)可以实现N个输入变量的任何逻辑功能,如 N输入“与”、 N输入“异或”等。
输入多于N个的函数、方程必须分开用几个查找表( LUT)实现什么是查找表?基于查找表的结构模块 null0000010100000101输入 A 输入 B 输入C 输入D 查找表
输出16x1
RAM查找表原理多路选择器null采用SRAM工艺的FPGA芯片的配置方法主要有三种:
1.由计算机通过下载电缆配置、2.用专用配置芯片(如Altera公司的EPCX系列芯片)配置、3.采用存储器加微控制器的方法配置。
第一种方法适合调试设计时用
第二种和第三种在实际产品中使用较多。
第二种方法的优点在于外围电路非常简单,体积较小,适用于不需要频繁升级的产品;
第三种方法的优点在于成本较低,升级性能好。null以上几种方法在系统加电时,都需要将配置的比特流数据按照确定的时序写入SRAM工艺的FPGA。
因此,采用一定的电路对配置FPGA的数据引脚进行采样,即可得到配置数据流信息。利用记录下来的配置数据可对另一块FPGA芯片进行配置,就实现了对FPGA内部设计电路的克隆。 缺点:SRAM工艺的PLD一般不可以加密。null基于反熔丝(Anti-fuse)技术的FPGA
缺点:不能重复擦写,初期开发过程比较麻烦,费用也比较昂高。
优点: · 不需要外加专用的配置芯片;
· 布线能力强,系统速度快,功耗低;
· 抗辐射能力强,耐高低温,可以加密;
· 在一些有特殊要求的领域中运用较多,如军事及航空航天。
Act