ky thuat so

37 6 0
ky thuat so

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

- Boä giaûi maõ laø heä chuyeån maõ coù nhieäm vuï chuyeån töø maõ nhò phaân cô baûn n bit ôû ngoõ vaøo thaønh maõ nhò phaân 1 trong m ôû ngoõ ra.. Boä giaûi maõ coù ngoõ vaøo cho phe[r]

(1)

Chương 3: HỆ TỔ HỢP

I Giới thiệu – Cách thiết kế hệ tổ hợp: Mạch logic chia làm loại:

- Hệ tổ hợp (Combinational Circuit) - Hệ (Sequential Circuit).

Hệ tổ hợp mạch mà ngõ phụ thuộc vào giá trị ngõ vào Mọi thay đổi ngõ vào làm ngõ thay đổi theo

Ngõ vào

(2)

* Các bước thiết kế:

- Phát biểu tốn

- Xác định số biến ngõ vào số biến ngõ

- Thành lập bảng giá trị rõ mối quan hệ ngõ vào và ngõ

- Tìm biểu thức rút gọn ngõ phụ thuộc vào các biến ngõ vào

- Thực sơ đồ logic

Ngoõ vào

Xn-1 … X1 X0

Ngõ ra

Ym-1 … Y1 Y0

0 … 0

… 1

(3)

Vd: Thiết kế hệ tổ hợp có ngõ vào X, Y, Z; ngõ F, G - Ngõ F ngõ vào có số bit nhiều số bit 0; ngược lại F =

- Ngõ G giá trị nhị phân ngõ vào lớn hơn nhỏ 6; ngược lại G =

X Y Z F G

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

0 0 0 1 0 1 1 1 0 0 1 1 1 1 0 0 XY Z F 0 1

00 01 11 10

1 1 Y Z 1 1 X Z X Y

F = X Y + Y Z + X Z

XY Z

G 0 1

00 01 11 10

1 1

1 1

X Y X Y

(4)

F

F = X Y + Y Z + X Z G = X Y + X Y = X Y X

Y Z

G

(5)

Trường h p hệ tổ hợp không sử dụng tất 2 n tổ hợp ngõ

vào, tổ hợp khơng sử dụng ngõ có giá trị tùy định.

Vd: Thiết kế hệ tổ

hợp có ngõ vào biểu diễn cho số mã BCD Nếu giá trị ngõ vào nhỏ ngõ có giá trị bình phương giá trị ngõ vào; ngược lại giá trị ngõ giá trị ngõ vào trừ

A B C D

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

F2 F1 F0

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

F2 = A + B C D + B C D F1 = A D + B C D + B C D

(6)

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 hệ tổ hợp có nhiệm vụ thực phép cộng số học x + y (x, y bit nhị phân ngõ vào); hệ có ngõ ra: bit tổng S (Sum) bit nhớ C (Carry)

x y C S

0 0 0 1 1 0 1 1

0 0 0 1 0 1 1 0

S = x y + x y = x y

C = x y x

y S

C

x y

S C H.A

(7)

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 bit x + y + z ự

(z biểu diễn cho bit nhớ từ v trí có trọng số nhỏ gởi tới)ị

x y

S C F.A z

x y z C S

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

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

xy z S

0 1

00 01 11 10

1

1

1

1

S = x y z + x y z + x y z + x y z

xy z C

0 1

00 01 11 10

1

1 1

1

(8)

S = x y z + x y z + x y z + x y z

= z (x y + x y) + z (x y + x y)

= z (x y) + z (x y)

S = z (x y)

C = x y + x z + y z

= x y + x y z + x y z + x y z = x y (1 + z) + z (x y + x y)

C = x y + z (x y) x

y

z

S

C

(9)

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 phép trừ số học x - y (x, y bit nhị phân ngõ vào); hệ có ngõ ra: bit hiệu D (Difference) bit mượn B (Borrow)

x y

D B H.S

x y B D

0 0 0 1 1 0 1 1

0 0 1 1 0 1 0 0

D = x y + x y = x y

B = x y x

y D

(10)

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 bit x - y - z ự

(z biểu diễn cho bit mượn từ ví trị có trọng số nhỏ hơn) x

y

D B F.S z

x y z B D

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

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

xy z D

0 1

00 01 11 10

1

1

1

1

xy z B

0 1

00 01 11 10

1

1 1

1

S = x y z + x y z + x y z + x y z

C = x y + x z + y z

S = z (x y)

C = x y + z (x y)

(11)

74283 3 Bộ cộng/trừ nhị phân song song:

a Bộ cộng nhị phân:

M: M3 M2 M1 M0 N: N3 N2 N1 N0

S0 S1

S2 S3

C1 C2

+

C3

C4

x y z C

S

F.A

x y z C

S

F.A

x y z C

S

F.A

x y z C

S

F.A

M0 N0 M1 N1

M2 N2 M3 N3

S0

C0 = C1

C2 C3

S1 S2

(12)

b Bộ trừ nhị phân:

- Sử dụng trừ toàn phần F.S

- Thực phép cộng với bù số trừ

M – N = M + Buø_2(N) = M + Buø_1(N) + 1

M0 N0 M1 N1

M2 N2 M3 N3

C0 =

x y z C

S

F.A

x y z C

S

F.A

x y z C

S

F.A

x y z C

S

F.A C3 C2 C1

S0 S1

S2 S3

C4

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

(13)

c Bộ cộng/trừ nhị phân:

M0 N0 M1 N1

M2 N2 M3 N3

C0

x y z C

S

F.A

x y z C

S

F.A

x y z C

S

F.A

x y z C

S

F.A C3 C2 C1

S0 S1

S2 S3

C4

Phép toán C0 yi

0 Ni

COÄNG

TRỪ 1 Ni

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

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

C0 = T

yi = T Ni

(14)

III Hệ chuyển mã (Code Conversion):

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

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

nhị phân B

Hệ chuyển

nhị phân A

(15)

Vd: Thiết kế hệ chuyển mã từ mã BCD thành mã BCD A B C D

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

W X Y Z

X X X X X X X X X X X X X X X X

X X X X X X X X

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

W = A + B (C + D) X = B (C + D)

Y = C D

Z = D A

B C D

W

X

(16)

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

- Bộ giải mã hệ chuyển mã có nhiệm vụ chuyển từ mã nhị phân n bit ngõ vào thành mã nhị phân m ngõ

Maõ 1 m

X0 X1

Xn-1

nhị phân

Y0 Y1

Ym-1

m = 2n

- Có dạng: ngõ tích cực cao (mức 1) ngõ tích cực thấp (mức 0).

- V i giaù tr ớ i c a t h p nh phân ngõ vào, ngõ ủ ổ ợ Yi

s tích c c ngõ l i s không tích c c ẽ ạ ẽ

(17)

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

X0 (LSB)

X1

Y0 Y1 Y2 Y3

X1 X0 Y3 Y2 Y1 Y0 0 0

0 1 1 0 1 1

0 1 0 0 0 0 1 0

Y0 = X1 X0 = m0 Y1 = X1 X0 = m1 Y2 = X1 X0 = m2 Y3 = X1 X0 = m3

X0

X1

Y0 Y1 Y2 Y3

Ngoõ ra: Yi = mi

(18)

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

X1 X0 Y3 Y2 Y1 Y0 0 0

0 1 1 0 1 1

1 0 1 1 1 1 0 1

X0

X1

Ngoõ ra: Yi = Mi

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

X0 (LSB)

X1

Y0 Y1 Y2 Y3

Y0 = X1 +X0 = M0 = m0 Y1 = X1 +X0 = M1 = m1 Y2 = X1 +X0 = M2 = m2 Y3 = X1 +X0 = M3 = m3

Y0 Y1 Y2 Y3

(19)

c Bộ giải mã có ngõ vào cho phép:

- Ngồi ngõ vào liệu, giải mã có hay nhiều ngõ vào cho phép

- Khi ngõ vào cho phép trạng thái tích cực mạch giải mã hoạt động Ngược lại, mạch giải mã khơng hoạt động; ngõ trạng thái khơng tích cực

Y0 Y1 Y2 Y3 X0 (LSB)

X1 EN

EN X1 X0 Y3 Y2 Y1 Y0 0 X X

1 0 1 1 1 0 1 1

0 0 0 1 0 0 0 0 1 0

X0

X1

(20)

2 IC giải mã:

a IC 74139: gồm giải mã sang ngõ tích cực thấp

1Y0

1Y1

1Y2

1Y3

1A (LSB)

1B 1G

2Y0

2Y1

2Y2

2Y3

2A (LSB)

2B 2G

1 2 3

15 14 13

4 5 6 7 12 11 10 9

G B A Y3 Y2 Y1 Y0 1 X X

0 0 0 1 0 0 0 1

1 1 1 0 1 1 1 1 0 1

(21)

b IC 74138: giải mã sang ngõ tích cực thấp Y0 Y1 Y2 Y3 A (LSB) B C Y4 Y5 Y6 Y7 G1 G2A G2B 1 2 3 4 6 5 9 12 11 10 7 15 14 13

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

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

(22)

3 Sử dụng giải mã thực hàm Boole:

Ngõ giải mã minterm (ngõ tích cực cao) hoặc maxterm (ngõ tích cực thấp) n biến ngõ vào Do đó, ta sử dụng giải mã thực hàm Boole theo dạng tắc

z y x

0 1 0 F1 (x, y, z) = (2, 5, 7)

= m2 + m5 + m7 = M2 + M5 + M7 = M2 M5 M7

F2 (x, y, z) = (0, 1, 4)

= M0 M1 M4

F1 F2

Y0

Y1

Y2

Y3

A (LSB)

B C

Y4

Y5

Y6

Y7

G1 G2A G2B

74138

(23)

V Bộ mã hóa (ENCODER): 1 Giới thiệu:

- Encoder hệ chuyển mã thực hoạt động ngược lại với

decoder Nghóa encoder có m ngõ vào theo mã nhị phân

trong m và n ngõ theo mã nhị phân (với m 2 n).

- Với ngõ vào Ii tích cực ngõ tổ hợp giá trị

nhị phân i tương ứng.

I0 I1 I2 I3

(LSB)Z0

Z1

I3 I2 I1 I0 Z1 Z0

0 0 0 1 1 0 1 1 0 1

0 0 0 0 1 0

Z1 = I3 + I2 Z0 = I3 + I1

Z1

Z0 I3

I2

(24)

* Bộ mã hóa có ưu tiên (Priority Encoder):

Bộ mã hóa có ưu tiên mạch mã hóa cho có nhiều

hơn ngõ vào tích cực ngõ giá trị nhị phân của ngõ vào có ưu tiên cao nhất.

I0 I1 I2 I3

(LSB)Z0

Z1 V

I3 I2 I1 I0 Z1 Z0 V X X 0 1 0 1 1 1 1 1 0 0

0 1 0 X 0 X X 1 X X X

Z1 = I3 + I2 Z0 = I3 + I2 I1

V = I3 + I2 + I1 + I0 I3

I2 I1

I0

Z1

Z0 V

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

(25)

2 IC mã hóa öu tieân 3 (74148):

EI I7 I6 I5 I4 I3 I2 I1 I0 A2 A1 A0 GS EO

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

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

EI I7 I6 I5 I4 I3 I2 I1 I0

1 5

3

12 14

9

A2

A1

(LSB)A0

GS EO

7 6

15 4

(26)

VI Bộ dồn kênh (Multiplexer - MUX): 1 Giới thiệu:

- MUX 2n1 hệ tổ hợp có nhi u ngõ vàoề

1 ngõ Ngõ vào gồm nhóm: m ngõ vào liệu (data input)

n ngõ vào lựa chọn (select input)

- Với giá trị i tổ hợp nhị phân ngõ vào lựa chọn,

ngõ vào liệu Di chọn đưa đến ngõ (m = 2n)

D0

D1

:

Dm-1

S0(LSB)

S1 : Sn-1

Y

Ngõ vào liệu (Data Input)

Ngõ vào lựa chọn (Select Input)

(27)

* Boä MUX 1:

D0

D1

D2

D3

S0(LSB)

S1

Y

S1 S0 Y 0 0

0

1 0 1 1

D0 D1 D2 D3

= m0 D0 + m1 D1 + m2 D2 + m3 D3 = mi Di (i = 0, 1, 2, 3)

Y = S1 S0 D0 + S1 S0 D1 + S1 S0 D2 + S1 S0 D3

S1 S0 D0 D1 D2 D3

Y

(28)

2 IC dồn kênh:

a 74LS153: gồm MUX 1

1G

1C0

1C1

1C2

1C3

A(LSB)

B

1Y 2G

2C0

2C1

2C2

2C3

2Y

14

15 10 11 12 13 2 1 6 5 4 3

7

9

G B A Y

1 X X 0 0 0

0 0 0 1

0

C0

C1

C2

C3

(29)

b 74151: boä MUX 1

EN A(LSB)

B C

Y

D0

D1

D2

D3

D4

D5

D6

D7

Y

15 14 13 12 9 4 3 2 1

5 6 11

10 7

EN C B A Y

1 X X X 0 0 0

0 0 0 1 0 0 0

0 0 0 1

0

D0

D1

D2

D3

D4

D5

D6

(30)

3 Sử dụng MUX thực hàm Boole:

a Bộ MUX 2n thực hàm Boole n biến:

EN A(LSB)

B C

Y

D0

D1

D2

D3

D4

D5

D6

D7

Y F(x, y, z) = (0, 1, 4, 7)

= m0 + m1 + m4 + m7

= m0 1 + m1 1 + m2 0 + m3 0

+ m4 + m5 + m6 + m7 1 Y = mi Di

= m0D0 + m1D1 + m2D2 + m3D3

+ m4D4 + m5D5 + m6D6 + m7D7

D0 = D1 = D4 = D7 = 1

D2 = D3 = D5 = D6 = 0

z y x 0

1 0

F

(31)

b Bộ MUX 2n thực hàm Boole n+1 biến:

F(x, y, z) = (0, 1, 4, 7)

= x y z + x y z + x y z + x y z = x y 1 + x y + x y z + x y z Y = m0D0 + m1D1 + m2D2 + m3D3

D0 = 1; D1 = 0; D2 = z; D3 = z

1G

1C0

1C1

1C2

1C3

A(LSB)

B

1Y 2G

2C0

2C1

2C2

2C3

2Y

y x 0 1 0

z F

= m0 1 + m1 + m2 z + m3 z

x y z F

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

1 1 0 0 1 0 0 1

(32)

VII Bộ phân kênh (DEMUX): 1 Giới thiệu:

- Bộ DEMUX 12n có chức thực hoạt động ngược

lại với MUX Mạch có ngõ vào liệu, n ngõ vào lựa

chọn 2n ngoõ

- Với giá trị i tổ hợp nhị phân ngõ vào lựa chọn,

ngõ vào liệu D đưa đến ngõ Yi

Y0

Y1

:

Ym-1

S0(LSB)

S1 : Sn-1 D

Ngõ vào liệu (Data Input)

Ngõ vào lựa chọn (Select Input) Ngõ vào liệu

(Data Input) Ngõ ra

(33)

* Bộ DEMUX 4:

Y0 Y1 Y2 Y3 D

S0 (LSB)

S1

S1 S0 Y3 Y2 Y1 Y0 0 0

0 1 1 0 1 1

0 D 0 D 0 0 D 0 D 0

Y0 = S1 S0 D = m0 D Y1 = S1 S0 D = m1 D Y2 = S1 S0 D = m2 D Y3 = S1 S0 D = m3 D

Y0 Y1 Y2 Y3 S1

(34)

B A 1G 1C 1Y0 1Y1 1Y2 1Y3

2 IC phân kênh 74LS155: gồm phân kênh

1Y0 1Y1 1Y2 1Y3 A (LSB) B 2Y 0 2Y1 2Y2 2Y3 2G 2C 1 2 15 13 3 7 6 5 4 12 10 11 9 14 1G 1C

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

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

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

B A 2G 2C 2Y0 2Y1 2Y2 2Y3

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

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

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

(35)

VIII Bộ so sánh ộ lớn (Comparator):đ

1 Giới thiệu:

- Bộ so sánh hệ tổ hợp có nhiệm vụ so sánh số nh phân ị

không dấu A B (mỗi số n bit)

- Bộ so sánh có ngõ (A>B), (A=B) (A<B); có ngõ tích cực theo kết so sánh

* Bộ so sánh bit:

A: A2 A1 A0 B: B2 B1 B0

Sử dụng biến trung gian:

xi = Ai Bi (i = 0, 1, 2)

(A = B) = x2 x1 xo

(A > B) = A2 B2 + x2 A1 B1 +x2x1 A0 B0 (A < B) = A B + x A B +x x A B

(A>B) (A=B) (A<B) A

B

(36)

x0 x1 x2

(A=B) B0

A0

B1 A1

B2 A2

(A>B) (A<B)

(37)

2 IC so saùnh 74LS85:

3 4

9

ALTBIN AEQBIN AGTBIN

B0

B1

B2

B3

10 12 13 15

11 14 1

7 5

A0

A1

A2

A3 AEQBOUTALTBOUT

AGTBOUT

6 2

AGTBOUT = (A>B) + (A=B)AGTBIN

AEQBOUT = (A=B) AEQBIN

Ngày đăng: 03/06/2021, 11:33