Một 2 chiều xử lý phổ quát (2ULP) là một mạng lưới các cổng logic mà phải mất hai dây đầu vào A
và B
, cũng như bốn đầu vào khác L_
, L_a
, L_b
, và L_ab
, và tạo ra một đầu ra duy nhất L(a, b)
sử dụng bốn L
đầu vào là một hàm bảng sự thật:
- 2ULP trả về
L_
nếuA
vàB
là cả hai0
. - Nó trả về
L_a
nếuA = 1
vàB = 0
. - Nó trả về
L_b
nếuA = 0
vàB = 1
. - Nó trả về
L_ab
nếuA
vàB
là cả hai1
.
Ví dụ, với các đầu vào L_ = 0
, L_a = 1
, L_b = 1
, và L_ab = 0
, sau đó đầu ra L(a, b)
sẽ bằng A xor B
.
Nhiệm vụ của bạn là xây dựng 2ULP chỉ sử dụng cổng NAND, sử dụng càng ít cổng NAND càng tốt. Để đơn giản hóa mọi thứ, bạn có thể sử dụng cổng AND, OR, NOT và XOR trong sơ đồ của mình, với các điểm tương ứng sau:
NOT: 1
AND: 2
OR: 3
XOR: 4
Mỗi điểm số này tương ứng với số lượng cổng NAND cần thiết để xây dựng cổng tương ứng.
Mạch logic sử dụng các cổng NAND ít nhất để tạo ra một chiến thắng xây dựng chính xác.