Trình rút gọn đại số Boolean
Với một biểu thức Boolean — A·B + A·¬B + ¬A·B hoặc bảng chân trị có minterms — trình rút gọn này trả về dạng sum-of-products tối thiểu bằng thuật toán Quine-McCluskey, kèm trực quan Karnaugh map cho tối đa sáu biến. Nó hiển thị mọi bước (prime implicants, essential prime implicants, bảng phủ), nên hữu ích không chỉ cho bài tập mà cả khi audit lựa chọn của minimiser bên trong công cụ synthesis.
Quá trình rút gọn Boolean chạy như thế nào
-
1
Nhập biểu thức hoặc minterms
Dùng toán tử · (AND), + (OR), ' hoặc ¬ (NOT), ⊕ (XOR). Hoặc dán chỉ số minterm như m(0,1,3,7).
-
2
Bảng chân trị được tạo
Mọi phép gán biến được đánh giá và output của hàm được đưa vào bảng.
-
3
Quine-McCluskey tìm prime implicants
Minterms được nhóm và kết hợp lặp lại. Các nhóm kề nhau (khác một biến) được gộp cho đến khi không thể giảm nữa.
-
4
Essential implicants phủ hàm
Bảng phủ theo phương pháp Petrick chọn tập prime implicants nhỏ nhất. Kết quả là SOP đã rút gọn. Dạng POS được suy ra từ phần bù.
Ký hiệu toán tử được hỗ trợ
| Phép toán | Ký hiệu chấp nhận |
|---|---|
| AND | ·, *, &, ∧, dấu cách |
| OR | +, |, ∨ |
| NOT | \', ¬, !, ~, dấu gạch trên (A có dấu gạch trên hiển thị thành A\') |
| XOR | ⊕, ^ |
| Hằng số | 0, 1 |
Ví dụ
Đầu vào: A·B + A·¬B + ¬A·B
Bảng chân trị:
| A | B | F |
|---|---|---|
| 0 | 0 | 0 |
| 0 | 1 | 1 |
| 1 | 0 | 1 |
| 1 | 1 | 1 |
Minterms: m(1, 2, 3). SOP tối thiểu rút gọn thành A + B (OR của hai biến). Trình rút gọn đi qua:
- Nhóm minterms theo số lượng bit 1
- Kết hợp các cặp kề nhau: (1,3) →
-B, (2,3) →A- - Bảng phủ cho thấy cả hai đều essential — dạng cuối:
A + B
Vì sao cần tối thiểu hóa
- Ít gate hơn: mỗi hạng AND/OR đều tốn silicon hoặc FPGA LUTs.
- Critical path ngắn hơn: logic nhỏ hơn thường nghĩa là độ trễ lan truyền thấp hơn.
- Công suất thấp hơn: ít nút chuyển mạch hơn.
Giới hạn thuật toán
- Số biến: Quine-McCluskey tăng theo O(3^n / n) trong trường hợp xấu nhất. Công cụ xử lý thoải mái đến 8 biến; vượt mức đó, hãy dùng minimiser heuristic kiểu Espresso (không bảo đảm tối thiểu tuyệt đối nhưng khả thi).
- Don’t-care terms: thêm bằng cú pháp
d(indices)để có kết quả nhỏ hơn khi một số tổ hợp input không thể xảy ra.
Câu hỏi thường gặp
Sum-of-products là OR-của-AND (như AB + CD); product-of-sums là AND-của-OR (như (A+B)(C+D)). Cùng một hàm, cấu trúc khác nhau. Trình rút gọn trả cả hai — chọn dạng phù hợp với công cụ downstream của bạn.
Có. Nhập chúng dưới dạng d(index1, index2, ...) cùng với minterms. Minimiser xem chúng là “tự do” để gán giá trị nào tạo kết quả nhỏ hơn.
Cả hai đều tạo chi phí tối thiểu nếu bạn chọn đúng, nhưng K-map phụ thuộc vào việc người làm có nhận ra nhóm lớn nhất có thể hay không. Quine-McCluskey có tính quyết định và luôn tìm nghiệm tối ưu.
XOR được khai triển thành AND/OR/NOT trước khi tối thiểu hóa. Bạn sẽ nhận SOP tương đương nhưng cấu trúc XOR bị mất. Nếu muốn tối ưu vẫn giữ XOR, cần thuật toán khác (Reed-Muller).
Công cụ liên quan
Trình tạo bảng màu ngẫu nhiên
Tạo bảng màu ngẫu nhiên từ 2 đến 15 mẫu màu, chọn phong cách rực rỡ, pastel, dịu hoặc tối, rồi sao chép mã HEX hoặc biến CSS.
Trình tạo bảng màu
Tạo bảng màu đơn sắc, tương đồng, bổ túc, bộ ba hoặc bộ bốn từ màu HEX gốc và xuất các biến CSS sẵn sàng sao chép.
Trình tạo chữ cái ngẫu nhiên
Tạo chữ cái A-Z ngẫu nhiên. Chọn số lượng, chữ hoa, chữ thường hoặc kiểu trộn, rồi dùng cho trò chơi, gợi ý bài tập hoặc hoạt động lớp học.
Bộ chuyển đổi ASCII sang Hex
Chuyển văn bản ASCII sang giá trị byte hệ thập lục phân. Đầu ra dùng hai chữ số hex cho mỗi ký tự, sẵn cho memory dump, packet trace hoặc bảng firmware.
Trình tạo màu ngẫu nhiên
Tạo từ 1 đến 50 màu HEX ngẫu nhiên kèm mẫu màu để xem trước, sao chép và dùng trong CSS, kiểm thử hoặc khám phá bảng màu.
Trình định dạng JSON
Dán JSON để hiển thị với thụt lề 2 hoặc 4 dấu cách, rút gọn thành đầu ra compact, hoặc kiểm tra nhanh cú pháp trước khi sao chép kết quả.