三态缓冲器
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
D0 D1 Dm
当使能有效时
· · · 多路选择器 Y
Y =
···
A0 A1 An
2n −1 i=0
∑
Dim i
m=2n
n个选择控制变量的每种取值组合对应选中m=2n 路输入数据 中的一路送到输出端。
一. 常用多路选择器的设计
1. 8 选 1 多路选择器 功能表 输入 /EN 1 0 0 0 0 0 0 0 0 C d 0 0 0 0 1 1 1 1 B A 输出 Y 0 D0 D1 D2 D3 D4 D5 D6 D7 /Y 1 D0 D1 D2 D3 D4 D5 Dg HDL模型
使能有效,方向B→A
使能有效,方向A→B
使能无效,各自流动
4.5.4 多路选择器
多路选择器(Multiplexers)又称数据选择器、多路开关,常记为MUX。 它是一种多路输入、单路输出的组合逻辑电路。记为 n/1 或 n —1 逻辑功能:当使能端 EN 有效时,在选择控制变量的控制下,从多路输 入数据里选中一路送到输出端。 EN
思考:Verilog HDL建模?
74LS541 作为输入端口的应用举例
微处理器
/RD /SELA
DB0 DB1 DB2 DB3 DB4 DB5 DB6 DB7
端口A
G1 74LS541 G2 A1 A2 A3 A4 A5 A6 A7 A8 Y1 Y2 Y3 Y4 Y5 Y6 Y7 Y8 DB0 DB1 DB2 DB3 DB4 DB5 DB6 DB7
C B A
F7
A2 A1 A0
8 路分时传送
8 路分时传送Verilog HDL模型 module time_tran (en, sel, D, F) ; input en ; input [2:0] sel ; input [7:0] D ; output [7:0] F ; always @ (en or sel or D) if (en==1) case (sel) 3’b000 : F[0]=D[0]; 3’b001 : F[1]=D[1]; …… 3’b111 : F[7]=D[7]; endcase else F=8’b0; endmodule
4. 分析 74LS153的逻辑功能,建立Veriloh HDL模型
74LS153功能表 输入 /E0 1 0 0 0 0 X2 X1 d 0 0 1 1 d 0 1 0 1 输出 Y0 0 a0 a1 a2 a3 /E1 1 0 0 0 0 输入 X2 X1 d 0 0 1 1 d 0 1 0 1 输出 Y1 0 b0 b1 b2 b3
逻辑功能: 16选1 Y A3=0时, 8选1 Y1
Y Y 74LS151 (1) D7……D0 C B A EN D7 … D0
Y2
Y Y 74LS151 (2) D7……D0 C B A EN
≥1
D15 … D8
高位变量A3 0: 使能1片 1:使能2片
1
A3
A2 A1 A0
低位变量共享。
分析图示电路的逻辑功能 Y
Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y7
/SELP /SELQ /SELR /SELS /SELT /SELU /SELV /SELW
R S T U V W SDATA
译码器
当译码器的所有使能端有效时,SS2~SS0的组合 使/SELP~/SELW在同一时刻只有一个有效,从 而使 8 个数据源 P ~ W 中的一个驱动 SDATA; 当使能端无效时,则没有一个三态门被使能,输 出均为高阻态。
00: 01: 10: 11: A→ALU B→ALU C→ALU D→ALU 寄存器选择 数据
多 路 选 择 器
8位
ALU
译码 指令
操作码 001
2. 多路选择器与多路分配器联用,实现多通道数据分时传送。
en
D0 D1
。 。 。 多 路 选 择 器 多 路 分 配 器 。 。 。
F0 F1
D7
C B A
D0 D1 D2 D3 D4 D5 D6 D7
/IORQ A0 A1 A2
译 码 器
用 户 输 入
端口B
G1 74LS541 G2
/SELB
思考: Verilog HDL建模
DB[0~7]
用 户 输 入
A1 A2 A3 A4 A5 A6 A7 A8
Y1 Y2 Y3 Y4 Y5 Y6 Y7 Y8
DB0 DB1 DB2 DB3 DB4 DB5 DB6 DB7
使能有效,正常8选1功能
三态输出8选1的Verilog HDL模型
使能有效,8选1
使能无效,输出高阻
out = 1’bz;
3. 4 位 2 选 1 多路选择器
/G S 1 1A
& &
&
≥1
功能表 1B 输入 /G S 1 d 0 0 0 1 输出 1Y 2Y 3Y 4Y 0 0 0 0 1A 2A 3A 4A 1B 2B 3B 4B 2A 2B 3A 3B 4A 4B
变形符号
高有效使能 原码输出
低有效使能 原码输出
高有效使能 反码输出
低有效使能 反码输出
三态缓冲器的Verilog HDL模型及仿真
使能无效 输出高阻
使能有效 正常逻辑输出
三态缓冲器常用于多个数据源 共享一根(组)公用线(总线)
P Q
使能端
EN1 /EN2 /EN3 SS0 SS1 SS2
G1 G2A G2B A B C
MSI器件74LS245是一个8位三态总线收发器,一个使能输入端G, 一个方向选择输入端DIR决定传输方向:DIR=1时,数据从A传到B; DIR=0时,数据从B传到A。逻辑图及逻辑符号如下: /G DIR
& & B1 . . . . . . B8
G DIR A1 A2 A3 A4 A5 A6 A7 A8 B1 B2 B3 B4 B5 B6 B7 B8
4.5.3 三态缓冲器 三态缓冲器(Three – state Buffer)又称为三态门、三态驱动器, 其三态输出受使能输入端的控制,当使能输入有效时,器件实现正常 逻辑状态输出(逻辑0、逻辑1);当使能输入无效时,输出处于高阻 状态,即等效于与所连接的电路断开。 三态缓冲器的逻辑符号 矩形符号
1 EN ▽ 1 EN ▽ 1 EN ▽ 1 EN ▽
D0 D1 D2 D3 D4 D5 D6 D7
Y
1
≥1
/Y
三态输出8选1逻辑电路图
&
&
&
&
&
&
&
&
1
1
1
D7
D6
D5
D4
D3
D2
D1
D0
1
1
1
1
A
B
C
/ EN
电路封装,逻辑符号
使能无效,输 出高阻状态。
▽
Y
Y
▽
74LS251
A B C
EN
D7 D 6 D 5 D 4 D 3 D 2 D 1 D 0
A4 A3 A4A3=11 A4A3=10 B A Y0
32选1 思考: Verilog HDL描述?
A4A3=00
A4A3=01
74LS153 (1/2) E0
a3 a2 a1 a0
A2 A1 A0
A2 C C Y Y A1 B B 74LS151 (4) A0 A A D7…D0 EN D31…D24
续前 if (n_e1==0) case ({x2,x1}) 2’b00 : y1=b[0]; 2’b01 : y1=b[1]; 2’b10 : y1=b[2]; 2’b11 : y1=b[3]; endcase else y1=1’b0; end endmodule
二. MSI 多路选择器的级联 分析图示电路的逻辑功能 A3=1时, 8选1
8选1的Verilog HDL模型
8选1的功能仿真
2. 三态输出的 8 选 1 多路选择器
功能表
输入 /EN 1 0 0 0 0 0 0 0 0 C B A 输出 Y
高阻
/Y
高阻
d d d 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1
D0 D1 D2 D3 D4 D5 D6 D7
/G1 /G2 A1 A2
&
MSI器件74LS541中包含8个独立的三态 门,并共用两个使能输入,逻辑图及逻辑 符号如下:
G1 G2 A1 A2 A3 A4 A5 A6 A7 A8 Y1 Y2 Y3 Y4 Y5 Y6 Y7 Y8
Y1 Y2 . . .
A7 A8 具有整形功能
Y7 Y8
74LS541逻辑符号
电路封装,逻辑符号
互补输出
Y
Y
74LS151
A B C
EN
D7 D 6 D 5 D 4 D 3 D 2 D 1 D 0
选择控制变量输 入端,C为高位。
低有效使 能输入端
8个数据输入端,其下标对 应选择控制变量C、B、A 状态组合的十进制值。
module demux1_4 (n_en, D, sel, Y,n_Y); input n_en; input [7:0] D; input [2:0] sel; output Y,n_Y; reg Y,n_Y; assign n_Y=~Y; Y Y always @ (n_en or D or sel) if ( ~n_en ) case ( sel ) A B C EN D7 D6 D5 D4 D3 D2 D1 D0 3’b000 : Y=D[0]; 3’b100 : Y=D[4]; 3’b001 : Y=D[1]; 3’b001 : Y=D[5]; 3’b010 : Y=D[2]; 3’b110 : Y=D[6]; 3’b011 : Y=D[3]; 3’b111 : Y=D[7]; default: Y=1’b0; endcase else Y=1’b0; endmodule
A1 . . . . . 具有整形功能 . . . .
. . .
74LS245逻辑符号 A8
总线A
/EN
G DIR A1 A2 A3 A4 A5 A6 A7 A8 B1 B2 B3 B4 B5 B6 B7 B8
控制 电路
ATOB
/EN 0 0 1
ATOB 0 1 d
74LS245 总线B
描述 74LS245?
1Y
& &
≥1
2Y
& &
≥1
3Y
& &
≥1
4Y
&
逻辑符号 四位输出
1Y 2 Y 3Y 4 Y
74LS157
G
S
1 A 1B 2 A 2 B 3 A 3 B 4 A 4 B
使能输入, 低有效。
选择输入 0:A组四位 1: B组四位
数据输入端,A组、 B组各四位。
4位2选1的Verilog HDL建模 module sel_4_2_1(sel, n_en, A, B, Y) ; input sel , n_en ; input [3:0] A, B ; output [3:0] Y ; reg [3:0] Y ; always @ (sel or n_en or A or B) if (~n_en) case (sel) 思考: 1’b0 : Y=A ; 8位4选1的描述? 1’b1 : Y=B ; endcase else Y=4’b0 ; 改成 Y=4’bz; ? endmodule
Y
Y
74LS151 (3)
A2 C A1 A0 B
D7…D0 EN D23…D16
A
A2 C A1 B 74LS151 (2) A0 A D7…D0 EN Y Y D15…D8
Y
Y
74LS151 (1)
D7…D0 EN D7…D0
三. 多路选择器的应用 1. 数据选择传送 8位 寄存器A 寄存器B 寄存器C 寄存器D
使能有效时 Y的输出逻辑表达式? 使能有效时 Y的卡诺图? BA 00 0 1 01 11 10
d d 0 0 0 1 1 0 1 1 0 0 0 1 1 0 1 1
C
D0 D1 D3 D2 D4 D5 D7 D6
Y
/Y
≥1
&
&
&
&
&
&
&
&
D7
D6
D5
D4
D3
D2
D1
D0
C
/ EN
B
A
8选1逻辑电路图
74LS153逻辑符号 共用选择输入 使能控制/ E0 输入数据1 使能控制/ E1 输入数据2
X1 X2
E0 a0 a1 a2 a3
E1 b0 b1 b2 b3
输出数据(/ E0有效)
Y0
Y0 = X 2 • X 1 • a 0 + X 2 • X 1 • a 1 + + X 2 • X 1 • a2 + X 2 • X 1 • a3
输出数据(/ E1有效)
Y1
Y 1 = X 2 • X 1 • b0 + X 2 • X 1 • b 1 + + X 2 • X 1 • b2 + X 2 • X 1 • b3
功能:具有共用选择输入端的双4选1
74LS153的Verilog HDL描述 module my153(x2, x1, n_e0, n_e1, a, b, y0, y1) ; input x2, x1, n_e0, n_e1 ; input [3:0] a,b; output y0, y1; reg y0, y1; always @ (x2 or x1 or n_e0 or n_e1 or a or b) begin if (! n_e0) case ({x2,x1}) 2’b00 : y0=a[0]; 2’b01 : y0=a[1]; 2’b10 : y0=a[2]; 2’b11 : y0=a[3]; endcase 后续 else yo=1’b0;
当使能有效时
· · · 多路选择器 Y
Y =
···
A0 A1 An
2n −1 i=0
∑
Dim i
m=2n
n个选择控制变量的每种取值组合对应选中m=2n 路输入数据 中的一路送到输出端。
一. 常用多路选择器的设计
1. 8 选 1 多路选择器 功能表 输入 /EN 1 0 0 0 0 0 0 0 0 C d 0 0 0 0 1 1 1 1 B A 输出 Y 0 D0 D1 D2 D3 D4 D5 D6 D7 /Y 1 D0 D1 D2 D3 D4 D5 Dg HDL模型
使能有效,方向B→A
使能有效,方向A→B
使能无效,各自流动
4.5.4 多路选择器
多路选择器(Multiplexers)又称数据选择器、多路开关,常记为MUX。 它是一种多路输入、单路输出的组合逻辑电路。记为 n/1 或 n —1 逻辑功能:当使能端 EN 有效时,在选择控制变量的控制下,从多路输 入数据里选中一路送到输出端。 EN
思考:Verilog HDL建模?
74LS541 作为输入端口的应用举例
微处理器
/RD /SELA
DB0 DB1 DB2 DB3 DB4 DB5 DB6 DB7
端口A
G1 74LS541 G2 A1 A2 A3 A4 A5 A6 A7 A8 Y1 Y2 Y3 Y4 Y5 Y6 Y7 Y8 DB0 DB1 DB2 DB3 DB4 DB5 DB6 DB7
C B A
F7
A2 A1 A0
8 路分时传送
8 路分时传送Verilog HDL模型 module time_tran (en, sel, D, F) ; input en ; input [2:0] sel ; input [7:0] D ; output [7:0] F ; always @ (en or sel or D) if (en==1) case (sel) 3’b000 : F[0]=D[0]; 3’b001 : F[1]=D[1]; …… 3’b111 : F[7]=D[7]; endcase else F=8’b0; endmodule
4. 分析 74LS153的逻辑功能,建立Veriloh HDL模型
74LS153功能表 输入 /E0 1 0 0 0 0 X2 X1 d 0 0 1 1 d 0 1 0 1 输出 Y0 0 a0 a1 a2 a3 /E1 1 0 0 0 0 输入 X2 X1 d 0 0 1 1 d 0 1 0 1 输出 Y1 0 b0 b1 b2 b3
逻辑功能: 16选1 Y A3=0时, 8选1 Y1
Y Y 74LS151 (1) D7……D0 C B A EN D7 … D0
Y2
Y Y 74LS151 (2) D7……D0 C B A EN
≥1
D15 … D8
高位变量A3 0: 使能1片 1:使能2片
1
A3
A2 A1 A0
低位变量共享。
分析图示电路的逻辑功能 Y
Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y7
/SELP /SELQ /SELR /SELS /SELT /SELU /SELV /SELW
R S T U V W SDATA
译码器
当译码器的所有使能端有效时,SS2~SS0的组合 使/SELP~/SELW在同一时刻只有一个有效,从 而使 8 个数据源 P ~ W 中的一个驱动 SDATA; 当使能端无效时,则没有一个三态门被使能,输 出均为高阻态。
00: 01: 10: 11: A→ALU B→ALU C→ALU D→ALU 寄存器选择 数据
多 路 选 择 器
8位
ALU
译码 指令
操作码 001
2. 多路选择器与多路分配器联用,实现多通道数据分时传送。
en
D0 D1
。 。 。 多 路 选 择 器 多 路 分 配 器 。 。 。
F0 F1
D7
C B A
D0 D1 D2 D3 D4 D5 D6 D7
/IORQ A0 A1 A2
译 码 器
用 户 输 入
端口B
G1 74LS541 G2
/SELB
思考: Verilog HDL建模
DB[0~7]
用 户 输 入
A1 A2 A3 A4 A5 A6 A7 A8
Y1 Y2 Y3 Y4 Y5 Y6 Y7 Y8
DB0 DB1 DB2 DB3 DB4 DB5 DB6 DB7
使能有效,正常8选1功能
三态输出8选1的Verilog HDL模型
使能有效,8选1
使能无效,输出高阻
out = 1’bz;
3. 4 位 2 选 1 多路选择器
/G S 1 1A
& &
&
≥1
功能表 1B 输入 /G S 1 d 0 0 0 1 输出 1Y 2Y 3Y 4Y 0 0 0 0 1A 2A 3A 4A 1B 2B 3B 4B 2A 2B 3A 3B 4A 4B
变形符号
高有效使能 原码输出
低有效使能 原码输出
高有效使能 反码输出
低有效使能 反码输出
三态缓冲器的Verilog HDL模型及仿真
使能无效 输出高阻
使能有效 正常逻辑输出
三态缓冲器常用于多个数据源 共享一根(组)公用线(总线)
P Q
使能端
EN1 /EN2 /EN3 SS0 SS1 SS2
G1 G2A G2B A B C
MSI器件74LS245是一个8位三态总线收发器,一个使能输入端G, 一个方向选择输入端DIR决定传输方向:DIR=1时,数据从A传到B; DIR=0时,数据从B传到A。逻辑图及逻辑符号如下: /G DIR
& & B1 . . . . . . B8
G DIR A1 A2 A3 A4 A5 A6 A7 A8 B1 B2 B3 B4 B5 B6 B7 B8
4.5.3 三态缓冲器 三态缓冲器(Three – state Buffer)又称为三态门、三态驱动器, 其三态输出受使能输入端的控制,当使能输入有效时,器件实现正常 逻辑状态输出(逻辑0、逻辑1);当使能输入无效时,输出处于高阻 状态,即等效于与所连接的电路断开。 三态缓冲器的逻辑符号 矩形符号
1 EN ▽ 1 EN ▽ 1 EN ▽ 1 EN ▽
D0 D1 D2 D3 D4 D5 D6 D7
Y
1
≥1
/Y
三态输出8选1逻辑电路图
&
&
&
&
&
&
&
&
1
1
1
D7
D6
D5
D4
D3
D2
D1
D0
1
1
1
1
A
B
C
/ EN
电路封装,逻辑符号
使能无效,输 出高阻状态。
▽
Y
Y
▽
74LS251
A B C
EN
D7 D 6 D 5 D 4 D 3 D 2 D 1 D 0
A4 A3 A4A3=11 A4A3=10 B A Y0
32选1 思考: Verilog HDL描述?
A4A3=00
A4A3=01
74LS153 (1/2) E0
a3 a2 a1 a0
A2 A1 A0
A2 C C Y Y A1 B B 74LS151 (4) A0 A A D7…D0 EN D31…D24
续前 if (n_e1==0) case ({x2,x1}) 2’b00 : y1=b[0]; 2’b01 : y1=b[1]; 2’b10 : y1=b[2]; 2’b11 : y1=b[3]; endcase else y1=1’b0; end endmodule
二. MSI 多路选择器的级联 分析图示电路的逻辑功能 A3=1时, 8选1
8选1的Verilog HDL模型
8选1的功能仿真
2. 三态输出的 8 选 1 多路选择器
功能表
输入 /EN 1 0 0 0 0 0 0 0 0 C B A 输出 Y
高阻
/Y
高阻
d d d 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1
D0 D1 D2 D3 D4 D5 D6 D7
/G1 /G2 A1 A2
&
MSI器件74LS541中包含8个独立的三态 门,并共用两个使能输入,逻辑图及逻辑 符号如下:
G1 G2 A1 A2 A3 A4 A5 A6 A7 A8 Y1 Y2 Y3 Y4 Y5 Y6 Y7 Y8
Y1 Y2 . . .
A7 A8 具有整形功能
Y7 Y8
74LS541逻辑符号
电路封装,逻辑符号
互补输出
Y
Y
74LS151
A B C
EN
D7 D 6 D 5 D 4 D 3 D 2 D 1 D 0
选择控制变量输 入端,C为高位。
低有效使 能输入端
8个数据输入端,其下标对 应选择控制变量C、B、A 状态组合的十进制值。
module demux1_4 (n_en, D, sel, Y,n_Y); input n_en; input [7:0] D; input [2:0] sel; output Y,n_Y; reg Y,n_Y; assign n_Y=~Y; Y Y always @ (n_en or D or sel) if ( ~n_en ) case ( sel ) A B C EN D7 D6 D5 D4 D3 D2 D1 D0 3’b000 : Y=D[0]; 3’b100 : Y=D[4]; 3’b001 : Y=D[1]; 3’b001 : Y=D[5]; 3’b010 : Y=D[2]; 3’b110 : Y=D[6]; 3’b011 : Y=D[3]; 3’b111 : Y=D[7]; default: Y=1’b0; endcase else Y=1’b0; endmodule
A1 . . . . . 具有整形功能 . . . .
. . .
74LS245逻辑符号 A8
总线A
/EN
G DIR A1 A2 A3 A4 A5 A6 A7 A8 B1 B2 B3 B4 B5 B6 B7 B8
控制 电路
ATOB
/EN 0 0 1
ATOB 0 1 d
74LS245 总线B
描述 74LS245?
1Y
& &
≥1
2Y
& &
≥1
3Y
& &
≥1
4Y
&
逻辑符号 四位输出
1Y 2 Y 3Y 4 Y
74LS157
G
S
1 A 1B 2 A 2 B 3 A 3 B 4 A 4 B
使能输入, 低有效。
选择输入 0:A组四位 1: B组四位
数据输入端,A组、 B组各四位。
4位2选1的Verilog HDL建模 module sel_4_2_1(sel, n_en, A, B, Y) ; input sel , n_en ; input [3:0] A, B ; output [3:0] Y ; reg [3:0] Y ; always @ (sel or n_en or A or B) if (~n_en) case (sel) 思考: 1’b0 : Y=A ; 8位4选1的描述? 1’b1 : Y=B ; endcase else Y=4’b0 ; 改成 Y=4’bz; ? endmodule
Y
Y
74LS151 (3)
A2 C A1 A0 B
D7…D0 EN D23…D16
A
A2 C A1 B 74LS151 (2) A0 A D7…D0 EN Y Y D15…D8
Y
Y
74LS151 (1)
D7…D0 EN D7…D0
三. 多路选择器的应用 1. 数据选择传送 8位 寄存器A 寄存器B 寄存器C 寄存器D
使能有效时 Y的输出逻辑表达式? 使能有效时 Y的卡诺图? BA 00 0 1 01 11 10
d d 0 0 0 1 1 0 1 1 0 0 0 1 1 0 1 1
C
D0 D1 D3 D2 D4 D5 D7 D6
Y
/Y
≥1
&
&
&
&
&
&
&
&
D7
D6
D5
D4
D3
D2
D1
D0
C
/ EN
B
A
8选1逻辑电路图
74LS153逻辑符号 共用选择输入 使能控制/ E0 输入数据1 使能控制/ E1 输入数据2
X1 X2
E0 a0 a1 a2 a3
E1 b0 b1 b2 b3
输出数据(/ E0有效)
Y0
Y0 = X 2 • X 1 • a 0 + X 2 • X 1 • a 1 + + X 2 • X 1 • a2 + X 2 • X 1 • a3
输出数据(/ E1有效)
Y1
Y 1 = X 2 • X 1 • b0 + X 2 • X 1 • b 1 + + X 2 • X 1 • b2 + X 2 • X 1 • b3
功能:具有共用选择输入端的双4选1
74LS153的Verilog HDL描述 module my153(x2, x1, n_e0, n_e1, a, b, y0, y1) ; input x2, x1, n_e0, n_e1 ; input [3:0] a,b; output y0, y1; reg y0, y1; always @ (x2 or x1 or n_e0 or n_e1 or a or b) begin if (! n_e0) case ({x2,x1}) 2’b00 : y0=a[0]; 2’b01 : y0=a[1]; 2’b10 : y0=a[2]; 2’b11 : y0=a[3]; endcase 后续 else yo=1’b0;