Цифрова логіка: вентилі, карти Карно та тригери: задачі з покроковими розв’язками

Безкоштовні задачі з теми Цифрова логіка: вентилі, карти Карно та тригери з рисунками, підказками й повними розв’язками. Щоразу нові значення, трьох рівнів: вентилі, таблиці істинності та затримки, булева алгебра, карти Карно та мультиплексори, байдужі стани, тригери та лічильники.

Безкоштовна задачаЛегка
AF

NAND і NOR — універсальні вентилі: будь-яку логічну функцію можна побудувати лише з одного з них. Яка мінімальна кількість N 2-вхідних вентилів NAND потрібна, щоб побудувати показану функцію NOT?

F = A′

Точна відповідь: ціле число, без округлення.

Наступна задача →

Що ви тренуєте

  1. Легкавентилі, таблиці істинності та затримки
  2. Середнябулева алгебра, карти Карно та мультиплексори
  3. Складнабайдужі стани, тригери та лічильники

Як розв’язувати задачі на тему «Цифрова логіка: вентилі, карти Карно та тригери»

  1. Для схеми рухайтеся від входів до виходу вентиль за вентилем і записуйте значення на кожному дроті, або запишіть її вираз і заповніть таблицю істинності.
  2. Для спрощення занесіть одиниці (а байдужі стани як X) на карту Карно з рядками й стовпцями в коді Грея: 00, 01, 11, 10.
  3. Покрийте одиниці якомога меншою кількістю якомога більших груп по 1, 2, 4, 8 або 16 клітинок, з переходом через краї; кожна група — це один добуток зі змінних, що лишаються сталими. Для форми POS групуйте нулі.
  4. Для тригерів і лічильників читайте входи на кожному активному фронті такту, записуйте стан після кожного фронту й пам’ятайте, що n-розрядний лічильник переходить через максимум після 2ⁿ станів.

Типові помилки

  • Упорядкування карти Карно як 00, 01, 10, 11 замість коду Грея 00, 01, 11, 10.
  • Забування, що групи можуть переходити через краї, або групи по 3 чи 6 клітинок.
  • Покриття байдужих станів, які не збільшують групу.
  • Забування, що лічильник переходить через максимум, або читання Q₃Q₂Q₁Q₀ у неправильному порядку.

Основні формули

Базові вентилі
A·B, A + B, A′, (A·B)′, (A + B)′, A ⊕ B
Правила булевої алгебри
X + X′ = 1, X·X′ = 0, X + XY = X, XY + XY′ = X
Закони де Моргана
(X·Y)′ = X′ + Y′, (X + Y)′ = X′·Y′
Порядок на карті Карно
00, 01, 11, 10 (Gray code)
Група з 2ᵏ клітинок
втрачає k змінних
Мультиплексор 4-до-1
F = A′B′I0 + A′BI1 + AB′I2 + ABI3
Тригери
D: Q⁺ = D, T: Q⁺ = T ⊕ Q, JK: Q⁺ = JQ′ + K′Q
Лічильники
n-розрядний: 2ⁿ станів; за модулем N: найменше n з 2ⁿ ≥ N; fout = fclk/N
Послідовний лічильник
fmax = 1/(n·tpd)
Кільцевий лічильник і лічильник Джонсона
n і 2n станів

Вивчайте тему «Цифрова логіка: вентилі, карти Карно та тригери» з нуля

Перед цим: Системи числення

1Одиниці, нулі та вентилі

Цифрові схеми працюють із двома значеннями: 0 (низька напруга, хибність) і 1 (висока напруга, істина). Логічний вентиль приймає один або кілька входів і дає один вихід.

ABA·BANDABA + BORAA′NOT
  • AND дає 1 лише тоді, коли всі входи дорівнюють 1. Записується A·B або AB.
  • OR дає 1, коли принаймні один вхід дорівнює 1. Записується A + B.
  • NOT інвертує: 0 стає 1, а 1 стає 0. Записується A′ (або з рискою над A).
  • NAND і NOR — це AND і OR з наступним NOT; маленьке коло на позначенні означає «інвертований».
  • XOR (A ⊕ B) дає 1, коли входи різні.

Таблиця істинності перелічує вихід для кожної комбінації входів: 2ⁿ рядків для n входів. Рядок ABC = 101 має номер 5 і називається мінтермом m₅.

Самоперевірка A = 1 і B = 0. Що видає вентиль NAND?
  1. 0
  2. 1
  3. Залежить від попереднього виходу
  4. Нічого: NAND потребує, щоб обидва входи дорівнювали 1

Відповідь: 1. AND від 1 і 0 дорівнює 0, а NAND інвертує його в 1. NAND дорівнює 0 лише тоді, коли всі його входи дорівнюють 1.

2Булева алгебра

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

X + X′ = 1 X·X′ = 0 X + X = X X + X·Y = X
X·Y + X·Y′ = X Де Морган: (X·Y)′ = X′ + Y′, (X + Y)′ = X′·Y′

Правило склеювання X·Y + X·Y′ = X — серце спрощення: два доданки, що відрізняються однією змінною, зливаються, і ця змінна зникає.

Сума добутків (SOP) — це OR з AND-доданків, наприклад F = AB′ + C. Добуток сум (POS) — це AND з OR-доданків, наприклад F = (A + B)(B′ + C). Кожен доданок побудований із літералів: змінних зі штрихом або без нього.

3Карти Карно

Карта Карно — це таблиця істинності, намальована у вигляді сітки, де сусідні клітинки відрізняються рівно однією змінною. Саме тому рядки й стовпці йдуть у порядку 00, 01, 11, 10 (код Грея), а не в двійковому порядку.

ABC00011110000103121140507161F = B
  1. Запишіть 1 у клітинку кожного мінтерма; маленьке число в кожній клітинці — це номер мінтерма.
  2. Обведіть прямокутниками по 1, 2, 4, 8 або 16 клітинок одиниці. Групи можуть переходити через краї: ліва й права колонки — сусіди, так само верхній і нижній рядки.
  3. Робіть кожну групу якомога більшою, а груп — якомога менше, доки кожну 1 не буде покрито.
  4. Читайте кожну групу як добуток: залишайте лише змінні, що не змінюються всередині неї. Група з 2ᵏ клітинок втрачає k змінних.

На карті вище чотири 1 утворюють одну групу. Усередині неї змінюються A і C, лишається сталою лише B = 1, тож F = B.

Клітинки з позначкою X — це байдужі стани: комбінації входів, що ніколи не трапляються. Використовуйте X як 1, коли це збільшує групу, а в іншому разі ігноруйте. Групування нулів замість одиниць дає мінімальну форму POS.

Самоперевірка Скільки літералів дає група з 4 клітинок на карті з 4 змінними?
  1. 1
  2. 2
  3. 3
  4. 4

Відповідь: 2. Чотири клітинки — це 2², тож усередині групи змінюються дві змінні, які випадають. З чотирьох змінних залишаються дві.

4Розв’язаний приклад

Простежте кожен крок. Спробуйте передбачити наступний, перш ніж його відкрити.

Розв’язаний приклад

Знайдіть мінімальну форму SOP для F(A, B, C) = Σm(0, 2, 4, 5, 6) і порахуйте її літерали.

1

Заповніть карту

Рядки A = 0, 1; стовпці BC = 00, 01, 11, 10. Одиниці стоять у m0, m2 (рядок 0, стовпці 00 і 10) та m4, m5, m6 (рядок 1, стовпці 00, 01 і 10).

2

Найбільша група

Стовпці BC = 00 і BC = 10 є сусідніми через край. Разом вони містять m0, m2, m4 і m6: група з чотирьох. Стала лише C = 0, тож ця група — C′.

3

Покрийте останню 1

m5 (A = 1, BC = 01) досі не покрита. Об’єднайте її із сусідом m4: у цій парі сталими лишаються A = 1 і B = 0, тож доданок — AB′.

4

Зчитайте відповідь

F = C′ + AB′

Три літерали у двох доданках. Групування m5 окремо дало б AB′C — довший доданок: завжди робіть групи якомога більшими, навіть якщо вони перекриваються.

Відповідь

F = C′ + AB′, 3 літерали.

5Тригери та лічильники

Вентилі реагують на входи одразу. Тригер зберігає один біт і змінюється лише за активним фронтом тактового сигналу (зазвичай переднім фронтом).

  • D-тригер: Q стає рівним D за кожним фронтом такту (Q⁺ = D).
  • T-тригер: перемикається, коли T = 1, і зберігає стан, коли T = 0.
  • JK-тригер: JK = 00 зберігає, 01 скидає в 0, 10 встановлює в 1, 11 перемикає.
CLKQ

Тригер, що перемикається, змінюється за кожним переднім фронтом, тож його вихід має вдвічі меншу частоту, ніж такт. Ланцюжок із n таких тригерів дає n-розрядний двійковий лічильник з 2ⁿ станами. Лічильник за модулем N рахує 0, 1, …, N − 1 і повертається до 0; йому потрібне найменше n, для якого 2ⁿ ≥ N, а його останній вихід має частоту fclk/N.

У послідовному лічильнику кожен ступінь тактується попереднім, тому затримки додаються: період такту має бути не меншим за n·tpd. Лічильники на зсувних регістрах використовують менше станів: кільцевий лічильник із n тригерів має n станів, лічильник Джонсона — 2n.

Самоперевірка 4-розрядний двійковий лічильник на додавання показує 13. Яке значення він покаже після ще 5 імпульсів такту?
  1. 18
  2. 2
  3. 3
  4. 8

Відповідь: 2. 4-розрядний лічильник має 16 станів і переходить з 15 до 0: 13 + 5 = 18, а 18 mod 16 = 2. Відповідь 18 не враховує переповнення.

6Типові помилки

  • Записувати стовпці карти Карно як 00, 01, 10, 11. Порядок — код Грея: 00, 01, 11, 10.
  • Забувати, що групи переходять через краї карти.
  • Робити групи по 3 або 6 клітинок. Групи мають 1, 2, 4, 8 або 16 клітинок.
  • Покривати байдужий стан, який не допомагає: X ніколи не мусить бути покритий.
  • Читати групу, залишаючи змінні, що змінюються. Залишайте лише ті, що лишаються сталими.
  • Забувати, що лічильник переходить через максимум: n-розрядний лічильник рахує за модулем 2ⁿ.

7Як виглядають екзаменаційні запитання

  • Легкий: обчислити вихід вентильної схеми для заданих входів, порахувати 1 у її таблиці істинності, розмістити мінтерм на карті Карно, кількість вентилів NAND для функції або найгіршу затримку поширення.
  • Середній: спростити вираз, знайти мінімальну форму SOP або POS за допомогою карти Карно, функція на мультиплексорі або ізольована 1 на карті.
  • Складний: карти з байдужими станами, істотні прості імпліканти, часові діаграми тригерів, лічильники після багатьох імпульсів, кількість тригерів або вихідна частота, а також зсувні регістри.

Перевірте спрощений вираз, підставивши один чи два рядки таблиці істинності: початковий і спрощений вигляди мають давати той самий вихід.

Вивчайте крок за кроком у застосункуВивчайте крок за кроком у застосунку

Розв’язані приклади

Приклад 1Легка
BAF

NAND і NOR — універсальні вентилі: будь-яку логічну функцію можна побудувати лише з одного з них. Яка мінімальна кількість N 2-вхідних вентилів NAND потрібна, щоб побудувати показану функцію AND?

F = A·B

Знайти: N

Показати підказки
  1. Вентиль NAND зі з’єднаними входами є інвертором.
  2. AND = NAND з наступним інвертором; OR = NAND від інвертованих входів (де Морган).
  3. Рахуйте кожен вентиль, включно з тими, що використані як інвертори.
Показати відповідь і покроковий розв’язок

Логічні вентилі: кожен вхід і вихід дорівнює 0 або 1. AND дає 1 лише тоді, коли всі входи дорівнюють 1; OR дає 1, коли принаймні один вхід дорівнює 1; NOT інвертує. NAND і NOR — це AND і OR з наступним NOT, а XOR дає 1, коли входи різні. Проходьте схему від входів до виходу, вентиль за вентилем. Таблиця істинності перелічує вихід для всіх 2ⁿ комбінацій входів; номер рядка — це двійкове значення входів, тож рядок ABC = 101 є мінтермом m₅.

Побудуйте її з вентилів NAND

Закон де Моргана: A + B = (A′·B′)′, тож OR — це NAND від інвертованих входів.

F = A·B = NOT(NAND(A, B))

Порахуйте вентилі

N = 2

Відповідь

N = 2
Приклад 2Середня
ABCD00011110000111101111111

На цій карті Карно рівно одна 1 не має сусідньої 1, тож у мінімальній формі SOP вона лишається групою з однієї клітинки (повний мінтерм із чотирьох літералів). Сусіди через краї карти враховуються. Клікніть цю клітинку.

F = Σm(0, 3, 4, 10, 13, 14, 15)
  1. 1AB = 00, CD = 00
  2. 2AB = 00, CD = 01
  3. 3AB = 00, CD = 11
  4. 4AB = 00, CD = 10
  5. 5AB = 01, CD = 00
  6. 6AB = 01, CD = 01
  7. 7AB = 01, CD = 11
  8. 8AB = 01, CD = 10
  9. 9AB = 11, CD = 00
  10. 10AB = 11, CD = 01
  11. 11AB = 11, CD = 11
  12. 12AB = 11, CD = 10
  13. 13AB = 10, CD = 00
  14. 14AB = 10, CD = 01
  15. 15AB = 10, CD = 11
  16. 16AB = 10, CD = 10
Показати підказки
  1. Сусідні клітинки відрізняються рівно однією змінною.
  2. Крайній лівий і крайній правий стовпці є сусідніми, так само верхній і нижній рядки.
  3. Перевірте чотирьох сусідів (вгорі, внизу, ліворуч, праворуч, з переходом через край) кожної 1.
Показати відповідь і пояснення

Карти Карно: клітинки впорядковано за кодом Грея (00, 01, 11, 10), тож сусідні клітинки, зокрема через краї, відрізняються рівно однією змінною. Групуйте одиниці в прямокутники по 1, 2, 4, 8 або 16 клітинок, якомога більші й у якомога меншій кількості, доки кожну 1 не буде покрито. Кожна група — це один добуток: змінні, що лишаються сталими всередині неї. Група з 2ᵏ клітинок втрачає k змінних. Байдужі стани (X) можна використовувати, щоб групи були більшими, але їх не обов’язково покривати. Групування нулів замість одиниць дає мінімальну форму POS.

Сусіди кожної 1

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

m3: m2, m1, m7, m11 → 0
ABCD00011110000111101111111

Ізольована 1

m3 = A′B′CD → AB = 00, CD = 11

Відповідь

AB = 00, CD = 11
Приклад 3Складна
TQ0​Q0​TQ1​Q1​TQ2​Q2​TQ3​Q3​CLKMOD-12

Синхронний лічильник за модулем 12 рахує 0, 1, …, 11, а потім повертається до 0. Він починає з 8. Яке значення Q (у десятковому вигляді) він покаже після 36 імпульсів такту?

Q0 = 836N = 12

Знайти: Q

Показати підказки
  1. Лічильник має 12 станів і повторюється через 12 імпульсів.
  2. Після k імпульсів значення дорівнює (8 + k) mod 12.
  3. 36 mod 12 = 0.
Показати відповідь і покроковий розв’язок

Тригери та лічильники: тригер змінюється лише за активним фронтом такту. D копіює свій вхід (Q⁺ = D); T перемикається, коли T = 1; JK зберігає стан за 00, скидає за 01, встановлює за 10 і перемикає за 11. n-розрядний двійковий лічильник має 2ⁿ станів і рахує за модулем 2ⁿ; лічильник за модулем N рахує 0, 1, …, N − 1 і повертається до 0, і йому потрібне найменше n, для якого 2ⁿ ≥ N тригерів. Кожен ступінь послідовного лічильника ділить частоту навпіл, тож останній вихід лічильника за модулем N має частоту fclk/N. Лічильник Джонсона з n тригерів має 2n станів, кільцевий — n.

Повні цикли

Кожні 12 імпульсів повертають лічильник у той самий стан.

36 = 3·12 + 0

Значення після решти імпульсів

Q = (8 + 0) mod 12 = 8
Q = 1000₂

Відповідь

Q = 8

Запитання й відповіді

Цифрова логіка: вентилі, карти Карно та тригери: що це?

Цифрові схеми працюють із двома значеннями: 0 (низька напруга, хибність) і 1 (висока напруга, істина). Логічний вентиль приймає один або кілька входів і дає один вихід.

Цифрова логіка: вентилі, карти Карно та тригери: як розв’язувати задачі крок за кроком?
  1. Для схеми рухайтеся від входів до виходу вентиль за вентилем і записуйте значення на кожному дроті, або запишіть її вираз і заповніть таблицю істинності.
  2. Для спрощення занесіть одиниці (а байдужі стани як X) на карту Карно з рядками й стовпцями в коді Грея: 00, 01, 11, 10.
  3. Покрийте одиниці якомога меншою кількістю якомога більших груп по 1, 2, 4, 8 або 16 клітинок, з переходом через краї; кожна група — це один добуток зі змінних, що лишаються сталими. Для форми POS групуйте нулі.
  4. Для тригерів і лічильників читайте входи на кожному активному фронті такту, записуйте стан після кожного фронту й пам’ятайте, що n-розрядний лічильник переходить через максимум після 2ⁿ станів.
Цифрова логіка: вентилі, карти Карно та тригери: які помилки найпоширеніші?
  • Упорядкування карти Карно як 00, 01, 10, 11 замість коду Грея 00, 01, 11, 10.
  • Забування, що групи можуть переходити через краї, або групи по 3 чи 6 клітинок.
  • Покриття байдужих станів, які не збільшують групу.
  • Забування, що лічильник переходить через максимум, або читання Q₃Q₂Q₁Q₀ у неправильному порядку.
Цифрова логіка: вентилі, карти Карно та тригери: що ви тренуєте?
  • Легка: вентилі, таблиці істинності та затримки
  • Середня: булева алгебра, карти Карно та мультиплексори
  • Складна: байдужі стани, тригери та лічильники

Кожна задача має нові значення, тож ви вивчаєте метод, а не відповідь. Застрягли? Спершу відкрийте невелику підказку, а повне пояснення — лише коли воно знадобиться.

Як проходить тренування

  • Кожна задача має нові значення, тож ви вивчаєте метод, а не відповідь.
  • Застрягли? Спершу відкрийте невелику підказку, а повне пояснення — лише коли воно знадобиться.
  • Ваш прогрес, помилки та збережені задачі зберігаються, тож перед іспитом ви зможете все повторити.

Теми до і після цієї

Спочатку вивчіть

Курси з цією темою

Інші теми: Електротехніка

Робочий аркуш для друку