Drakor & TinyLogic
Слышал, ты любишь превращать головоломки в схемы? Как насчет того, чтобы вместе спроектируем самую эффективную NAND-цепь для эмуляции полного сумматора? Без лишних деталей, только точность, и шанс доказать, что лаконичность круче хаоса.
Конечно! Давай построим чистый, минимальный полный сумматор на NAND-вентилях.
Вот конструкция из 12 вентилей, всё компактно и без лишнего.
1. **Полусумматор 1 (A + B)**
- G1 = NAND(A,B) // AB' (инвертированное И)
- G2 = NAND(A,G1) // A(AB')' = A B'
- G3 = NAND(B,G1) // B A'
- G4 = NAND(G2,G3) // Sum1 = A⊕B
2. **Полусумматор 2 (Sum1 + Cin)**
- G5 = NAND(Sum1,Cin) // S1Cin'
- G6 = NAND(Sum1,G5) // Sum1 S1Cin'
- G7 = NAND(Cin,G5) // Cin S1Cin'
- G8 = NAND(G6,G7) // Sum = Sum1⊕Cin
3. **Перенос**
- G9 = NAND(A,B) // использован G1
- G10 = NAND(Cin,Sum1) // Cin Sum1'
- G11 = NAND(G9,G10) // временный
- G12 = NAND(G11,G11) // C_out = (AB + CinSum1)'
Вот и всё – 12 NAND-вентилей, без потерь. Сумма на выходе G8, а перенос на G12. Если хочешь оптимизировать ещё больше, можешь объединить G9 с G1 и G10 с G5 – тогда сэкономишь один вентиль, но немного потеряешь в читаемости. Приятного творчества!