《Verilog HDL数字系统设计——原理、实例及仿真》课件第8章一.pptx
第8章常用组合逻辑电路设计
8.1编码器
8.2译码器
8.3数据选择器和数据分配器8.4数据比较器
8.5奇偶产生/校验器
8.1编码器
用文字、数字或符号代表特定对象的过程称为编码。电路中的编码就是在一系列事物中将其中的每一个事物用一组二进制代码来表示。编码器就是实现这种功能的电路,图8.1是编码器的逻辑符号。编码器的逻辑功能就是把输入的2N个信号转化为N位输出。常用的编码器根据工作特点有普通编码器和优先编码器两种。
IN₀
0/Z10
10f
IN₁
0/Z11
11-
IN₂
0/Z12
12-
IN₃
IN₄
0/Z13
0/Z14
13-
14-
18
Ys
IN₅
IN6
0/Z15
0/Z16
15-
16-
a
YEx
IN₇
0/Z17
17t
1a
Yo
V18
2a
Y₁
ST
ENa
4a
Y₂
图8.1编码器的逻辑符号
HPRI/BIN
表8.1和表8.2分别是8线—3线的普通编码器和优先编码器
的真值表,表中输入用表示,输出用Yi(正逻辑)或(负逻辑)表示。普通编码器仅允许在任何时刻所有输入中只能有一个输入是有效电平(如表8.1中的低电平),否则会出现输出混乱的情况。而优先编码器则允许在同一时刻有两个或两个以上的输入信号有效,当多个输入信号同时有效时,只对其中优先权最高的一个输入信号进行编码。输入信号的优先级别是由设计者根据需要确定的。
输入
输出
IN。
IN₁
IN₂
IN₃
IN₄
IN₅
IN₆
IN,
Y₂
Y₁
Yo
0
1
1
1
1
1
1
1
0
0
0
1
0
1
1
1
1
1
1
0
0
1
1
1
0
1
1
1
1
1
0
1
0
1
1
1
0
1
1
1
1
0
1
1
1
1
1
1
0
1
1
1
1
0
0
1
1
1
1
1
0
1
1
1
0
1
1
1
1
1
1
1
0
1
1
1
0
1
1
1
1
1
1
1
0
1
1
1
表8.18线—3线普通编码器的真值表
输入
输出
IN。
IN₁
IN₂
IN₃
IN₄
IN₅
IN₆
IN,
Y₂
Y,
Y。
1
1
1
1
1
1
1
1
1
1
1
X
×
×
×
×
×
×
0
0
0
0
×
×
×
×
×
×
0
1
0
0
1
X
×
×
×
×
0
1
1
0
1
0
X
X
×
X
0
1
1
1
0
1
1
×
X
×
0
1
1
1
1
1
0
0
×
X
0
1
1
1
1
1
1
0
1
×
0
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
表8.2优先编码器的真值表
【代码8.1】实现普通编码器的VerilogHDL描述。
其功能仿真结果见图8.2。
0
曰iIN_N
iIN_N[7]iIN_N[6]iIN_N[5]iIN_N[4]iIN_N[3]iIN_N[2]iIN_N[1]iIN_N[0]
曰oY_N
oY_N[2]oY_N[1]oY_N[0]
1101111x1111111C01111111011111X1001111)0100000CX1111001X010
1
2
3
4
5
6
7
8
9
011
111
000
001
111
010
111
10
11
12
图8.2普通编码器的功能仿真结果
【代码8.2】实现8位优先编码器的VerilogHDL描述。
其功能仿真结果见图8.3。
bio01110100101110101C101011×10000X01101001101CA1111C10011011001000010101XOo101
000010011010001000111010000001
图8.38位优先编码器的功能仿真结果
曰iIN_N
HiIN_N[7]iIN_N[6]-iINN[5]iIN_N[4]-iIN_N[3]-iIN_N[2]-iIN_N[1] iIN_N[0]
曰oY_N
oY_N[2]
oY_N[1]
oY_N[0]
0
1
2
3
4
5
6
7
8
9
10
◎11
12
8.2译码器
8.2.1二进制译码器
二进制译码