Bài giảng Kỹ thuật số - Chương 3: Hệ tổ hợp
Chương 3: HỆ TỔ HỢP
I. Giới Thiệu – Cách Thiết Kế Hệ Tổ Hợp:
Mạch logic được chia làm 2 loại: mạch tổ hợp (Combinational Circuit) và mạch tuần tự (Sequential Circuit).
Mạch 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.
A G1 6 4 5 14 13 12 15 B 7 G1 G2A G2B C B A Y7 Y6 Y5 Y4 Y3 Y2 Y1 Y0 0 x x x x x x 1 x x x x x x 1 x x x 1 0 0 0 0 0 1 0 0 0 0 1 1 0 0 0 1 0 1 0 0 0 1 1 1 0 0 1 0 0 1 0 0 1 0 1 1 0 0 1 1 0 1 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 0 1 1 1 1 1 1 0 1 1 1 1 1 1 0 1 1 1 1 1 1 0 1 1 1 1 1 1 0 1 1 1 1 1 1 0 1 1 1 1 1 1 0 1 1 1 1 1 1 1 4. 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 trực tiếp hàm Boole có dạng chính tắc. Vd: Cho hàm F1 (x, y, z) = å (0, 2, 5) = m0 + m2 + m5 = M0 + M2 + M5 C A(LSB) Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y7 G2B G2A G1 B x y z 1 0 0 F1(x, y, z) = M0 M2 M5 Vd: Cho hàm F2 (x, y, z) = Õ (2, 6, 7) C A(LSB) Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y7 G2B G2A G1 B x y z 1 0 0 F2(x, y, z) = M2 M6 M7 = m2 m6 m7 = m2 + m6 + m7 - Ta có thể thực hiện nhiều hàm trên 1 bộ giải mã. - Decoder ngõ ra tích cực cao ta thực hiện hàm F bằng cổng OR (chính tắc 1) hoặc NOR (chính tắc 2) 5. Ghép bộ giải mã: Sử dụng ngõ vào cho phép để ghép bộ giải mã C B A Y7 Y6 Y5 Y4 Y3 Y2 Y1 Y0 0 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 0 1 1 1 1 1 1 0 1 1 1 1 1 1 0 1 1 1 1 1 1 0 1 1 1 1 1 1 0 1 1 1 1 1 1 0 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1B 1A(LSB) 1Y0 1Y1 1Y2 1Y3 2Y0 2Y1 2Y2 2Y3 /Y7 1G 2B 2A(LSB) 2G C /Y6 /Y5 /Y4 /Y3 /Y2 /Y1 /Y0 B A . . . Ghép 2 IC 74138 ta có được decoder 4 sang 16, có ngõ vào cho phép C A(LSB) Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y7 G2B G2A G1 /DEC0 B X Y Z 1 /DEC1 /DEC2 /DEC3 /DEC4 /DEC5 /DEC6 /DEC7 C A(LSB) Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y7 G2B G2A G1 /DEC8 B 0 /DEC9 /DEC10 /DEC11 /DEC12 /DEC13 /DEC14 /DEC15 W /EN . . . . . (LSB) 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 thuần túy (với m ≤ 2n). Với ngõ vào thứ i được tích cực thì ngõ ra chính là tổ hợp giá trị nhị phân i tương ứng. Z0 Z1 I1 I0 Zn -1 Im-1 Mã nhị phân 1 trong m Mã nhị phân n bit Vd: Encoder 4 sang 2 (LSB) Z0 Z1 I1 I0 I2 I3 I0 I1 I2 I3 Z1 Z0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1 1 0 1 1 . I3 Z1 Z0 I2 I1 Z1 = I2 + I3 Z0 = I1 + I3 2. Bộ mã hóa có ưu tiên (Priority Encoder): (LSB) Z0 Z1 I1 I0 I2 I3 V 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. I0 I1 I2 I3 Z1 Z0 V 0 0 0 0 1 0 0 0 x 1 0 0 x x 1 0 x x x 1 x x 0 0 0 1 0 1 1 1 0 1 1 1 1 Thứ tự ưu tiên I3 > I2 > I1 > I0. Ngõ ra V có chức năng chỉ thị: V = 1 nếu có ít nhất 1 ngõ vào tích cực; ngược lại V = 0 nếu không có ngõ vào nào tích cực. I0I1 I2I3 Z1 00 01 1 X 00 1 01 11 10 1 1 1 1 1 11 1 10 1 1 1 1 I0I1 I2I3 Z0 00 01 1 1 X 00 1 01 11 10 1 1 1 1 1 11 10 1 1 V = I0 + I1 + I2 + I3 . . . I3 I2 I1 I0 Z0 Z1 V . Z1 = I2 + I3 Z0 = I3 + I1 I2 A2 A1 A0 GS 14 EO 7 9 6 EI I7 I6 I5 I4 I3 I2 I1 I0 11 10 1 13 12 2 3 4 5 15 3. IC mã hóa ưu tiên 8 ®3 (74LS148): EI I0 I1 I2 I3 I4 I5 I6 I7 A2 A1 A0 GS EO 1 x x x x x x x x 0 x x x x x x x 0 0 x x x x x x 0 1 0 x x x x x 0 1 1 0 x x x x 0 1 1 1 0 x x x 0 1 1 1 1 0 x x 0 1 1 1 1 1 0 x 0 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 1 0 0 1 0 1 0 1 0 0 1 0 1 1 0 1 1 0 0 0 1 1 0 1 0 1 1 1 0 0 1 1 1 1 0 1 1 1 1 1 0 - Thứ tự ưu tiên: I7 > I6 > I5 > I4 > I3 > I2 > I1 > I0. - EI (Enable Input): ngõ vào cho phép, tích cực thấp. Nếu không tích cực các ngõ ra đều bằng 0 (không tích cực). - EO (Enable Output): ngõ ra tích cực thấp. Ngõ ra này chỉ tích cực khi ngõ vào EI tích cực nhưng không có ngõ vào Ii nào tích cực. Thường được nối vào EI của 1 Encoder 74148 khác có ưu tiên thấp hơn. - GS (Group Select): ngõ ra tích cực thấp. Ngõ ra này tích cực khi ngõ vào EI tích cực và có ít nhất 1 ngõ vào Ii tích cực. - A2, A1, A0: các ngõ ra tổ hợp nhị phân tương ứng với ngõ vào Ii tích cực khi EI tích cực. Tuy nhiên giá trị này bị lấy bù. * Mạch ứng dụng mở rộng Encoder 8® 3 thành Encoder 10® 4: A0 A1 A2 GS EO EI I7 I6 I5 I4 I3 I2 I1 I0 I9 I8 . . . A0 A1 A2 A3 VI. Bộ Dồn Kênh (Multiplexer - MUX): 1. Giới thiệu: MUX 2n ®1 là hệ tổ hợp có nhiều ngõ vào nhưng chỉ có 1 ngõ ra. Ngõ vào gồm 2 nhóm: m ngõ vào dữ liệu (data input) và n ngõ vào lựa chọn (select input). Với 1 giá trị i của tổ hợp nhị phân các ngõ vào lựa chọn, ngõ vào dữ liệu thứ i sẽ được chọn đưa đến ngõ ra. (m = 2n) Y D0 D1 Dm-1 S0 Sn-1 Ngõ vào dữ liệu (Data Input) Ngõ vào lựa chọn (Select Input) Thiết kế bộ MUX 4 ®1 Y D0 D1 D3 S0 (LSB) S1 D2 S1 S0 Y 0 0 0 1 1 0 1 1 D0 D1 D2 D3 Y = S1 S0 D0 + S1 S0 D1 + S1 S0 D2 + S1 S0 D3 = m0 D0 + m1 D1 + m2 D2 + m3 D3 = å mi Di (i = 0, 1, ..,3) S1 S0 D1 D0 D2 D3 . . . . . . Y Tổng quát: Y = å mi Di (với i = 0, 1, .., 2n-1) mi là minterm thứ i của n ngõ vào lựa chọn Di là các ngõ vào dữ liệu 2. IC dồn kênh: a. 74LS153: gồm 2 bộ MUX 4 ®1 1Y 7 2Y A(LSB) B 1G 1C0 1C1 1C2 1C3 2G 2C0 15 10 5 4 3 6 1 2 14 9 2C1 2C2 2C3 13 11 12 G B A Y 1 x x 0 0 0 0 0 1 0 1 0 0 1 1 0 C0 C1 C2 C3 b. 74LS151: bộ MUX 8 ®1 Y 5 Y EN A(LSB) B C D0 D1 D2 D3 D4 1 15 4 3 2 9 10 11 7 6 D5 D6 D7 12 14 13 EN C B A Y 1 x x x 0 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 0 1 0 0 0 1 0 1 0 1 1 0 0 1 1 1 0 D0 D1 D2 D3 D4 D5 D6 D7 2. Sử dụng bộ MUX thực hiện hàm Boole: a. Bộ MUX 2n thực hiện hàm Boole n biến: Cho hàm Boole: F (x, y, z) = å (0, 1, 4, 7) = m0 + m1 + m4 + m7 = m0 .1 + m1 .1 + m2 .0 + m3 .0 + m4 .1 + m5 .0 + m6 .0 + m7 .1 (1) Ngõ ra của bộ MUX 8 ® 1 có dạng: Y = å mi Di = m0 D0 + m1 D1 + m2 D2 + m3 D3 + m4 D4 + m5 D5 + m6 D6 + m7 D7 (2) Để đồng nhất (1) và (2) ta có: - Đưa các biến x, y, z vào ngõ vào lựa chọn C, B, A (đúng theo trọng số) - Cho các ngõ vào D0 = D1 = D4 = D7 = 1 và D2 = D3 = D5 = D6 = 0 Y . Y EN A(LSB) B C D0 D1 D2 D3 D4 z F(x, y, z) D5 D6 D7 y +Vcc x . . . . . . 74LS151 b. Bộ MUX 2n thực hiện 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.0 + x y.z + x y.z = m0 .1 + m1 .0 + m2 .z + m3 .z (1) Ngõ ra của bộ MUX 4 ® 1 có dạng: Y = m0 D0 + m1 D1 + m2 D2 + m3 D3 (2) Để đồng nhất (1) và (2) ta có: - Đưa các biến x, y vào ngõ vào lựa chọn B, A (đúng theo trọng số) - Cho các ngõ vào D0 = 1, D1 = 0, D2 = z , D3 = z 1Y F(x, y, z) 2Y A(LSB) B 1G 1C0 1C1 1C2 1C3 2G 2C0 2C1 2C2 2C3 +Vcc y x z . . x y z F 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 1 1 0 0 1 0 0 1 D0 = 1 D1 = 0 D2 = z D3 = z m0 m1 m2 m3 Cách khác: VII. Bộ Phân Kênh (DEMUX): 1. Giới thiệu: Bộ DEMUX có chức năng thực hiện hoạt động ngược lại với bộ MUX. Mạch có 1 ngõ vào dữ liệu, n ngõ vào lựa chọn và 2n ngõ ra. Với 1 giá trị i của tổ hợp nhị phân các ngõ vào lựa chọn, ngõ vào dữ liệu sẽ được chọn đưa đến ngõ ra thứ i. Thiết kế bộ DEMUX 1 ® 4: D Y0 Y1 Y3 S0(LSB) S1 Y2 S1 S0 Y0 Y1 Y2 Y3 0 0 0 1 1 0 1 1 D 0 0 0 0 D 0 0 0 0 D 0 0 0 0 D Y0 = S1 S0 D Y2 = S1 S0 D Y1 = S1 S0 D Y3 = S1 S0 D S1 S0 D . . . . . . Y0 Y1 Y2 Y3 . . . 2. IC phân kênh 74LS155: gồm 2 bộ phân kênh 1 ® 4 B A 1G 1C 1Y0 1Y1 1Y2 1Y3 2G 2C 2Y0 2Y1 2Y2 2Y3 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 1 1 1 1 0 1 1 1 1 0 1 1 1 1 0 1 1 1 1 0 1 x x 1 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 1 1 1 1 0 1 1 1 1 0 1 1 1 1 0 A 1G 1Y0 1Y1 1Y2 1Y3 2Y0 11 2Y1 12 2Y2 9 2Y3 2 1 13 2C 2G B 3 14 15 6 5 4 7 1C 10 VIII. Bộ So Sánh Độ Lớn (Comparator): A (A>B) B (A=B) (A<B) 1. Giới thiệu: Bộ so sánh là hệ tổ hợp có nhiệm vụ so sánh 2 số A và B (mỗi số n bit). Mạch có 3 ngõ ra (A>B), (A=B) và (A<B) chỉ thị cho độ tương đối của chúng. Thiết kế bộ so sánh: A và B có chiều dài bit là n, nên mạch so sánh có 2n ngõ vào; do vậy ta không thể thiết kế theo kiểu thông thường là lập bảng chân trị. Ta có cách khác: Vd: n = 4 A = A3 A2 A1 A0 B = B3 B2 B1 B0 Ta đặt biến trung gian xi = Ai Å Bi (i = 0, 1, 2, 3) (A = B) = x3 x2 x1 x0 (A > B) = A3 B3 + x3 A2 B2 + x3 x2 A1 B1 + x3 x2 x2 A0 B0 (A < B) = A3 B3 + x3 A2 B2 + x3 x2 A1 B1 + x3 x2 x2 A0 B0 A0 . . (A>B) B0 A1 B1 A2 B2 A3 B3 . . . . . . . . . . . . (A=B) (A<B) . . . . . . x0 x1 x2 x3 Ta có thể thực hiện (AB) + (A=B) 2. IC so sánh 74LS85: 7 ALTBIN A0 B0 A1 B1 A2 13 9 3 2 4 6 B2 A3 B3 14 15 AEQBIN AGTBIN 10 12 11 1 ALTBOUT AEQBOUT AGTBOUT 5 AGTBOUT = (A>B) + (A=B).AGTBIN AEQBOUT = (A=B).AEQBIN ALTBOUT = (A<B) + (A=B).ALTBOUT
File đính kèm:
- Slide-KTS1-C3.doc