560 likes | 753 Views
第六章 采用中、大规模集成电路 的逻辑设计. 本章内容: 加法器、数值比较器、译码器、多路选择器、计数器、寄存器、只读存储器、可编程逻辑阵列. 一、二进制并行加法器. 1. 一般并行加法器的缺点. C i S i A i B i C i-1. C 3 S 3 A 3 B 3 C 2. C 2 S 2 A 2 B 2 C 1. C 1 S 1 A 1 B 1 C 0.
E N D
本章内容: • 加法器、数值比较器、译码器、多路选择器、计数器、寄存器、只读存储器、可编程逻辑阵列
一、二进制并行加法器 • 1.一般并行加法器的缺点 Ci Si Ai Bi Ci-1 C3 S3 A3 B3 C2 C2 S2 A2 B2 C1 C1 S1 A1 B1 C0 C0 S0 A0 B0 C-1
2.改进(先行进位并行加法器) • Ci=(Ai+Bi)Ci-1 + AiBi • 设Pi=Ai+Bi,Gi=AiBi • 用代入法: • C0=P0C-1 + G0 • C1=P1P0C + P1G0 + G1 • C2=P2P1P0C + P2P1G0 + P2G1 + G2 • C3=P3P2P1P0C + P3P2P1G0 + P3P2G1 + P3G2 +G3
F4 F3 F2 F1 FC4 74283 C0 A4A3A2A1 B4B3B2B1 四位二进制加法器
3.芯片举例 • 例1、用74283设计一个四位加法/减法器。 • 分析:加法可直接实现; • 减法:[A-B]补=[A]补+[-B]补 • [-B]补=[B]原按位求反,末位+1 • =0,加法,C0=0 • =1,减法,C0=1 • 所以增加一个功能控制端M
例2、用74283设计一个8421BCD码到余3码的代码转换器。例2、用74283设计一个8421BCD码到余3码的代码转换器。 • 例3、用74283设计一个1位十进制数加法器。 • 用BCD码表示一位十进制数,由于74283进行的是二进制加法运算,所以需要对运算结果进行修正。
16 17 18 19 20 21 22 23 24 25
FC4 FC4 A4A3A2A1 B4B3B2B1 A4A3A2A1 B4B3B2B1 F4 F3 F2 F1 F4 F3 F2 F1 C0 C0 • 和的范围为0到19 ,在0~9范围时,直接输出;在10~19范围时,需要+6修正,所以需两片74283芯片。 • 修正标志:F=C4+F2F4+F3F4 0000 0110 修正标志
二、数值比较器7485 • A<B,A>B,A=B为三个级联输入端,用于扩展比较数的位数:一片4位,两片8位,n片4n位。级联时高位7485的级联输入端分别连接低位7485的三个输出端,只用1片7485时,三个级联输入端应分别接001。 7485 A3B3A2B2A1B1A0B0 FA>BFA<BFA=B A>BA<BA=B
三、译码器 • 译码器是将二进制代码翻译成十进制数字或字符的电路,如:数字仪表显示器、地址译码器、指令译码器等。 • 译码器是n输入,2n输出的电路。常见有二-四译码器,三-八译码器,四-十六译码器等。 • 以三、八译码器(74138)为例。
Y7Y6Y5Y4 Y3 Y2 Y1Y0 S3 S2 S1 A2A1A0 输出端 74138 使能控制端 输入端 三-八译码器
Y0 = M0 = m0 • Y1 = M1= m1 • Y3 = M3 = m3 • Y2 = M2 = m2 • Y4 = M4 = m4 • Y7 = M7 = m7 • Y6 = M6 = m6 • Y5 = M5 = m5
应用举例 • 1.地址译码器实例 地址线(8条) 256 内存单元 0 1 255 A7……A0 地址译码器 微处理器 …… …… …… ……
Ai Bi Gi-1 Di Gi • =m1 m2 m4 m7 • =m1 m2 m3 m7 • =Y1 Y2 Y3 Y7 • =Y1 Y2 Y4 Y7 • 2.用74183实现全减器 • 全减器:考虑低位向高位的借位的减法运算逻辑电路。 • Di=m1+m2+m4+m7 • 真值表: • Gi=m1+m2+m3+m7
& & 。 。 Di Gi • 电路图: Y7Y6Y5Y4 Y3 Y2 Y1Y0 A2A1A0 Ai BiGi-1 S3S2S1 0 0 1
Y7Y6Y5Y4 Y3 Y2 Y1Y0 Y7Y6Y5Y4 Y3 Y2 Y1Y0 S3 S2 S1 S3 S2 S1 A2A1A0 A2A1A0 • 分析:四输入,十六输出,需要用两片74138; • 0000~0111时,74138Ⅰ工作, • 1000~1111时,74138Ⅱ工作。 0 0 0 74138Ⅰ 74138Ⅱ 1 B C D A
四、多路选择器 • 多路选择器是多输入,单输出的组合逻辑电路,其功能为从多个输入中选择一个传送到输出端口。 • 常见有四路选择器、八路选择器、十六路选择器等。
D3D2D1D0 W A1A0 74153 输入端 输出端 选择控制端 • W = A1A0D0+A1A0D1+A1A0D2+A1A0D3
举例 • 多路选择器可实现任意一个n变量的逻辑函数,一般取其中的n-1个变量作为多路选择器的选择信号,另外一个变量作为数据输入。 • 例1.用74153实现 • 设A1=1,A0=B,Di=C • 形式转换
D3D2D1D0 W A1A0 • 练习:用74153实现F(A,B)=AB+AB 0110 F A B
课前练习:用JK触发器设计一个十进制同步递增计数器。课前练习:用JK触发器设计一个十进制同步递增计数器。 • 状态图: • 0000 0001 0010 0011 0100 • 1001 1000 0111 0110 0101
状态表: • 激励表: • 画激励函数卡诺图
画电路图 • 由所设计电路图可得: • Q4n+1=Q3Q2Q1Q4+Q1Q4 • Q3n+1=Q2Q1Q3+Q2Q1Q3 • Q2n+1=Q4Q2Q1+Q1Q2 • Q1n+1=Q1 • 检测: 1110 1010 1100 1111 1011 1101 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 有自恢复能力
五、计数器 • 计数器是对输入脉冲信号进行计数的时序逻辑部件。 • 分类: 加法计数 同步 二进制 脉冲信号 计数进制 计数方法 十进制 减法计数 异步 N进制 可逆计数
CPD CPU ABCD QAQBQCQD 74193 LD D,C,B,A:数据输入端,用于设置计数初值; CPU,CPD:计数脉冲 QDQCQBQA:计数值输出; QCC,QCB:进位、借位输出 Cr:清0; LD:预置控制,Cr=0的前提下,若LD=0,则使输出端为输入信号,LD=1时开始计数; QCB QCC Cr • 四位二进制可逆计数器74193
0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 • 计数过程: • QCC QCB 1111 1110 1101 1100 1011 1010
0000 0001 0010 0011 0100 1001 1000 0111 0110 0101 • 举例: • 用74193可实现任意模M计数器(M≤16)。 • 例1.用74193设计模10加法计数器。 1010 • 分析:利用74193的清0功能,当计数值由1001变到1010瞬间,计数值清0。
1 cp CPD CPU ABCD QAQBQCQD Q0Q1Q2Q3 0101 74193 1 LD & QCB QCC Cr
例2.用74193设计模12递减计数器。 0011 1111 0100 0101 0110 0111 1110 1000 1101 1100 1011 1010 1001 • 分析:在输出由0100变到0011的瞬间,输出值又回到1111(由预置功能实现)。
CPD CPU 1111 ABCD QAQBQCQD Q0Q1Q2Q3 1100 74193 LD ≥1 QCB QCC Cr 0
QAQBQCQD QAQBQCQD QCB QCC Cr QCB QCC Cr CPD CPU CPD CPU 74193高 74193低 A B C D A B C D LD LD • 例3.用74193实现两位十进制递增计数器。 Q0Q1Q2Q3 Q0Q1Q2Q3 & & cp 1 1 1 1
六、寄存器 • 寄存器是用于接收、存放、传送数据的电路。可用时序逻辑电路实现,也可用组合逻辑电路实现。 • 分类: 并入-并出 按传输方式 按功能分 基本寄存器 并入-串出 串入-并出 移位寄存器 串入-串出
MA MB cp Cr DL Q3Q2Q1Q0 D3D2D1D0 74194 DR • 中规模集成四位双向移位寄存器74194 D0D1D2D3:并行数据输入端DR:右移控制 DL:左移控制 Q0Q1Q2Q3:数据输出 11送数 01右移 10左移 00保持 MBMA:工作方式控制
举例 • 用74194构成模4环形计数器(初态1100) • 状态图 • 1100 • 0110 • 0011 • 1001 • 分析:当Q3=0时,相当于右移补0; • Q3=1时,相当于右移补1。
cp 1 1 1 0 1 MA MB CP Cr DL Q3Q2Q1Q0 D3D2D1D0 0011 74194 DR • 开始时MBMA输入11,并行输入1100,然后将MBMA变为01,右移数据。
七、只读存储器 静态 SRAM RAM 动态 DRAM 存储器 掩膜 ROM ROM 可编程 PROM 可擦编程 EROM
∙ • 1.ROM结构 不连通 连通不可编程 连通可编程
∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ 存储容量: • n位地址输入, • m位数据输出, • 存储容量为 A0 A1 A2 2n×m位 & & & & & & & & ≥1 F0 F1 ≥1
∙ ∙ ∙ • 阵列逻辑图画法 A0 A0 A1 A1 A2 A2 ∙ ∙ ∙ ∙ ∙ ∙ ∙ 与阵列 ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ F0 F1 或阵列
例1.用ROM实现一个二进制数到格雷码的代码转换器例1.用ROM实现一个二进制数到格雷码的代码转换器
∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ B3B3B2B2B1B1B0B0 ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ G0G1G2G3 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
例2.用ROM实现一个л发生器,输入为四位二进制数(由计数器产生0-15),输出为8421BCD码,串行地产生常数л=3.14159263589793。例2.用ROM实现一个л发生器,输入为四位二进制数(由计数器产生0-15),输出为8421BCD码,串行地产生常数л=3.14159263589793。