Bài 2: Đại số Boole và ứng dụng

0
433
2.1 THIẾT KẾ BIỂU THỨC LOGIC

2.1.1 CÁC PHÉP TOÁN Ở ĐẠI SỐ BOOLE

Bởi vì các đại lượng chỉ có hai trạng thái nên đại só Boole rất khác đại số thường và dể tính toán hơn. Ở đại số Boole không có phân số, số thập phân, số ảo, số phức, căn số… mà chỉ thực hiện chủ yếu 3 phép tính toán cơ bản sau:

  Phép cộng thể hiện qua hàm OR

  Phép nhân thể hiện qua hàm AND

  Phép phủ định thể hiện qua hàm NOT

Các phép tính trên khi áp dụng cho logic 0 và 1:

2.1.2 THIẾT LẬP BIỂU THỨC LOGIC

Hàm logic cho từng cổng ta đã biết nên ta có thể viết hàm logic, hay còn gọi là biểu thức logic, cho bất cứ kết nối nào của các cổng. Từ biểu thức biết được ta có thể tính logic ra tương ứng với mỗt tổ hợp logic vào, và lập bảng sự thật của các ngõ vào (biến số) và ngõ ra (hàm). Để tính logic ra tương ứng với một tổ hợp logic và ta thường là tính thẳng trên mạch.

Ví dụ:

Ví dụ với mạch trên với 4 ngõ vào nên ta có tổng cộng 16 tổ hợp vào nên ta phải tính 16 trạng thái ra khác nhau mới lập được bảng sự thật (Truth Table).

2.1.3 THỰC HIỆN MẠCH TỪ BIỂU THỨC LOGIC

Ngược lại với viết biểu thức từ mạch là thực hiện mạch từ biêut thức logic. Ví dụ cho biểu thức logic cho là: nhìn vào biểu thức ta thấy ngõ ra là OR của 3 số hạng nên ta thực hiện mỗi số hạng Y trước. Với số hạng đầu ta dùng AND, số hạng thứ 2 ta ĐẢO C sau đó AND với B, số hạng thứ 3 ta cũng thực hiện tương tự , sau cùng ta OR 3 ba số hạng lại. 

2.2 CÁC ĐỊNH LÝ ĐẠI SỐ BOOLE

Một biến số

 
 Giao hoán

 Phối  hợp

 Phân phối

 Một số đẳng thức hữu dụng

 Định lý De Morgan

Các định lý của đại số Boole được chứng minh hay kiểm chứng bằng nhiều cách. Các cách chứng minh hay kiểm chứng này tương đối đơn giản, người đọc có thể tự chứng minh hay kiểm chứng.

Ví dụ 1: Thiết kế mạch dùng hai cổng logic thỏa bảng sự thật sau đây

Giải: Vì ngõ ra bằng 0 chỉ một trường hợp nên ta viết hệ thức logic ở trường hợp này. Y= 0 khi A= 0 VÀ B = 1 nên  . Để có Y ta đảo 

, nên . Mạch thực hiện cổng NOT để tạo ra A đảo, tiếp theo là cổng NAND của và B (hình 1.30a)

Mặt  khác  ta có thể dựa vào bảng sự thật  dể viết hàm logic cho Y và kết quả là: sử dụng các định lý của đại số Boole ta biến đổi và được kết quả cuối cùng là  (hình 1.30b).

Ví dụ 2: Chứng tỏ 

Giải:

 

Vận dụng các công thức ta dể dang biến đổi được:

Một cách chứng minh khác là ta có thể dùng bảng sự thật để chứng minh biểu thức trên.

2.3 SỰ CHUYỂN ĐỔI GIỮA CÁC LOẠI CỔNG LOGIC

Các cổng logic có thể chuyển dổi qua lại lẩn nhau từ cổng này thành cổng khác. Để thuận tiện cho việc thiết kế mạch logic nên ta phải chuyển đổi giữa các cổng với nhau, chủ yếu là chuyển đổi AND thành OR và ngược lại, chuyển đổi AND – OR thành NAND – NAND. Đa số các bài toán thiết kế logic đều yêu  cầu sử dụng cổng NAND nên ta phải chuyển đổi từ cổng NAND thành các cổng logic khác. Để thuận lợi cho việc chuyển đổi ta cần phải nắm vững các định lý của đại số Boole và đặc biệt là định lý De Morgan.

Sau đây là một số chuyển đổi giữa các cổng với nhau:

 

2.4 ÁP DỤNG CÁC ĐỊNH LÝ ĐẠI SỐ BOOLE ĐỂ RÚT GỌN BIỂU THỨC LOGIC

Các định lý Boole giúp đơn giản các biểu thức logic. Việc đơn giản là cần thiết để mạch thiết kế thực hiện đơn giản và kinh tế hơn. Rút gọn biểu thức là vận dụng các định lý từ hàm một biến cho đến hàm nhiều biến và những đẳng thức hữu dụng. Đặt biệt là hai định lý De Morgan giúp ích cho chúng ta rất nhiều trong việc rút gọn biểu thức logic và cũng là công cụ chính để chuyển đổi dạng mạch. Để việc rút gọn biểu thức logic và chuyển đổi mạch dể dàng chúng ta cần phải nắm vững các định lý của đại số Boole và cần phải thông thạo việc chuyển đổi giữa các cổng logic.

Ví dụ 3: Rút gọn các biểu thức sau:

 

Ví dụ 4: Đơn giản hàm

Giải:

Ngoài việc rút gọn biểu thức logic bằng đại số boole, ta còn sử dụng đại số boole để đơn giản mạch logic. Để đơn giản mạch logic ta làm các bước sau:

– Từ mạch logic chúng ta xác định biểu thức cho ngõ ra của mạch

– Sau khi xác định được hàm ngõ ra ta tiến hành rút gọn biểu thức bằng cách dùng các định lý của đại số boole, đặc biệt là sử dụng định lý De Morgan.

– Sau khi được biểu thức mới ta có được mạch logic mới tương đương với mạch logic đã cho.

Ví dụ 5: Đơn giản mạch ở hình 1.32 (a)

Giải:

Trước tiên ta viết biểu thức logic cho ngõ ra:

Rút gọn biểu thức ta được:

Từ biểu thức vừa rút gọn được ta thành lập được mạch logic mới như hình 1.32b.

2.5 THIẾT KẾ LOGIC TỔ HỢP

Khi làm một bài toán thiết kế logic tổ hợp ta cần thực hiện đúng các bước sau đây:

Bước 1: Dựa vào yêu cầu của bài toán đặt ra, chúng ta đặt các biến cho ngõ vào và các hàm của ngõ ra  tương ứng.

Bước 2: Thiết lập bảng sự thật cho ngõ ra và ngõ vào theo yêu cầu của bài toán

Bước 3: Từ bảng sự thật viết ra biểu thức mô tả sự liên hệ logic giữa ngõ ra và các ngõ  vào.

Có hai cách viết biểu thức logic cho ngõ ra, đó là trường hợp logic ra bằng 1 và bằng 0 (hai trường hợp này là tương đương nhau).

Các viết biểu thức thường ở dạng tổng-các-tích và tích-các-tổng.

Bước 4: Áp dụng các định lý của đại số boole để rút gọn biểu thức logic ngõ ra. Sau đó chuyển sang dạng logic khác để thuận lợi hơn cho việc thực hiện mạch logic.

Bước 5:  Từ biểu thức logic rút gọn được ta chuyển sang mạch logic tương ứng.

Ví dụ 6:

Một ngôi nhà có 3 công tắc, người chủ nhà muốn bóng đèn sáng khi cả 3 công tắc đều hở, hoặc khi công tắc 1 và 2 đóng còn công tắc thứ 3 hở. Hãy thiết kế mạch logic thực hiện sao cho:

    a. Số cổng là ít nhất.

    b. Chỉ dùng một cổng NAND 2 ngõ vào.

Giải:

Bước 1:

Gọi 3 công tắc lần lượt là A, B, C. Bóng đèn là Y.

Trạng thái công tắc đóng là logic 1, hở là 0. Trạng thái đèn sáng là logic 1 và tắt là 0.

Bước 2:

Từ yêu cầu bài toán ta có bảng sự thật:

 Bước 3: Từ bảng sự thật ta có biểu thức logic ngõ ra 

Nếu không rút gọn biểu thức logic ta thực hiện mạch logic thì số cổng logic sử dụng sẽ rất nhiều hình 1.33 (b).

Bước 4: Rút gọn biểu thức logic:

Đến đây thì ta thấy rằng biểu thức logic đã gọn và số cổng logic sử dụng là ít nhất.

Bước 5: Mạch logic tương ứng của biểu thức: 

 hình 1.33 a

b. biến đổi mạch logic chỉ sử dụng một loại cổng NAND 2 ngõ vào.

Xuất phát từ biểu thức ban đầu, ta sử dụng định lý De Morgan để biến đổi.

Lấy đảo của Y ta được:

Không khia triển vì đã là một cổng NAND. Biểu thức còn ở dạng tổng nên ta đảo một lần nữa, ta được:

 

Đến đây ta thấy rằng thừa số trong ngoặc chưa NAND được với C nên ta cần đảo hai lần nữa để được kết quả tất cả đều là cổng NAND 2 ngõ vào:

Từ biểu thức trên ta có sơ đồ mạch logic hình 1.34

 

 2.6 Ý NGHĨA CỦA KÝ HIỆU LOGIC.

Mạch logic (mạch số) nhận dữ liệu ở các ngõ vào và cho dữ liệu ở ngõ ra. Dữ liệu là tín hiệu nhị phân chỉ gồm hai mức: mức cao (logic 1) hoặc mức thấp (logic 0). Để thuận lợi cho việc thiết kế mạch logic.

Khi không có vòng tròn nhỏ ở đường vào hay đường ra trên ký hiệu mạch logic, đường đó gọi là kích hoạt (tích cực) ở mức cao (active-HIGH). Còn nếu có vòng tròn nhỏ ở đường vào hay đường ra, đường đó gọi là kích hoạt ở mức thấp (active-LOW). Sự có mặt hay vắng mặt của vòng tròn sẽ quyết định trạng thái kích hoạt ở mức cao/kích hoạt ở mức thấp của đầu ra hay đầu vào, nó cũng được dùng để giải thích hoạt động của mạch.

Sau đây là minh họa bằng cổng NAND (hình 1.35).

 

Trên ký hiệu này (hình 1.35 (a)) có vòng tròn ở đầu ra, nhưng không có vòng tròn ở đầu vào. Vì vậy đầu ra tích cực ở mức thấp và đầu vào kích hoạt ở mức cao.

Trên ký hiệu hình 1.35 (b) có đầu ra kích hoạt ở mức cao và các đầu vào kích hoạt ở mức thấp.

Vì sao chúng ta phải tìm hiểu ý nghĩa của ký hiệu logic? Lý do là chúng ta sẽ sử dụng ký hiệu thay thế này để biểu vẽ và phân tích logic theo dạng tác động kích hoạt và cách thay thế ký hiệu logic như sau:

Để có ký hiệu thay thế cho một cổng logic, ta hãy lấy ký hiệu chuẩn rồi thay đổi ký hiệu đại số của nó (OR thành AND, hoặc AND thành OR ), và đổi vòng tròn trên cả hai đầu vào lẫn đầu ra.

Để giải thích hoạt động của một cổng logic, ta cần chú ý trạng thái logic nào, 0 hay 1, là trạng thái kích hoạt của đầu vào và đầu ra.

Ví du 7:

Cho ngõ ra của mạch như hình 1.36 a, vẽ lại mạch để mô tả ngõ ra tác động ở mức thấp.

Giải: Vì ngõ ra tác động mức thấp nên thêm vòng tròn phủ định. Do đó đổi OR thành AND với các vòng tròn phủ định ở ngõ vào. Theo quy luật ta thêm vòng tròn phủ định cho ngõ ra của cổng OR và NAND còn cổng NOT thì không vì đã có vòng tròn phủ định. Tiếp theo chuyển đổi cổng OR và NAND để đảm bảo logic (hình 1.36 b).

0 BÌNH LUẬN

Gửi phản hồi