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

bài giảng vi mạch số phần 1 thiết kế hệ logic tổ hợp

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 (559.52 KB, 32 trang )

Bài giảng Vi mạch số
Biên soạn Ngô Văn Bình
Trang 1
Phần 1: Thiết kế hệ logic tổ hợp
I. Giới thiệu chung
Về cơ bản hệ điều khiển logic được chia làm 2 loại lớn:
- Hệ tổ hợp.
- Hệ tuần tư.
Trong hệ tổ hợp đầu ra tại một thời điểm bất kỳ chỉ phụ thuộc vào trạng thái các đầu
vào tại thời điểm đó, nghĩa là không có phần tử nhớ trong mạch, đối với hệ tuần tự thì
khác: Trạng thái ngỏ ra tại thời điểm đang xét không những phụ thuộc trạng thái vào tại
cùng thời điểm mà còn phụ thuộc vào trạng thái vào trong quá khứ có nghĩa là phải có
phần tử nhớ trong mạch.
Một hệ logic tuần tự có thể chứa các hệ logic tổ hợp con, những dử liệu thiết kế hệ tổ
hợp có thể được cho dưới dạng:
- Một tập hợp các mệnh đề.
- Biểu thức Boole.
- Bảng sự thật.
Nếu biết một cách biểu diễn có thể suy ra cách biểu diễn khác, như trong các lĩnh vực
thiết kế kỹ thuật khác số lượng thiết bị xử dụng cần phải nhỏ nhất để giãm chi phí, kích
thước, tiết kiệm năng lượng và tăng độ tin cậy. Các phương pháp để đạt được sự thực hiện
hàm Boole một cách đơn giản nhất còn phụ thuộc vào nhiều yếu tố.
Một cách đo độ phức tạp của hàm Boole là đếm số lượng "literal" tức số lượng chữ
có trong biểu thức Boole, literal sẻ xác định lượng dây nối và số lượng đầu vào của mạch
vì vậy cần phải giãm số lượng literal.
Một vấn đề khác là số lượng cổng cần thiết chính điều này quyết định kích thước của
mạch, một thiết kế đơn giản nhất là dùng ít cổng nhất chứ không phải ít literal.
Yếu tố thứ ba là số mức logic, giãm số mức logic sẻ làm giãm thời gian trể vì tín
hiệu đi qua ít cổng hơn nhưng nếu chỉ chú ý đến thời gian thì có thể lại làm cho số lượng
cổng tăng lên.
Trong phần này trình bày cách thiết kế một hệ tổ hợp để thực hiện mạch logic hai


mức, cách dùng các vi mạch có trong thực tế cho đến cách tổng hợp logic nhiều mức để
đạt được số lượng cổng cần dùng là ít nhất.
II. Quy trình thiết kế
Quy trình thiết kế thường được thực hiện theo một số bước sau đây:
- Phân tích yêu cầu và xác định tín hiệu vào - ra.
- Xác định bảng trạng thái và bảng sự thật.
- Đơn giản hóa.
- Viết phương trình tổng của tích hoặc tích của tổng.
- Vẽ sơ đồ AND - OR hoặc OR - AND.
- Biến đổi sang sơ đồ vi mạch thông dụng.
- Chọn linh kiện và ráp mạch.
Ví dụ:
Thiết kế mạch logic điều khiển một bồn chứa nước với sơ đồ công nghệ và yêu cầu
như sau:


Bài giảng Vi mạch số
Biên soạn Ngô Văn Bình
Trang 2


- Bơm P chỉ chạy khi giếng đầy nước ( cãm biến D tác động) và bồn chưa đầy (cãm
biến A không tác động).
- Van V bình thường luôn luôn mở để sẳn sàng cung cấp nước và chỉ đóng lại khi
giếng hết nước và đồng thời bồn cũng cạn nước (cãm biến C không tác động) để giử lại
một lượng nước an toàn.
- Còi hoặc đèn báo động sáng khi hệ thống bị sự cố (A tác động nhưng C lại không
tác động).
Giải
1. Phân tích yêu cầu và xác định tín hiệu vào - ra

Từ sơ đồ công nghệ và yêu cầu điều khiển suy ra tín hiệu vào là: cãm biến A, C và
D (để đơn giản xem như không có cãm biến B) và tín hiệu ra gồm: bơm P, van V và đèn
BD
2. Xác định bảng trạng thái và bảng sự thật.
Bảng trạng thái là một dạng diển tả khác của yêu cầu điều khiển nội dung của bảng
sẽ cho biết quan hệ giữa tín hiệu ra với tín hiệu vào.



Bài giảng Vi mạch số
Biên soạn Ngơ Văn Bình
Trang 3
A C D P V BD
K.tác động K.tác động K.tác động Dừng Đóng Tối
K.tác động K.tác động Tác động Chạy Mở Tối
K.tác động Tác động K.tác động Dừng Mở Tối
K.tác động Tác động Tác động Chạy Mở Tối
Tác động K.tác động K.tác động Dừng Mở Sáng
Tác động K.tác động Tác động Dừng Mở Sáng
Tác động Tác động K.tác động Dừng Mở Tối
Tác động Tác động Tác động Dừng Mở Tối

Bảng sự thật là bảng trạng thái khi thay vào đó các giá trị logic tương ứng 0 và 1. Do
đó từ một bảng trạng thái có thể dẫn đến nhiếu bảng sự thật khác nhau tùy theo hệ thống
thực tế. Trong trường hợp này có thể quy định như sau:
Với các cãm biến: Tác động tương đương với 1 và khơng tác động là 0
Bơm P chạy là 1 và dừng là 0.
Van đóng là 1 và mở là 0.
Đèn BD sáng là 1 và tối l.à 0.
Suy ra bảng sự thật như sau.


Hình 1.3 Bảng sự thật


3. Đơn giản hóa
Q trình đơn giản có thể thực hiện bằng bảng Karnaugh hoặc đại số logic, bảng
Karnaugh là một phương pháp đồ thị, trực quan , dể hiểu và thường được áp dụng trong
trường hợp số lượng ngỏ vào khơng nhiều lắm.

Hình 1.4 Bảng Karnaugh của hàm P
Bài giảng Vi mạch số
Biên soạn Ngô Văn Bình
Trang 4


4/ Viết phương trình tổng của tích hoặc tích của tổng
Phương trình đơn giản của hàm P: P =
DA
ABC ABC ABC ABC
  

Phương trình đơn giản của hàm BD: BD =
AC

Riêng hàm V chỉ có một trường hợp bằng 1 nên không cần đơn giản
V =
DAC

5/ Vẽ sơ đồ AND - OR hoặc OR - AND


Hình 1.6 Sơ đồ mạch dạng AND - OR
Số vi mạch cần dùng để thực hiện sơ đồ AND - OR
7404 - 6 đảo
7408 - 4 AND 2 input
7411 - 3 AND 3 input

6/ Biến đổi sang sơ đồ vi mạch thông dụng
Trong công nghệ vi mạch việc thực hiện bằng các cổng NAND và NOR là hiệu
quả hơn. Trong thực tế, các cổng AND và OR được thay thế bằng các cổng NAND và
Bài giảng Vi mạch số
Biên soạn Ngô Văn Bình
Trang 5
NOR với một bộ đảo được đặt thêm ở phía sau. Ngoài ra một hàm logic bất kỳ gồm có
AND, OR và NOT có thể được thực hiện bằng cách chỉ dùng các cổng NAND hoăc NOR.
Sự chuyển đổi này dựa trên định lý De Morgan

AB A B
 

.
A B AB
 



Hình 1.7 Kết quả của định lý De Morgan

Một cổng AND tương đương một cổng NOR với tất cả các ngỏ vào đảo, và một
cổng OR tương đương một cổng NAND với tất cả các ngỏ vào đảo. Từ những nguyên tắc
vừa trình bày sơ đồ hai mức logic AND - OR được chuyển thành dạng NOR - NOR như

sau:



Hình 1.8 Sơ đồ mạch dạng NOR
Số vi mạch cần dùng
7402 - 4 NOR 2 input
7427 - 3 NOR 3 input





III. Vi mạch phức hợp
Như đã biết, mạch logic nhiều mức có thể được thực hiện bằng cách ghép các cổng
rời, trong công nghệ TTL cũng như CMOS có chế tạo sẳn một số vi mạch nhiều mức logic
đơn giản , đó là các cổng phức hợp AOI (AND - OR - INVERT) hoặc OAI (OR - AND -
INVERT) nhiều đầu vào
Một khối AOI là một mạch logic ba mức bao gồm các cổng AND ở mức thứ nhất,
một cổng OR ở mức thứ hai và một cổng đảo ở đầu ra. Tương tự một khối OAI gồm các
cổng OR ở mức thứ nhất, một cổng AND ở mức thứ hai và một cổng đảo ở đầu ra. Tóm lại
Bài giảng Vi mạch số
Biên soạn Ngô Văn Bình
Trang 6
nhiều cổng rời rạc được tích hợp lại thành một cổng phức hợp được nối dây sẳn ở bên
trong

Hình 1.9 Khối AOI 2 ngăn 2 đầu vào
Trong hình 1.9 trình bày một cổng AOI hai ngăn (một cổng AND gọi là một ngăn)
hai đầu vào (mỗi cổng AND có 2 ngỏ vào). Sớ lượng năn bằng với số lượng đầu vào của

cổng OR
Ví dụ:
Thực hiện hàm XOR bằng khối AOI
Phương trình cùa hàm XOR:
A B AB AB
  

Nếu dùng các cổng rời thì phải cần 2 cổng AND 2 đầu vào, một cổng OR 2 đầu vào
và 2 cổng đảo. Để thực hiện bằng cổng AOI chỉ cần tìm bù của hàm XOR dưới dâng tổng
các tích

A B AB AB
  

Sau đó đưa A và B vào một ngăn của AOI, A, B vào ngăn thứ hai, cổng đảo ở ngỏ
ra của AOI sẽ trả về giá trị đúng của hàm XOR


Tín hiệu ra
- Z: Tín hiệu điều khiển thang chạy lên
- Y: Tín hiệu điều khiển thanh chạy xuống
Tín hiệu trung gian
Bài giảng Vi mạch số
Biên soạn Ngô Văn Bình
Trang 7
Với mục đích giãm bớt số biến số trong khi xây dựng và biến đổi các hàm logic cần
thiết phải tạo ra thêm các biến trung gian, các biến này là kết quả tổ hợp từ các tín hiệu vào
ban đầu thỏa mản được yêu cầu hoạt động của thang máy.
- c: Tín hiệu cho phép thang máy hoạt động
c = b1.b2.b3 b6.b7.b8.b9

- e: Lệnh cho thang máy đi lên.
e = a3 + a2.d1
- f: Lệnh cho thang máy đi xuống.
f = a1 + a2.d3
- g: Tín hiệu báo hoàn thành mệnh lệnh.
g = a1,d1 + a2.d2 + a3.d3
Như vậy từ 15 biến ban đầu nay thu gọn lại chỉ còn 4 biến mới tạo thành 16 tồ hợp
biến (2n), ngoài ra thang máy còn có 3 trạng thái: Dừng, lên và xuống.
Bước tiếp theo là lập bảng quan hệ biến số - trạng thái.
Nhận xét:
- Thang máy luôn dừng khi không có c và có g.
- Thang máy không thay đổi trạng thái khi có c, không g và đồng thời có e và f hoặc
không có cả e và f.



Trong các thiết bị logic nhiều đầu ra đôi khi không cho phép nhiều đầu ra cùng tồn tại
song song mà chỉ một mà thôi. Do đó, cần phải dùng tín hiệu ra hồi tiếp trở về ngỏ vào,
trong trường hợp thang máy để tránh trường hợp này có thể chọn 2 ngỏ ra z và y làm tín
hiệu hồi tiếp hình vẽ sau trình bày quan hệ giữa các tín hiệu này với trạng thái của thang
máy.
Bài giảng Vi mạch số
Biên soạn Ngô Văn Bình
Trang 8



Bài giảng Vi mạch số
Biên soạn Ngô Văn Bình
Trang 9


IV. Sử dụng hàm XOR và XNOR
Trong nhiều tình huống thiết kế có thể xử dụng phương pháp đơn giản hóa các hàm
logic bàng toán tữ XOR và XNOR vì các hàm này được xủ dụng rộng rải nên chúng được
chế tạo sẳn trong công nghệ vi mạch, phần dưới đây sẽ trình bày phương pháp nhận dạng
hàm XOR và XNOR trên bìa Karnaugh.
Trong phương pháp tối thiểu hóa AND-OR và OR-AND, các số 0 hoặc 1 cạnh nhau
theo chiều dọc và chiều ngang được dán lại với nhau, trong trường hợp tối thiểu XOR và
XNOR các ô đối diện nhau theo phương chéo hoặc các nhóm ô đối xứng nhau qua một
giao điễm của các đường kẻ trong bãng được gọi là Diagonal và các ô hay nhóm ô đối
xứng nhau qua một hàng hoặc cột được gọi là Offset như trình bày ở hình sau đây:
Bài giảng Vi mạch số
Biên soạn Ngô Văn Bình
Trang 10



Hình 1.16 Bảng Karnaugh với diagonal và offset

Hình 1.16a là một bảng Karnaugh 3 biến A, B, C trong đó diagonal 1 có điểm đối xứng là
M, diagonal 2 có điểm đối xứng là N, offset 1 có cột đối xứng là AB, suy ra các biểu thức
rút gọn XOR và XNOR như sau:
offset 1 =
( ) ( )
CAB CAB C AB AB C A B
    

offset 2 =
( ) ( )
CAB CAB C AB AB C A B

    

diagonal 1 =
( ) ( )
CAB CAB ACB CB A C B
    

diagonal 2 =
( ) ( )
CAB CAB A CB CB A C B
    


Bài giảng Vi mạch số
Biên soạn Ngô Văn Bình
Trang 11
Hình 1.16b là bảng Karnaugh 4 biến A, B, C, D trong đó diagonal 1 tạo nên bởi 2 nhóm
đối xứng nhau qua điểm I và offset 1 tạo bởi hai nhóm đối xứng nhau qua hàng CD, kết
quả đơn giản như sau:
Diagonal 1 =
( ) ( )
CAB CAB A CB CB AC B
    

Offset 1 =
( ) ( )
CDA CDA A CD CD AC D
    

Ví dụ:

Dùng hàm XOR và XNOR đơn giản hóa hàm Y cho trong bảng Karnaugh sau đây


Theo cách đơn giản thông thường ta có kết quả
Y1 =
C AB CDA CDA CAB CDAB CDAB
    

Theo phương pháp XOR và XNOR ta có
Diagonal 1 =
( ) ( )
CAB CAB B CA CA B C A
    

Diagonal 2 =
( ) ( )
CDA CDA D CA CA D C A
    

Offset 1 =
( ) ( )
CDAB CDAB DB CA CA DB C A
    

Suy ra: Y2 = Diagonal 1+ Diagonal 2 + Offset

Hình 1.18 Hai cách thực hiện hàm Y

V. Hazard - Glitch trong mạch tổ hợp
Glitch là một xung không mong muốn xuất hiện tại ngỏ ra của mạch tổ hợp, mạch

có thể tạo ra glitch gọi là mạch có hiện tượng hazard (may rủi), cũng có trường hợp mạch
có khả năng hazard nhưng lại không tạo ra glitch, trong phần dưới đây sẽ trình bày phương
pháp thiết kế mạch không có hazard (hazard-free circuit)
1. Khái niệm về Hazard
Các Hazard gây rắc rối cho hệ thống trong 2 trường hợp
Bài giảng Vi mạch số
Biên soạn Ngô Văn Bình
Trang 12
- Trạng thái kugic ngỏ ra không ổn định, có thể khắc phục bằng cách kéo dài thời
gian đáp ứng của hệ V.D: Giãm tần số xung đồng hồ
- Ngỏ ra của mạch có hazard được nối đến các ngỏ vào không đồng bộ của mạch tiếp
theo sau và sẻ làm các mạch này hoạt động không chính xác
Các phương pháp loại bỏ khả năng hazard đều giả thiết rằng các xung glitch ở ngỏ ra
là do sự thay đổi của 1 bít ở đầu vào
Các loại hazard khác nhau được trình bài trong hình. Một hazard tĩnh xuất hiện khi
đầu ra trải qua một sự chuyển tiếp nhất thời mặc đáng lẽ ra nó không được thay đổi:
Hazard tĩnh loại 1 làm đầu ra giãm xuống 0 trong một thời gian ngắn (xung âm) và ngược
lại hazard tĩnh loại 0 làm xuất hiện xung dương ở ngỏ ra.
Hazard động làm ngỏ ra thay đổi nhiều lần trong khi đúng ra nó chỉ được phép
chuyển một lần từ 0 lên 1 hoặc từ 1 xuống 0, và sẻ tạo ra các xung glitch trong mạch logic
đa mức là loại mạch có nhiều đường dẫn từ đầu vào đến đầu ra vối các thời gian truyền
khác nhau, rất khó loại trừ hazard động, phương pháp giải quyết tốt nhất là chuyển mạch
đa mức có hazard động thành mạch logic 2 mức không có hazard.

Bài giảng Vi mạch số
Biên soạn Ngô Văn Bình
Trang 13

Hình 1.19 Các loại Hazard


2. Phát hiện và loại trừ hazard trong mạch logic 2 mức
Khảo sát hàm sau đây
F (A,B,C,D) = ∑ (1,3,5,7,8,9,12,13)

Hình 1.20 Bảng Karnaugh của hàm F
Xét trường hợp khi đầu vào ABCD = 1100 chuyển sang 1101. Từ sơ đồ cho thấy
khi đầu vào bằng 1100, đầu ra của cổng G1 bằng 1 trong khi đầu ra của cổng G2 bằng 0.
Do đó, đầu ra của G3 bằng 1.
Khi đầu vào chuyển sang 1101 thì đầu ra của các cổng vẩn giữ nguyên. Bây giờ
xem sự thay đổi của ngỏ vào từ 1101 sang 0101 lúc này A chuyển xuống 0 và A chuyển
Bài giảng Vi mạch số
Biên soạn Ngô Văn Bình
Trang 14
lên 1 (nhưng phải qua một thời gian trể của cổng đảo) do đó sẽ có một khoảng thời gian
ngắn cả A và A cùng bằng 0, ngỏ ra của G1 và G3 cùng bằng 0 và F cũng bằng 0, sau đó
khi A lên đến mức 1 thì F bằng 1 trở lại, một xung glitch đã xuất hiện ở ngỏ ra.
Từ bảng Karnaugh cho thấy khi các giá trị đầu vào thay đổi nhưng cùng nằm trong
một biểu thức đơn giản thì không thể xảy ra glitch, nhưng nếu chuyển từ biểu thức đơn
giản này sang biểu thức đơn giản khác thì có thể xảy ra glitch. Tuy nhiên, tốc độ G1 chậm
hơn G3 nhiều thì sẽ không xảy ra glitch ở ngỏ ra F nhưng hazard thì luôn luôn tồn tại.
Phương pháp khắc phục là thêm vào các biểu thức đơn giản sao cho bao phủ mọi thay
đổi đơn bít ở đầu vào, trong ví dụ trên nếu thêm vào phương trình hàm F biểu thức CDB
thì F sẽ luôn bằng 1 bất chấp sự thay đổi của A như đã nói ở trên.
Từ bảng Karnaugh ở hình 1.20 viết lại phương trình của hàm F dưới dạng tích các
tổng.
F =
( )( )
D A C A
 


Dể dàng nhận thấy rằng trong mạch tồn tại hazard tĩnh loại 0 khi đầu vào thay đổi từ
1110 sang 0110, để loại trừ hazard này phải thêm vào số hạng (C + D)B và phương trình F
trở thành.
F =
( )( )
D A C A
 
(C + D)B
Như vậy, sự tồn tại Hazard 1 của hàm F sẻ tương ứng với sự tồn tại hazard 0 của hàm
F.

3. Hazard động
Là các biến thiên xảy ra nhiều lần ở ngỏ ra trong một quá trình thay đổi đầu vào,
nguyên nhân là do tồn tại nhiều đường tìn hiệu trong mạng đa mức mà mỗi đường có độ
trể khác nhau

Hình 1.22 Mạch có Hazard động

Từ mạch điện kế bên cho thấy có 3 đường khác nhau từ B và B đến đầu ra. Giả sử
ABC = 000 thì F =1 và sau đó ABC = 010 tương ứng F = 0, khi ABC = 000 lúc này G1 =
0, G2 = 1và G3 = 1, G4 = 1. Bây giờ B chuyển từ 0 lên 1 với tốc độ các cổng như trong
hình vẽ, quá trình biến đổi trong mạch được mô tả như sau:
G2 chuyển từ 1 sang 0, tiếp theo G3 xuống 0 và G5 cũng xuống 0.

Bài giảng Vi mạch số
Biên soạn Ngô Văn Bình
Trang 15
Tiếp theo đó G1 lên 1 làm G3 lên 1 và G5 cũng lên 1, lúc này đầu ra đã chuyển từ 1
xuống 0 rồi lên 1. Cuối cùng G4 chuyển từ 1 xuống 0 làm G5 xuống giá trị cuối cùng là 0.
Như vậy đầu ra đã biến đổi từ 1 xuống 0, lên 1 rồi lại xuống 0.


VI. Các vi mạch thường dùng trong hệ tổ hợp
1. Bộ dồn kênh (multiplex)
Còn gọi là bộ đa hợp hoặc chọn tín hiệu (selector) có nhiệm vụ chọn một trong số các
tín hiệu đầu vào để đưa tới một đầu ra duy nhất dưới sự điều khiển của các ngỏ vào điều
khiển. Ngược lại bộ phân kênh (distributor) hoặc giải đa hợp (demultiplex) sẽ dẫn tín hiệu
từ một đầu vào duy nhất đến một trong các ngỏ ra dưới sự điều khiển của các ngỏ vào điều
khiển.
Như vậy, bộ dồn kênh là một mạch logic tổ hợp bao gồm 2n đầu vào dữ liệu, n ngỏ
vào điều khiển và một đầu ra dữ liệu, giá trị nhị phân của đầu vào điều khiển là địa chỉ của
đầu vào dữ liệu.

Từ bảng sự thật suy ra phương trình Boole tương ứng:
Z =
1 2
AI AI


Nếu A = 0 thì I0 được chọn và A = 1 thì I1 được chọn, bộ dồn kênh như trên gọi là
bộ dồn kênh 2:1


Bài giảng Vi mạch số
Biên soạn Ngô Văn Bình
Trang 16

các bộ dồn kênh được mô tả bằng số lượng đầu vào dữ liệu vì từ đó có thể suy ra số
lượng tín hiệu điều khiển, từ bộ dồn kênh 2 đầu vào suy ra phương trình các bộ dồn 4:1 và
8:1 như sau:
Z =

1 2 3 4
BAI BAI BAI BAI
  

Z =
1 2 3 4 5 6 7 8
CBAI CBAI CBAI CBAI CBAI CBAI CBAI CBAI
      


Dạng tổng quát minterm của bộ dồn kênh

Thiết kế bộ dồn kênh
Sơ đồ bộ dồn kênh dùng các cổng logic được suy ra từ các phương trình ở phần trên,
sau đây là sơ đồ bộ dồn kênh 4 đầu vào
Bài giảng Vi mạch số
Biên soạn Ngô Văn Bình
Trang 17

Hình 1.25 Bộ dồn kênh dùng cổng logic
Mạch dùng 4 cổng AND 3 đầu vào, một cổng OR 2 đầu vào và 2 cổng đảo, tổng cộng
là 7 cổng.
Có thể xây dựng một bộ dồn N:1 từ nhiều bộ dồn với số đầu vào ít hơn N, hình vẽ
sau đây trình bày bộ dồn 8:1 từ hai bộ 4:1 và một bộ 2:1. Lớp thứ nhất chọn một đầu vào
trong số các đầu vào từ I0 I3 và mộ đầu từ I4 I7 dùng 2 tín hiệu điều khiển B, C, lớp
thứ hai chọn một trong hai nhóm dựa trên tín hiệu A. Nhưng cũng có thể thực hiện bộ dồn
8:1 từ 4 bộ dồn 2:1 và mộ bộ dồn 4:1
Xử dụng bộ dồn kênh như một khối logic
Ngoài chức năng chọn tín hiệu như đã biết, thực tế một bộ dồn là một kiểu thực hiện
bảng sự thật trực tiếp bằng phần cứng.

Xét hàm F (A, B, C) = m0 + m2 + m6 + m7 có thể thực hiện hàm này bằng bộ dồn
8:1 như hình vẻ sau đây.
Các biến vào A, B, C được nối đến các đầu vào điều khiển của bộ chọn, ngỏ vào Ii
được đặt 1 tương ứng với minterm của hàm F, tất cả các đầu vào dữ liệu khác được gán
mức 0. Trong ví dụ này I0, I2, I6 và I7 được gán mức 1 còn I1, I3, I4, I5 được gán mức 0.
Tuy nhiên, có thể xử dụng bộ dồn đơn giản hơn để thực hiện hàm này, hai biến A, B
đưa vào các đầu vào điều khiển và các đầu vào dữ liệu của bộ dồn nối với 0, 1, C và C
Xem bảng sự thật sau đây:
Bài giảng Vi mạch số
Biên soạn Ngô Văn Bình
Trang 18


Hình 1.26 Biểu diễn F như hàm của 0, 1 và C

F =
ABC ABC ABC ABC
  

Và cuối cùng là sơ đồ dùng bộ dồn 4:1




Hình 1. 28 Các giá trị có thể của hàm F

Trong trường hợp tổng quát, một hàm bất kỳ có thể được thực hiện bằng cách chọn (n
- 1) biến vào làm tín hiệu điều khiển cho một bộ dồn kênh có 2 n-1 đầu vào dữ liệu, mỗi
giá trị tổ hợp của (n - 1) biến ứng với hai hàng trong bảng sự thật, giá trị của hàm trong hai
hàng này có thể là các trị số cho trong hình 1 Nếu giá trị hàm trong hai hàng đều bằng 0

Bài giảng Vi mạch số
Biên soạn Ngô Văn Bình
Trang 19
hoặc 1 thì đầu vào tương ứng sẽ là 0 hoặc 1 nếu không thì đầu vào sẽ được nối với biến n
hoặc đảo của n.
Các bộ dồn kênh họ TTL
Cấu tạo các bộ dồn kênh trong thực tế có thêm một hay nhiều tín hiệu điều khiển khác mục
đích cho phép thiết bị hoạt động. Trong hình vẽ sau đây trình bày bộ dồn TTL 74157 gồm
4 bộ 2:1 ngỏ ra tác động mức cao và 74158 gồm 4 bộ 2:1 ngỏ ra tác động mức thấp.

Hình 1.29 Sơ đồ và bảng sự thật bộ dồn kênh TTL 157 và 158

2 Bộ phân kênh (demultiplex)
Bộ phân kênh cho phép tín hiệu đầu vào của nó dẫn đến một trong các ngỏ ra, mỗi
ngỏ ra được phân biệt bởi một mã nhị phân duy nhất, do đó bộ phân kênh còn có chức
năng giải mã. VD: Một bộ giải mả 1:2 gồm 2 đầu vào: Đầu vào
dữ
ABCD ABCD ABCD
 
liệu G và đầu vào điều khiển S và 2 đầu ra Q0 và Q1, phương
trình các đầu ra như sau;
Q0 =
GS
Q1 = G.S
Nếu G = 0 thì 2 đầu ra bằng 0, nếu G = 1 thì thì 1 trong 2 đầu ra sẽ bằng 1 tùy thuộc
vào giá trị của S, một bộ phân kênh hay giải mã thường được gọi theo số lượng đầu vào
điều khiển và số lượng đầu ra V.D: 1:2; 2:4; hoặc 3:8
Cách thực hiện
Hình vẽ sau trình bày mạch giải mã 1:2 bằng các cổng logic, hai tín hiệu vào là tín
hiệu cho phép G và tín hiệu chọn. Khi tín hiệu chọn là 0 thì tín hiệu tại G sẻ được dẫn đến

ngỏ ra 1và lúc này ngỏ ra 2 ở mức 0, ngược lại. khi ngỏ chọn ở mức 1 thì G được dẫn đến
ngỏ ra 2 và lúc này ngỏ ra 1 ở mức 0, nếu G = 0 thỉ cả 2 ngỏ ra đều bằng 0, bộ giải mã này
có tín hiệu cho phép tác động ở mức 1, hình 1.30 trình bày mạch giải mã có tín hiệu cho
phép G tác động ở mức 0.

Hình 1.30 Mạch giải mả 1:2

Bài giảng Vi mạch số
Biên soạn Ngô Văn Bình
Trang 20


Hình 1.31 Mạch giải mả 2:4 dùng cổng AND và NOR

Xử dụng bộ phân kênh như một khối logic
Một bộ phân kênh có thể xem như một bộ tạo các tích đầy đủ (minterm), hình 1.32
vẽ sơ đồ khối của một bộ giải mã 3:8 có 3 tín hiệu điều khiển là A, B, C, khi đó mỗi đầu ra
của bộ giải mã sẽ tương ứng với một minterm của 3 biến A, B, C. Do đó, một bộ giải mã
có thể thực hiện một hàm logic bất kỳ dưới dạng tổng các tích, ví dụ hàm sau đây:
F1 =
ABCD ABCD ABCD
 

F2 =
ABCD ABC


F3 =
ABCD


Chuyển các hàm về dạng tích các tổng chuẩn
F1 =
( )( )( )
ABCD ABCD ABCD A B C D A B C D A B C D
           
F2 =
( )( )
ABCD ABC A B C D A B C
      

F3 =
( )
ABCD A B C D
   
Hình 1.33 là sơ đồ thực hiện dùng bộ giải mã

Hình 1.32 Bộ giải mả 3:8
Bài giảng Vi mạch số
Biên soạn Ngô Văn Bình
Trang 21

Hình 1.33 Thực hiện hàm logic 4 biến
Các bộ phân kênh họ TTL
Hình 1.34 giới thiệu hai bộ giải mã họ TTL đó là 74139 gồm 2 bộ giải mã 2:4 và
74138 là bộ giải mã 3:8, trong 74139 ngỏ vào G và các ngỏ ra tác động mức thấp.
74138 có 3 đầu vào cho phép G1, G2A và G2B và 3 ngỏ chọn tín hiệu A, B, C, bảng
sự thật của 2 vi mạch này được trình bày trong hình 1.34.
Trong thực tế có thể kết hợp các bộ phân kênh chuẩn để tạo nên các bộ phân kênh lớn
hơn và kể cả bộ dồn kênh như trong hình 1.35 cho thấy hai cách tạo nên bộ dồn kênh 32:1
và trong hình 1.36 là bộ giải mã 5:32 được tạo nên từ một bộ giải mã 2:4 và 4 bộ giải mã

3:8:
Bài giảng Vi mạch số
Biên soạn Ngô Văn Bình
Trang 22

Hình 1.34 Bộ giải mã TTL 138 và 139

VII. Vi mạch số lập trình - PLD (programmable logic device)
Để giãm được đến mức tối thiểu số lượng linh kiện cần dùng, một yêu cầu đặt ra là
phải tìm được một khối logic có thể xử dụng cho nhiều thiết kế khác nhau, ví dụ các khối
AOI nhưng cũng không giãm đáng kể số lượng thiết bị trừ khi có được một khối logic
chứa hàng trăm cổng nhưng cấu tạo của khối này phải như thế nào ?
Một giải pháp hợp lý là sắp xếp các cổng AND và OR theo một cấu trúc mảng được
tổng quát hóa mà các điểm nối giữa chúng với nhau có thể lập trình để thực hiện một hàm
xác định. Những khối logic đa năng như vậy là một trong các họ vi mạch số lập trình có
tên gọi riêng là PLA (programmable logic array) - mảng logic lập trình.
1. PLA
Hình 1.37 trình bày sơ đồ khối của một mảng PLA gồm có nhiều đầu vào và nhiều
đầu ra, được tổ chức thành các mảng con AND và mảng con OR. Mảng con AND sẻ
chuyển các đầu vào thành các tích số tương ứng với các điểm nối được lập trình, mảng con
OR sẻ cộng các tích số này với nhau để tạo ra biểu thức dạng tổng các tích của hàm.
Bài giảng Vi mạch số
Biên soạn Ngô Văn Bình
Trang 23

Một khối PLA có thể thực hiện một tập hợp các hàm khá phức tạp. Độ phức tạp phụ
thuộc vào số lượng đầu vào, số lượng các tích số (số lượng các cổng AND) và số lượng
đầu ra (số lượng các cổng OR) mà PLA có thể cung cấp.
Ví dụ một FPLA công nghệ TTL có thể có 16 đầu vào, 48 tích số và 8 đầu ra được
chế tạo gọn trong một vỏ 24 chân dữ liệu. Nó tương đương với 48 cổng AND 16 đầu vào

và 8 cổng OR 48 đầu vào.
Ví dụ thưc hiện hàm Boole sau đây:
,
C A CA

F0 =
A BC

F2 =
AB BC


F1 =
A.C + A.B
F3 =
A BC


Có thể mô tả bằng tập hợp các biến A, B, C những chữ này tương đương với số đầu
vào của mảng AND, các tích số
, , , ,AC
A BC BC AB và các hàm F0, F1, F2 và F3. Các
đầu ra của mảng AND là đầu vào của mảng OR và các đầu ra của mảng OR kà các hàm,
để thực hiện các hàm này phải cần một PLA có ít nhất 3 đầu vào, 5 tích số và 4 đầu ra.
Một cách tiện lợi để mô tả các hàm là dùng ma trận đặc tính, một biến hóa của bảng
sự thật được vẽ trong hình 1.38, bảng mô tả các đầu vào nào phải nối với cổng AND để tạo
nên tích số tương ứng, (1 = biến không bù; 0 = biến bù; - = không nối) và những tích số
nào phải được OR với nhau để tảo thành các đầu ra cuối cùng (1 = nối; 0 = không nối).
Các hàng xác định các tích số, các cột biểu diễn các đầu vào và đầu ra. Một tích số có thể
tham gia trong nhiều hàm nếu trong hàng của nó có nhiều số 1. Trong hình 1.38 dể dàng

nhận thấy các tích số
, ,
A BC AB
được dùng chung cho nhiều hàm.
Bài giảng Vi mạch số
Biên soạn Ngô Văn Bình
Trang 24

Hình 1.38 Ma trận đặc tính PLA

Hình 1.39 Mảng PLA trước khi lập trình

Về mặt cấu tạo phần cứng của mảng PLA thì ở giữa cổng và các đầu vào có đặt các
cầu chì có thể làm đứt bằng cách cho dòng điện lớn chạy qua, phần mềm lập trình sẽ phân
tích hàm Boole để xác định cầu chì nào phải phá hỏng và cầu chì nào cần để lại.
Bài giảng Vi mạch số
Biên soạn Ngô Văn Bình
Trang 25

Hình 1.40 Mảng PLA sau khi lập trình
Hình 1.41 trình bày ký hiệu thường dùng để biểu diễn mạng PLA, các dây nối đơn đi
vào AND và OR tượng trưng cho các đầu vào, các dấu X cho biết các cầu chì đang ở trạng
thái nối

Hình 1.41 Ký hiệu PLA 4 đầu vào, 4 tích số và 4 đầu ra

2 PAL (programmable array logic)
Trong hình 1.41 cho thấy cả 2 mảng AND và OR đều có thể thay đổi theo yêu cầu
của người xử dụng. Nhưng không phải tất cả các mảng logic lập trình đều cho phép lập
trình đầy đủ như PLA ví dụ họ PAL gồm các mảng AND lập trình còn các điểm nối giữa

các tích số với ngỏ vào cổng OR đã được xác định trước, số lượng các tích số vào một
cổng OR thường là 2, 4, 8, 16

×