Tricky Circuit

Повний суматор: три входи

Передай перенос далі

Повний суматор додає два біти, двійкові цифри 0 чи 1, і Cin (Carry input), вхідний перенос із попереднього розряду. Він видає біт суми тут і вихідний перенос у наступний розряд.

Відкрити інтерактивний дослід

ЕКСПЕРИМЕНТАЛЬНИЙ СТІЛ

Змінюй налаштування схеми, передбачай покази та перевіряй розв’язання завдання. Це навчальні моделі; припущення пояснено в кожному уроці.

Увійди, щоб зберігати прогрес. Прогрес гостя зберігається на цьому пристрої.

Відкрити лабораторію в повному вікні

Чому це працює

Ідеальна двійкова логіка: 0 — низький рівень, 1 — високий, а не виміряна напруга. Живлення, струм, навантаження виходу та затримка не моделюються; рисунки показують функції, а не виводи мікросхем.

A й B — дані; Cin означає Carry input, вхідний перенос; S — сума, Cout — вихідний перенос. T = A + B + Cin; T = S + 2Cout. XOR — Exclusive OR, виключне АБО: дає 1 для різних вхідних бітів. ⊕ і =1 позначають цю функцію. Перенос — одиниця свого розряду, а не додаткова напруга.

Складність
  1. Збери · Збери

    Увімкни A = 0, B = 0 і Cin = 1. Отримай S = 1 і Cout = 0.

    Потрібна підказка?

    A = 0; B = 0; Cin = 1 → S = 1; Cout = 0

  2. Досліди · Зміни входи

    Задай A = 1, B = 1 і Cin = 0. Отримай S = 0 і Cout = 1.

    Потрібна підказка?

    A = 1; B = 1; Cin = 0 → S = 0; Cout = 1

  3. Розв’яжи · Розв’яжи завдання

    Задай A = 1, B = 1 і Cin = 1. Отримай S = 1 і Cout = 1.

    Потрібна підказка?

    A = 1; B = 1; Cin = 1 → S = 1; Cout = 1

Додаткові матеріали та картки схем

Передай перенос далі

Калькулятор повторює цей блок у багатьох розрядах. Кожен додає маленьку частину числа та передає перенос до більшого розряду.

T = A + B + Cin; T = S + 2Cout; S = A ⊕ B ⊕ Cin

Сума показує непарність загального числа. Перенос показує, чи досягло воно двох. Разом вони описують числа від нуля до трьох.

Корисна закономірність

Три високі входи дають три, двійкове 11. Одного біта суми недостатньо.

За межами моделі

Повний суматор складається з двох напівсуматорів і АБО. АБО дає 1, коли хоча б один вхід дорівнює 1; І — лише коли обидва 1. На схемі це ≥1 та &. Справжній перенос має затримку; модель рахує миттєво.

Помилка, якої варто уникати

Вхідний та вихідний перенос — різні сигнали. Вхідний не є пам’яттю зворотного зв’язку, вихідний не завжди його копіює.

A = 0, B = 0. Cin змінюється з 0 на 1. Отримуємо…

  1. S = 1, Cout = 0
  2. S = 0, Cout = 1
  3. S = 1, Cout = 1
Читати далі

Загальна сума зросла з нуля до одиниці. Потрібен лише розряд одиниць.

Збери

Задай A = 0, B = 0, Cin = 1. Один вхідний перенос дає разом 1.

T = 1; S = 1; Cout = 0

Зміни входи

Задай A = 1, B = 1, Cin = 1. Разом 3: сума 1, перенос 1.

T = 3; S = 1; Cout = 1

Спробуй інший шлях

Зафіксуй Cin і поміняй A з B. Потім залиш A й B високими та зміни Cin: порівняй суму й перенос.

bob.cs.sonoma.edu