У попередньому підручнику Half Subtractor Circuit ми бачили, як комп'ютер використовує однобітові двійкові числа 0 та 1 для віднімання та створює біт Diff and Borrow. Сьогодні ми дізнаємося про побудову схеми повного віднімача.
Повна схема віднімача
Схема напіввіднімача має серйозний недолік; у нас немає можливості забезпечити запозичення біта для віднімання в напіввід’ємнику. У випадку повної побудови субтрактора, ми можемо фактично зробити запозичення на вході в схемі і можемо відняти його з іншими двома входами A і B. Отже, у випадку з ланцюгом повного субтрактора ми маємо три входи, A, що є мінусом, B що віднімається і запозичує. З іншого боку ми отримуємо два кінцеві результати, Diff (різниця) і Borrow out.
Ми використовуємо дві половини схеми субтрактора з додатковим додаванням затвору АБО і отримуємо повну схему повного субтрактора, таку ж, як схема повного додавання, яку ми бачили раніше.
Давайте подивимося блок-схему,
На зображенні вище замість блок-схеми відображаються фактичні символи. У попередньому навчальному посібнику Subtractor ми бачили таблицю істинності двох логічних входів, яка має два варіанти введення, XOR і NAND. Тут в схему додається додатковий затвор, АБО затвор. Ця схема дуже схожа на схему з повним суматором без затвору NOT.
Таблиця істини повного ланцюга віднімача
Оскільки схема повного від’ємника має справу з трьома входами, таблиця « Правда» також оновлюється трьома вхідними стовпцями та двома вихідними стовпцями.
Позич | Вхід A | Вхід B | DIFF | Позич |
0 | 0 | 0 | 0 | 0 |
0 | 1 | 0 | 1 | 0 |
0 | 0 | 1 | 1 | 1 |
0 | 1 | 1 | 0 | 0 |
1 | 0 | 0 | 1 | 1 |
1 | 1 | 0 | 0 | 0 |
1 | 0 | 1 | 0 | 1 |
1 | 1 | 1 | 1 | 1 |
Ми також можемо висловити повну побудову схеми Subtractor булевим виразом.
Для випадку DIFF ми спочатку XOR вводимо A і B, потім знову XOR виводимо з Borrow in . Отже, Diff - це (A XOR B) XOR Взяти в борг. Ми також можемо виразити це за допомогою:
(A ⊕ B) ⊕ Позич.
Тепер для Позики це:
який може бути представлений далі
Каскадні схеми субтракторів
На даний момент ми описали побудову однобітової схеми повного віднімача з логічними затворами. Але що, якщо ми хочемо відняти два, більше одного бітового числа?
Ось перевага повного контуру субтрактора. Ми можемо каскадувати однобітові повні схеми віднімачів і можемо відняти два багатобітові двійкові числа.
У таких випадках можна використовувати каскадну схему повного аддера з НЕ воротами. Ми могли б використовувати метод компліментів 2, і це популярний метод перетворення повної схеми суматора в повний віднімач. У такому випадку ми, як правило, інвертуємо логіку входів віднімання повного суматора за допомогою інвертора або НЕ затвора. Додаючи цей неінвертований вхід (Minuend) та інвертований вхід (Subtrahend), хоча вхідний перенос (LSB) повної схеми суматора знаходиться в Logic High або 1, ми віднімаємо ці два двійкові файли в методі доповнення 2. Результатом роботи Full-adder (який тепер є повним Subtractor) є біт Diff, і якщо ми інвертуємо виконання, отримаємо біт Borrow або MSB. Ми можемо насправді побудувати схему і спостерігати за результатами.
Практична демонстрація повної схеми віднімача
Ми будемо використовувати логічний чіп Full Adder 74LS283N і НЕ ворота IC 74LS04. Використані компоненти
- 4-контактні занурювальні вимикачі 2 шт
- Червоні світлодіоди 4шт
- 1шт зелений світлодіод
- 8шт резистори 4.7k
- 74LS283N
- 74LS04
- 13 шт 1k резистори
- Макет
- Підключення проводів
- Адаптер 5 В
На наведеному вище зображенні 74LS283N показано ліворуч, а 74LS04 - праворуч. 74LS283N - це 4-бітний чіп Subtractor TTL з функцією Carry look forward. А 74LS04 - це НЕ затвор, він має шість НЕ воріт всередині нього. Ми використаємо п’ять із них.
Схема штифтів показана на схемі.
Схема для використання цих ІС як схеми повного віднімача
- Схема контактів мікросхем 74LS283N та 74LS04 також показана на схемі. Pin 16 і Pin 8 - це VCC і Ground відповідно,
- 4 Шлюзи інвертора або затвори НЕ з'єднані через штирі 5, 3, 14 і 12. Ці штирі є першим 4-бітовим числом (Р), де штифт 5 - це MSB, а штифт 12 - LSB.
- З іншого боку, Pin 6, 2, 15, 11 є другим 4-бітовим числом, де Pin 6 - це MSB, а pin 11 - LSB.
- Висновки 4, 1, 13 і 10 - це вихід DIFF. Контакт 4 - це MSB, а контакт 10 - LSB, коли немає позики.
- SW1 - це віднімання, а SW2 - Minuend. Ми підключили Carry in pin (Pin 7) до 5V, щоб зробити його Logic High. Це потрібно для доповнення 2.
- 1k резистори використовуються на всіх вхідних штифтах для забезпечення логіки 0, коли DIP-перемикач знаходиться в стані OFF. Завдяки резистору ми можемо легко перейти від логіки 1 (двійковий біт 1) до логіки 0 (двійковий біт 0). Ми використовуємо джерело живлення 5 В.
- Коли DIP-перемикачі УВІМКНЕНІ, вхідні висновки замикаються на 5 В, що робить ці DIP-перемикачі Logic High; ми використовували червоні світлодіоди для відображення бітів DIFF та зелений світлодіод для розрядження позики.
- Резистор R12, який використовується для підтягування через 74LS04, не може забезпечити достатню кількість струму для керування світлодіодом. Крім того, контакт 7 і контакт 14 є відповідно заземленням і контактом 5 В 74LS04. Нам також потрібно перетворити біт запозичення, що надходить із повного суматора 74LS283N.
Перегляньте демонстраційне відео для подальшого розуміння нижче, де ми показали віднімання двох 4-бітових двійкових чисел.
Також перевірте нашу попередню комбіновану логічну схему:
- Половина ланцюга додавання
- Повна схема додавання
- Половина ланцюга віднімача