Tải bản đầy đủ (.pdf) (37 trang)

Kts c3

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (3.12 MB, 37 trang )

Chương 3: HỆ TỔ HP
I. Giới thiệu – Cách thiết kế hệ tổ hợp:
Mạch logic được chia làm 2 loại:
- Hệ tổ hợp (Combinational Circuit)
- Hệ tuần tự (Sequential Circuit).
Hệ tổ hợp là mạch mà các ngõ ra chỉ phụ thuộc vào giá
trị của các ngõ vào. Mọi sự thay đổi của ngõ vào sẽ làm ngõ ra
thay đổi theo.

Ngõ vào
(INPUT)

NguyenTrongLuat

CỔNG
LOGIC

Ngõ ra
(OUTPUT)

1


* Các bước thiết kế:
- Phát biểu bài toán.
- Xác định số biến ngõ vào và số biến ngõ ra.
- Thành lập bảng giá trị chỉ rõ mối quan hệ giữa ngõ vào
và ngõ ra.
Ngõ vào
Xn-1 … X1 X0
0



… 0 0

1

… 1 1

Ngõ ra
Ym-1 … Y1 Y0

- Tìm biểu thức rút gọn của từng ngõ ra phụ thuộc vào
các biến ngõ vào.
- Thực hiện sơ đồ logic.
NguyenTrongLuat

2


Vd: Thiết kế hệ tổ hợp có 3 ngõ vào X, Y, Z; và 2 ngõ ra F, G.
- Ngõ ra F là 1 nếu như 3 ngõ vào có số bit 1 nhiều hơn số bit
0; ngược lại F = 0.
- Ngõ ra G là 1 nếu như giá trị nhị phân của 3 ngõ vào lớn
hơn 1 và nhỏ hơn 6; ngược lại G = 0.
F XY
XY
00
01
11
10
Z

X Y Z
F G
1
0
0 0 0
0 0
1 1 1
0 0 1
0 0
1
0 1 0
0 1
XZ
YZ
0 1 1
1 1
F=XY+YZ+XZ
1 0 0
0 1
G XY
1 0 1
1 1
00 01 11 10
Z
1 1 0
1 0
1
1
0
1 1 1

1 0
XY
NguyenTrongLuat

1

1

1

XY

G=XY+XY= XY

3


F=XY+YZ+XZ

G=XY+XY= XY

X

Y

F

Z

G


NguyenTrongLuat

4


Trường hợp hệ tổ hợp không sử dụng tất cả 2n tổ hợp của ngõ
vào, thì tại các tổ hợp không sử dụng đó ngõ ra có giá trị tùy định.
Vd: Thiết kế hệ tổ
A B C D F2 F1 F0
hợp có ngõ vào biểu
0 0 0
0 0 0 0
diễn cho 1 số mã BCD.
0 0 1
0 0 0 1
Nếu giá trị ngõ vào
1 0 0
0 0 1 0
nhỏ hơn 3 thì ngõ ra có
0 0 0
0 0 1 1
giá trị bằng bình
0 0 1
0 1 0 0
phương giá trị ngõ
0 1 0
0 1 0 1
vào; ngược lại giá trị
0 1 1

0 1 1 0
ngõ ra bằng giá trị ngõ
1 0 0
0 1 1 1
vào trừ đi 3.
1 0 1
1 0 0 0
F2 = A + B C D + B C D
F1 = A D + B C D + B C D
F0 = A D + B D + A B C D
NguyenTrongLuat

1
1
1
1
1
1
1

0
0
0
1
1
1
1

0
1

1
0
0
1
1

1
0
1
0
1
0
1

1
X
X
X
X
X
X

1
X
X
X
X
X
X


0
X
X
X
X
X
X

5


II. Bộ cộng - trừ nhị phân:
1. Bộ cộng (Adder):
a. Bộ cộng bán phần (Half Adder – H.A):
Bộ cộng bán phần là hệ tổ hợp có nhiệm vụ thực hiện
phép cộng số học x + y (x, y là 2 bit nhị phân ngõ vào); hệ
có 2 ngõ ra: bit tổng S (Sum) và bit nhớ C (Carry).
x

S = xy + xy = xy
C= xy

S
H.A

y

C
x


x
0
0
1
1

y
0
1
0
1

NguyenTrongLuat

C
0
0
0
1

S
0
1
1
0

S
y
C
6



b. Bộ cộng toàn phần (Full Adder – F.A):
Bộ cộng toàn phần thực hiện phép cộng số học 3 bit x + y + z
(z biểu diễn cho bit nhớ từ vị trí có trọng số nhỏ hơn gởi tới)
S
xy
x
S
00 01 11 10
z
0
1
1
y F.A
z

1 1

C

x

y

z

C

S


0
0
0
0
1
1
1
1

0
0
1
1
0
0
1
1

0
1
0
1
0
1
0
1

0
0

0
1
0
1
1
1

0
1
1
0
1
0
0
1

NguyenTrongLuat

1

S = xyz + xyz +xyz+xyz
C

xy
00 01 11 10
z
0
1
1


1

1

1

C = xy +xz+yz
7


S =
=
=
S =

xyz + xyz +xyz+xyz
z (x y + x y) + z (x y + x y)
z (x  y) + z (x  y)
z  (x  y)

C = xy +xz+yz
= xy +xyz+xyz+xyz
= x y (1 + z) + z (x y + x y)
C = x y + z (x  y)

x
y

S


C
z
NguyenTrongLuat

8


2. Bộ trừ (Subtractor):
a. Bộ trừ bán phần (Half Subtractor – H.S):
Bộ trừ bán phần có nhiệm vụ thực hiện phép trừ số
học x - y (x, y là 2 bit nhị phân ngõ vào); hệ có 2 ngõ ra: bit
hiệu D (Difference) và bit mượn B (Borrow).
x

D

D = xy + xy = xy
B = xy

H.S
y

B
x

x
0
0
1
1


y
0
1
0
1

NguyenTrongLuat

B
0
1
0
0

D
0
1
1
0

D
y
B
9


b. Bộ trừ toàn phần (Full Subtractor – F.S):
Bộ trừ toàn phần thực hiện phép trừ số học 3 bit x - y - z
(z biểu diễn cho bit mượn từ ví trị có trọng số nhỏ hơn)

D
xy
x
D
00 01 11 10
z
0
1
1
y F.S
z

1 1

B

x

y

z

B

D

0
0
0
0

1
1
1
1

0
0
1
1
0
0
1
1

0
1
0
1
0
1
0
1

0
1
1
1
0
0
0

1

0
1
1
0
1
0
0
1

NguyenTrongLuat

1

S = xyz + xyz +xyz+xyz
S = z  (x  y)
B

xy
00 01 11 10
z
0
1
1 1

1

1


C = xy +xz+yz
C = x y + z (x  y)

10


3. Bộ cộng/trừ nhị phân song song:
a. Bộ cộng nhị phaân:
C3

+

C2

C1

M:

M3

M2

M1

M0

N:

N3


N2

N1

N0

S3

S2

S1

S0

C4
M3 N3

M2 N2

M1 N1

M0 N0

x y

x y

x y

x y


C

F.A

z

S

C3

C

F.A

z

C2

S

C

F.A

z

C1

C


F.A

S

S

S1

S0

z

C0
=0

74283
C4

S3

NguyenTrongLuat

S2

11


b. Bộ trừ nhị phân:
- Sử dụng các bộ trừ toàn phần F.S

- Thực hiện bằng phép cộng với bù 2 của số trừ
M – N = M + Bù_2(N) = M + Buø_1(N) + 1
M3 N3

M2 N2

M1 N1

M0 N0

x y

x y

x y

x y

C

C4

F.A

z

C3

C


F.A

z

C2

C

F.A

z

C1

C

F.A

S

S

S

S

S3

S2


S1

S0

NguyenTrongLuat

Kết quả: - C4 = 1 kết quả là số dương
- C4 = 0 kết quả là số âm

z

C0
=1

12


c. Bộ cộng/trừ nhị phân:
Phép toán C0
CỘNG
TRỪ

Ngõ vào điều khiển

Ni
Ni

T = 0: Cộng
T = 1: Trừ


C0 = T
yi = T Ni

M3 N3

M2 N2

M1 N1

M0 N0

x y

x y

x y

x y

C

C4

0
1

yi

F.A


z

C3

C

F.A

z

C2

C

F.A

z

C1

C

F.A

S

S

S


S

S3

S2

S1

S0

NguyenTrongLuat

z

T

C0

13


III. Hệ chuyển mã (Code Conversion):
- Hệ chuyển mã là hệ tổ hợp có nhiệm vụ làm cho 2 hệ thống
tương thích với nhau, mặc dù mỗi hệ thống dùng mã nhị
phân khác nhau.


nhị phân A

Hệ

chuyển



nhị phân B

- Hệ chuyển mã có ngõ vào cung cấp các tổ hợp mã nhị phân A
và các ngõ ra tạo ra các tổ hợp mã nhị phân B. Như vậy, ngõ
vào và ngõ ra phải có số lượng từ mã bằng nhau.

NguyenTrongLuat

14


Vd: Thiết kế hệ chuyển mã từ mã BCD thành mã BCD quá 3.
A B C D
0
0
0
0
0
0
0
0
1
1
1
1
1

1
1
1

0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1

0
0
1
1
0
0
1
1
0

0
1
1
0
0
1
1

NguyenTrongLuat

0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1

W = A + B (C + D)

W X Y Z

0
0
0
0
0
1
1
1
1
1
X
X
X
X
X
X

0
1
1
1
1
0
0
0
0
1
X
X
X

X
X
X

1
0
0
1
1
0
0
1
1
0
X
X
X
X
X
X

1
0
1
0
1
0
1
0
1

0
X
X
X
X
X
X

X = B  (C + D)
Y=C D
Z=D
A

W

B

C

X

D

Y
Z
15


IV. Bộ giải mã (DECODER):
1. Giới thiệu:

- Bộ giải mã là hệ chuyển mã có nhiệm vụ chuyển từ mã nhị
phân cơ bản n bit ở ngõ vào thành mã nhị phân 1 trong m ở
ngõ ra.

nhị phân

X0

Y0

X1

Y1

Xn-1

Ym-1


1 trong m

m = 2n
- Với giaù trị i của tổ hợp nhị phân ở ngõ vào, thì ngõ ra Yi
sẽ tích cực và các ngõ ra còn lại sẽ không tích cực.
- Có 2 dạng: ngõ ra tích cực cao (mức 1) và ngõ ra tích cực
thấp (mức 0).
NguyenTrongLuat

16



a. Bộ giải mã ngõ ra tích cực cao:

X0 (LSB)

Y0
Y1
Y2

X1

Y3

Y0 = X1 X0 = m0

Y3 Y2 Y1 Y0

0
0
1
1

0
0
0
1

0
1
0

1

0
0
1
0

0
1
0
0

1
0
0
0
Y0

Y1 = X1 X0 = m1

X0

Y2 = X1 X0 = m2
Y3 = X1 X0 = m3

X1 X0

X1

Ngoõ ra: Yi = mi


Y1
Y2
Y3

(i = 0, 1, .., 2n-1)
NguyenTrongLuat

17


b. Bộ giải mã ngõ ra tích cực thấp:

X0 (LSB)

Y0
Y1
Y2

X1

Y3

Y0 = X1 + X0 = M0 = m0
Y1 = X1 + X0 = M1 = m1

Ngoõ ra: Yi = Mi

Y3 Y2 Y1 Y0


0
0
1
1

1
1
1
0

0
1
0
1

1
1
0
1

1
0
1
1

0
1
1
1
Y0


X0

Y2 = X1 + X0 = M2 = m2
Y3 = X1 + X0 = M3 = m3

X1 X0

X1

Y1
Y2
Y3

(i = 0, 1, .., 2n-1)
NguyenTrongLuat

18


c. Bộ giải mã có ngõ vào cho phép:
- Ngoài các ngõ vào dữ liệu, bộ giải mã có thể có 1 hay
nhiều ngõ vào cho phép.
- Khi các ngõ vào cho phép ở trạng thái tích cực thì mạch
giải mã mới được hoạt động. Ngược lại, mạch giải mã sẽ không
hoạt động; khi đó các ngõ ra đều ở trạng thái không tích cực.
X0 (LSB) Y0

Y0


Y1

X1

X0

Y2
EN

Y3

EN X1 X0

Y3 Y2 Y1 Y0

0
1
1
1
1

0
0
0
0
1

X
0
0

1
1

X
0
1
0
1

NguyenTrongLuat

Y1

0
0
0
1
0

0
0
1
0
0

0
1
0
0
0


X1

Y2
Y3

EN
19


2. IC giải mã:
a. IC 74139: gồm 2 bộ giải mã 2 sang 4 ngõ ra tích cực thấp
2
3

1

14
13

15

1A (LSB)

1Y0

4

1B


1Y1

5

1Y2

6

1G

1Y3

7

2A (LSB)

2Y0

12

2B

2Y1

11

2Y2

10


2Y3

9

2G

NguyenTrongLuat

G

B A

Y3 Y2 Y1 Y0

1
0
0
0
0

X
0
0
1
1

1
1
1
1

0

X
0
1
0
1

1
1
1
0
1

1
1
0
1
1

1
0
1
1
1

20


b. IC 74138: bộ giải mã 3 sang 8 ngõ ra tích cực thấp


1
2
3

A (LSB)
B
C

Y0

15

Y1

14

Y2
Y3

6
5
4

G1
G2A
G2B

NguyenTrongLuat


13
12

Y4

11

Y5

10

Y6

9

Y7

7

G1 G2A G2B C B A Y7 Y6 Y5 Y4 Y3 Y2 Y1 Y0
0 X
X 1
X X
1 0
1 0
1 0
1 0
1 0
1 0
1 0

1 0

X
X
1
0
0
0
0
0
0
0
0

X
X
X
0
0
0
0
1
1
1
1

X
X
X
0

0
1
1
0
0
1
1

X
X
X
0
1
0
1
0
1
0
1

1
1
1
1
1
1
1
1
1
1

0

1
1
1
1
1
1
1
1
1
0
1

1
1
1
1
1
1
1
1
0
1
1

1
1
1
1

1
1
1
0
1
1
1

1
1
1
1
1
1
0
1
1
1
1

1
1
1
1
1
0
1
1
1
1

1

1
1
1
1
0
1
1
1
1
1
1

1
1
1
0
1
1
1
1
1
1
1

21


3. Sử dụng bộ giải mã thực hiện hàm Boole:

Ngõ ra của bộ giải mã là minterm (ngõ ra tích cực cao)
hoặc maxterm (ngõ ra tích cực thấp) của n biến ngõ vào. Do
đó, ta có thể sử dụng bộ giải mã thực hiện hàm Boole theo
dạng chính tắc.
74138
Y0
F1 (x, y, z) =  (2, 5, 7)
z
A (LSB)
F2
Y1
= m2 + m5 + m7
y
B
= M2 + M5 + M7
Y2
x
C
= M2 M5 M7
Y3
F2 (x, y, z) =  (0, 1, 4)
= M0 M1 M4
NguyenTrongLuat

1

G1

0


G2A

0

G2B

Y4
Y5

F1

Y6
Y7
22


V. Bộ mã hóa (ENCODER):
1. Giới thiệu:
- Encoder là hệ chuyển mã thực hiện hoạt động ngược lại với
decoder. Nghóa là encoder có m ngõ vào theo mã nhị phân 1
trong m và n ngõ ra theo mã nhị phân cơ bản (với m ≤ 2n).
- Với ngõ vào Ii được tích cực thì ngõ ra chính là tổ hợp giá trị
nhị phân i tương ứng.
Z 1 = I3 + I 2
Z 0 = I3 + I 1

I0
I1

(LSB) Z0


I2

Z1

I3

I3

I3 I2 I1 I0
0
0
0
1

0
0
1
0

0
1
0
0

NguyenTrongLuat

1
0
0

0

Z1 Z 0
0
0
1
1

0
1
0
1

I2

I1

Z1

Z0
23


* Bộ mã hóa có ưu tiên (Priority Encoder):
Bộ mã hóa có ưu tiên là mạch mã hóa sao cho nếu có nhiều
hơn 1 ngõ vào cùng tích cực thì ngõ ra sẽ là giá trị nhị phân
của ngõ vào có ưu tiên cao nhất.
Z 1 = I3 + I 2
I0
Z 0 = I3 + I 2 I 1

(LSB) Z0
I1
V = I 3 + I2 + I 1 + I 0
Z
1

I2

V

I3

I3

Z1

I2
I3 I 2 I 1 I 0

Z 1 Z0 V

0
0
0
0
1

X
0
0

1
1

0
0
0
1
X

0
0
1
X
X

0
1
X
X
X

X
0
1
0
1

0
1
1

1
1

Thứ tự ưu tiên: I3  I2  I1  I0
NguyenTrongLuat

I1

Z0
V

I0
24


2. IC mã hóa ưu tiên 8 3 (74148):

5
4
3
2
1
13
12
11
10

EI I7 I6 I5 I4 I3 I2 I1 I0

EI

I7
I6
I5
I4
I3
I2
I1
I0

A2
A1
(LSB)A0

6

GS
EO

14

NguyenTrongLuat

7
9

15

1
0
0

0
0
0
0
0
0
0

X
0
1
1
1
1
1
1
1
1

X
X
0
1
1
1
1
1
1
1


X
X
X
0
1
1
1
1
1
1

X
X
X
X
0
1
1
1
1
1

X
X
X
X
X
0
1
1

1
1

X
X
X
X
X
X
0
1
1
1

X
X
X
X
X
X
X
0
1
1

X
X
X
X
X

X
X
X
0
1

A2 A1 A0 GS EO
1
0
0
0
0
1
1
1
1
1

1
0
0
1
1
0
0
1
1
1

1

0
1
0
1
0
1
0
1
1

1
0
0
0
0
0
0
0
0
1

1
1
1
1
1
1
1
1
1

0

25


Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×