Cho hàm Boolean sau: Y(A, B, C, D) = L (2,4,5,6,13,14) +d(0,8,10,12). Tối thiểu hóa hàm F Câu 1: Cho hàm Boolean sau:
Y(A,B,C,D) = L (2,4,5,6,13,14) +d(0,8,10,12)
a. Tối thiểu hóa hàm F
b. Thiết kế mạch cho hàm F chi sử dụng cổng NAND hai đầu vào
c. Thiết kế mạch cho hàm F chi sử dụng cổng NOR hai đầu vào
Tham khảo câu trả lời từ Trợ lý ảo Lazi Để tối thiểu hóa hàm Boolean Y(A, B, C, D) = L(2, 4, 5, 6, 13, 14) + d(0, 8, 10, 12), chúng ta sẽ thực hiện các bước như sau: ### a. Tối thiểu hóa hàm F **Bước 1: Lập bảng Karnaugh** Chúng ta sẽ lập bảng Karnaugh cho các giá trị minterms và dont cares đã cho. Minterms: 2 (0010), 4 (0100), 5 (0101), 6 (0110), 13 (1101), 14 (1110) Don’t cares: 0 (0000), 8 (1000), 10 (1010), 12 (1100) ``` AB 00 01 11 10 +---------------- 0 | 1 0 0 1 (2) 1 | 1 1 1 1 (4, 5, 6, 13, 14) ``` **Bước 2: Nhóm các ô trong bảng Karnaugh** - Nhóm các ô minterm (1s) và don’t care (X): ``` AB 00 01 11 10 +---------------- 0 | 1 0 0 1 (2) 1 | 1 1 1 1 (4, 5, 6, 13, 14) ``` Có thể nhóm như sau: 1. Nhóm 4 ô (bắt đầu từ 2, gồm 2, 4, 6, 5): Biểu thức là A'B 2. Nhóm 4 ô (bắt đầu từ 4, gồm 4, 5, 6, 14): Biểu thức là AB ### Kết quả của tối thiểu hóa Hàm F tối ưu hóa sẽ là: \[ F = A'B + AB + A'C \] ### b. Thiết kế mạch cho hàm F chỉ sử dụng cổng NAND hai đầu vào Để chuyển đổi hàm thành dạng NAND, chúng ta sẽ sử dụng định lý De Morgan. Biểu thức ban đầu: 1. Biểu thức dưới dạng OR: `F = A'B + AB + A'C` 2. Chuyển đổi sang dạng NAND: \[ F = \overline{\overline{(A'B)} \cdot \overline{(AB)} \cdot \overline{(A'C)}} \] Mạch NAND sẽ có cấu hình như sau: - Tạo `A'` từ A dùng cổng NAND: `NAND(A, A)` - Tạo `B'` từ B dùng cổng NAND: `NAND(B, B)` - Kết nối để có `A'B`: `NAND(A', B)` - Kết nối để có `AB`: `NAND(A, B)` - Tạo `A'C`: `NAND(A', C)` - Kết hợp tất cả: Sử dụng một cổng NAND để đưa ra kết quả cuối cùng từ ba đầu vào đã tạo ra trước đó. ### c. Thiết kế mạch cho hàm F chỉ sử dụng cổng NOR hai đầu vào Tương tự, để chuyển đổi ra dạng NOR: \[ F = \overline{\overline{C + B} + \overline{A + B} + \overline{C + A}} \] Mạch NOR sẽ có cấu hình như sau: - Tạo `A'`: `NOR(A, A)` - Tạo `B'`: `NOR(B, B)` - Kết nối NOR cho mỗi điều kiện: - `C + B`: `NOR(C, B)` - `A + B`: `NOR(A, B)` - `C + A`: `NOR(C, A)` - Kết quả hoàn thiện sẽ từ ba đầu ra đó kết hợp với một cổng NOR nữa. Đó là cách chúng ta tối thiểu hóa hàm và thiết kế mạch sử dụng cổng NAND và NOR.