数字逻辑设计及应用 第6章组合逻辑电路设计实例 桶式移位景 简草浮点编码景 叉优先级编码器 级联比较器 关模比较器
第6章 组合逻辑电路设计实例 数字逻辑设计及应用 桶式移位器 简单浮点编码器 双优先级编码器 级联比较器 关模比较器
桶式移位器 思路:输出的每一位都是从16个輪入中选出的 多路复用景(数据选择景) 需要解决的问题: (1)需要多少个16选1的多路复用器? (2)如何控制输出移位? 设计一个简单16位桶式移位器(向左移位) 16个数据输入和16个数据输出 用4位控制输入S[3:0]指定移动位数,例:S=0101 若输入:0123456789101112131415 则输出:5678910111213141501234
桶式移位器 具有n个数据输入和n个数据输出 控制输入:指定输入输出之间如何移动数据 (移位方向、移位类型、移动的位数) 设计一个简单16位桶式移位器(向左移位) 16个数据输入和16个数据输出 若输入:0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 则输出:5 6 7 8 9 10 11 12 13 14 15 0 1 2 3 4 用4位控制输入S[3:0]指定移动位数,例: S=0101, 思路:输出的每一位都是从16个输入中选出的 ——多路复用器(数据选择器) 需要解决的问题: (1)需要多少个16选1的多路复用器? (2)如何控制输出移位?
方案一:利用74x151 74x151 1、如何扩畏路复用器? EN 16个输入端;4个地址选择端; ABc D[15:0] DO d En s[2:0] CBA Y DZ D[15:8] D7~D0 S3 EN s[2:0] CBA Y 当S=0101时 D[7:0] D7~D0 s[3:0] YED5
方案一:利用74x151 1、如何扩展路复用器? 16个输入端;4个地址选择端; EN CBA Y D7~D0 EN CBA Y D[7:0] D7~D0 D[15:8] S3 Y Y EN A B Y C Y D0 D7 74x151 当S=0101时 Y=D5 S[2:0] S[2:0] S[3:0] D[15:0]
2、如何产生移位?? 通过控制数据輪入端的连接产生移位 74×151 74X151 EN dEN S[2: 0]-CBA s[2:01-cBA DIODO DI2 DO DI1-D1 DI3-D1 DI2 D2 YO DI4 -D2 YY2 DI3-D3 DI5 -D3 DI4 -D4 DI6 -D4 DI5-D5 DI7-D5 DI6-D6 DIO -D6 DI7-D7 DI1-D7
2、如何产生移位?? EN CBA D0 D1 D2 D3 D4 D5 D6 D7 74x151 Y Y DI0 DI1 DI2 DI3 DI4 DI5 DI6 DI7 EN CBA D0 D1 D2 D3 D4 D5 D6 D7 74x151 Y Y S[2:0] Y0 DI1 DI2 DI3 DI4 DI5 DI6 DI7 DI0 S[2:0] Y1 DI2 DI3 DI4 DI5 DI6 DI7 DI0 DI1 S[2:0] Y2 通过控制数据输入端的连接产生移位
2、如何产生移位?? 74X151 通过控制数据输入端的连接产生移位<EN 74×151b—绿色表示高位 74x151 红色表示低位 ABC DO d en D7 s[2:0] CBA Y DIN[o15:9] D7~D0 Y1 S3 d eN s[2:0] CBA Y DIN[8:1] D7~D0
EN A B Y C Y D0 D7 74x151 2、如何产生移位?? 通过控制数据输入端的连接产生移位 EN CBA Y D7~D0 EN CBA Y DIN[7:0] D7~D0 DIN[15:8] Y0 S[2:0] S[2:0] S3 DIN[8:1] DIN[0,15:9] Y1 74x151 74x151 绿色表示高位 红色表示低位
DIN[14:7] 74x151 P334DN605] DOUT15 74x151 图6-1 DIN[136] 74x151 DIN[5:01514] DOUT14 74x151 DIN[o15:9] 74x151 DIN[8:1] DOUT1 74x151 DIN[15:8] 74x151 DIN[7:0] DOUTO 74x151 DIN[15:0] S3 DoUT[15:0] s[2:0] s[3:0]
P334 图6-1 DIN[14:7] DIN[6:0,15] DIN[13:6] DIN[5:0,15,14] DIN[0,15:9] DIN[8:1] DIN[15:8] DIN[7:0] DIN[15:0] S[3:0] DOUT15 DOUT14 DOUT1 DOUT0 DOUT[15:0] S[2:0] S3 74x151 74x151 74x151 74x151 74x151 74x151 74x151 74x151
DIN[14:7] DoUT[15:0] 74x251 P334DN6015] 74x251 利用三态输出 图6-1 DIN[136] 74x251 74x251 DIN[5:01514] 74x251 基本原理: 利用多路复用景, DIN[o15:9] 通过控制数据輪 74×251 DIN[8:1] 入端的连接使輪 74x251 DIN[15:8] 出产生移位。 74x251 DIN[7:0] 74x251 乔行处理 DIN[15:0] S3 52:0负载太大 s[3:0]
P334 图6-1 DIN[14:7] DIN[6:0,15] DIN[13:6] DIN[5:0,15,14] DIN[0,15:9] DIN[8:1] DIN[15:8] DIN[7:0] DIN[15:0] S[3:0] S[2:0] S3 74x251 74x251 74x251 74x251 74x251 74x251 74x251 74x251 利用三态输出 74x251 DOUT[15:0] 基本原理: 利用多路复用器, 通过控制数据输 入端的连接使输 出产生移位。 并行处理 负载太大
方案二:利用74x157 如何利用2輪入4位多路复用控制移位? 74×157 基本原理: 利用多路复用景, DN[3:0]-A4-A0 Y4~Y0 DIN[2:03] B4~B0 通过控制数据輪 入端的连接使輪 当S=0时,Y=A,不移位 出产生移位。 当S=1时,Y=B,相当于移动一位 改变A端输入数据的连接顺序 可以使输出:左/右移动一或多位
方案二:利用74x157 G S A4~A0 B4~B0 Y4~Y0 74x157 DIN[3:0] DIN[2:0,3] 如何利用2输入4位多路复用控制移位? 基本原理: 利用多路复用器, 通过控制数据输 入端的连接使输 当S=0时,Y=A,不移位 出产生移位。 当S=1时,Y=B,相当于移动一位 改变A端输入数据的连接顺序 可以使输出:左/右移动一或多位
74x157 DI[15:12] A4~A0 B4~B0 Y4~YoYo[15:12] DI[14:11] G S s=0 DI[11:8] A4~A0 YEA B4NB0 Y4NY0 YO[11: 8 DI[10:7] 不移位 G S DI[7:4] S=1 A4~A0 B40B0 Y4MYO-TYO[7: 4] DI[6:3] 移动1位 DI[3:0] A4~A0 注意移位方向 B4NRO Y4N YOR Yo[3:0] DI[2:015] DI[15:0] YO[15:0] sO
74x157 A4~A0 B4~B0 G S Y4~Y0 YO[3:0] YO[7:4] YO[11:8] YO[15:12] DI[3:0] DI[7:4] DI[11:8] DI[15:12] DI[2:0,15] DI[6:3] DI[10:7] DI[14:11] S0 DI[15:0] YO[15:0] A4~A0 B4~B0 G S Y4~Y0 A4~A0 B4~B0 G S Y4~Y0 A4~A0 B4~B0 G S Y4~Y0 S = 0 Y = A 不移位 S = 1 Y = B 移动1位 注意移位方向
DI[15:0] Do[15:0] 74X157 74x157 74×157 74x157 74x157 74x157 74x157 74x157 74x157 74x157■174x157 74x157 74×157 74x157 74X157 74×157 s[3:0] S1 S2 S3 si=1:移动1位移动2位移动4位移动8位 s=0:不移动串行方式,节省器件,延迟大,P35图6-2
DI[15:0] 74x157 74x157 74x157 74x157 S0 74x157 74x157 74x157 74x157 S1 74x157 74x157 74x157 74x157 S2 74x157 74x157 74x157 74x157 S3 DO[15:0] S[3:0] Si=1: 移动1位 移动2位 移动4位 移动8位 Si=0:不移动 串行方式,节省器件,延迟大,P335 图6-2