Вентилі і таблиці істинності

Комбінаційна і послідовна (послідовних) логіка.

Сутність цифрової електроніки - вироблення вихідних цифрових сигналів відповідно до вхідними. Наприклад, акумулятор може прийняти на свої входи два 16-розрядних числа і сформувати на виході 16-розрядну суму (плюс перенос). Можна зробити також схему для множення двох чисел. Такого типу операції повинен вміти виконувати процесор ЕОМ. Інше завдання - порівняння двох чисел з метою упевнитися в тому, що «всі системи діють нормально». Можливо, ви захочете доповнити паритетним бітом число, яке підлягає передачі по каналу зв'язку, так, щоб загальна кількість «одиниць» в ньому стало парних: перевірка паритету на приймальній стороні забезпечує простий контроль правильності передачі. Ще одна типова задача полягає в тому, щоб взяти будь-які числа, виражені в двійковому коді, а потім відтворити їх на екрані, відперфорованих або віддрукувати у вигляді десяткових знаків. Стан виходу (або виходів) у всіх цих завданнях є визначеною функцією стану входу або входів. Завдання, які стосуються цього класу, називаються «комбінаційними» і можуть бути вирішені за допомогою вентилів - пристроїв, які виконують операції булевої алгебри в системах з двома станами (довічних).

Існує інший клас задач, які не можна вирішити лише шляхом формування комбінаційних функцій поточних значень вхідних сигналів і які вимагають знання їхнього колишнього стану. Для вирішення цих завдань необхідно застосовувати «послідовні» схеми. До завдань такого типу відноситься перетворення рядка двійкових розрядів з послідовної форми (один розряд слід за іншим в часі) в паралельну групу розрядів, підрахунок числа одиниць, розпізнавання заданої певної кодової комбінації і послідовності бітів, або, наприклад, формування одного вихідного імпульсу після надходження чотирьох вхідних. Для вирішення всіх цих завдань потрібно в будь-якій формі цифрова пам'ять. Основним пристроєм для побудови цієї пам'яті служить тригер (або мультивибратор з двома стійкими станами). Розглянемо спочатку вентилі і комбінаційну логіку, так як вони є основою для побудови будь-яких цифрових схем. При переході до послідовним логічним пристроям світ цифрової техніки стане значно цікавішим, однак і вентилі самі по собі також досить цікаві.

Вентиль АБО.

Вихід вентиля АБО має ВИСОКИЙ рівень, якщо хоча б на одному з його входів присутня ВИСОКИЙ рівень. Це можна виразити за допомогою «таблиці істинності», представленої на рис. 8.2, де показаний вентиль АБО на 2 входи. У загальному випадку число входів не обмежена, однак в стандартному корпусі мікросхеми зазвичай розміщуються чотири -входових вентиля, три -входових або два -входових. Наприклад, на виході -входового вентиля АБО ВИСОКИЙ рівень буде присутній в тому випадку, якщо він поданий на будь-який з його входів. Для позначення операції АБО в булевої алгебри використовується символ +. Функція «А ЧИ В» записується як А + В.

Вентиль І.

Вихід вентиля І має високий рівень тільки в тому випадку, якщо ВИСОКИЙ рівень присутній на обох його входах. Символічне зображення вентиля і його таблиця істинності дані на рис. 8.3. Вентилі І, що випускаються промисловістю також як і вентилі АБО, могуть мати 3, 4, а іноді і більше число входів.

Наприклад, -входовой вентиль І виробляє на виході ВИСОКИЙ рівень тільки в тому випадку, якщо на всіх його входах діє ВИСОКИЙ рівень.

Для позначення операції І в булевої алгебри використовується точка, яка може бути опущена, функція «А і В» записується як А В, або просто АВ.

Інвертор (функція НЕ).

Іноді буває потрібно отримати додаток (інверсію) логічного сигналу. Цю функцію виконує інвертор - вентиль, який має тільки один вхід (рис. 8.4). Для позначення операції НЕ в булевої алгебри використовується риса над символом або апостроф; «НЕ А» записується як А чи. Для зручності замість для вказівки заперечення часто використовуються символи таким чином, НЕ А можна записати будь-яким з наступних способів:. Ми використовуємо в цій книзі запис А.

І-НЕ і АБО-НЕ. Вентилі можуть поєднувати інвертування з виконанням функцій І і АБО.

Далі буде показано, що такі вентилі мають більш широке поширення, ніж просто І і АБО (рис. 8.5).

Мал. 8.7. Паралельні перетворювачі двійкового, коду в код Грея і коду Грея в двійковий (6).

Що виключає Або.

Великий інтерес представляє логічна функція «Що виключає АБО», хоча вона не відноситься до числа основних (рис. 8.6). На виході вентиля «Що виключає Або» ВИСОКИЙ рівень сформується в тому випадку, якщо він буде поданий на один з його входів (але не на обидва одночасно).

Іншими словами, ВИСОКИЙ рівень діє на виході тоді, коли входи мають різний стан. Цей вентиль може мати тільки два входи. Операція «Що виключає Або» подібна додаванню двох біт по модулю 2.

Вправа 8.5. Покажіть, як вентиль «Що виключає АБО» може бути використаний в якості «модифікується інвертора», який в залежності від рівня на керуючому вході, може або інвентірованного вхідний сигнал, або передавати його на вихід без інверсії (буферирован).

Вправа 8.6. Перевірте, чи дійсно схеми, зображені на рис. 8.7, перетворять двійковий код в код Грея і навпаки.