Національний технічний університет України
«Київський політехнічний інститут імені Ігоря Сікорського»
Кафедра АПЕПС
Комп’ютерна схемотехніка та архітектура комп’ютерів
ЗВІТ
ДО ЛАБОРАТОРНОЇ РОБОТИ № 2
«Синтез перемикальних функцій»
Варіант № 18
Дата «02» Жовтня 2021
Мета роботи: Закріплення знань і отримання практичних навичок отримання мінімальних аналітичних форм представлення перемикальних функцій; побудови комбінаційних схем для їх реалізації в заданому елементному базисі.
Постановка задачі
В результаті виконання даної лабораторної роботи студент повинен вміти:
використовуючи методи Куайна-МакКласкі та карт Карно, отримувати мінімальні аналітичні форми представлення перемикальних функцій в заданому базисі логічних елементів;
проводити функціональне та моделювання цифрових пристроїв (ЦП) з урахуванням часових параметрів мікросхем ПЛІС;
порівнювати інтегральні реалізації ЦП.
Теоретичні відомості
Для вирішення постановленої задачі я скористувався алгеброю логіки, яка й лежить у основі усіх комп’ютерних процесів. Як ще звуть, булева алгебра, яка складається у тому, що є тільки два значення: істина або хибність, тобто 1 або 0. Та є операції які із цими значеннями можна проводити.
Основні з них:
Заперечення (НЕ) ¬
Кон’юнкція (ТА) ∧
Диз’юнкція (АБО) ∨
Заперечення
Кон’юнкція
Диз’юнкція
Ще є операції, утворені з цих простих (елементарних) за допомогою логічного зв'язка, вони називаються складними.
Призначаючи змінним значення 1 або 0, використовуючи елементарні та будуючи з них складні операції, ми можемо створювати власні логічні функції та використовувати із метою вирішення якихось логічних завдач.
Так як ми працюємо із комп’ютерами, то нам також й важлива максимальна оптимізація процесу логіки. Для цього використовують мінімізацію. Мінімізація булевих функцій — спрощення булевих виразів. Оскільки логічні функції реалізують за допомогою певного набору пристроїв, то, спрощуючи вираз, зменшуємо кількість елементів. Є декілька методів мінімізації булевих функцій, розглянемо два з них.
Метод Куайна — Мак-Класкі (метод простих імплікант)
https://uk.wikipedia.org/wiki/%D0%9C%D0%B5%D1%82%D0%BE%D0%B4_%D0%9A%D1%83%D0%B0%D0%B9%D0%BD%D0%B0_%E2%80%94_%D0%9C%D0%B0%D0%BA-%D0%9A%D0%BB%D0%B0%D1%81%D0%BA%D1%96
Карти Карно
Карта Карно зменшує потребу в обширних обчисленнях, використовуючи перевагу людської можливості розпізнання шаблонів, дозволяє швидке розпізнавання і виключення потенційних станів гонитви.
В карті Карно булеві змінні переносяться (зазвичай з таблиці істинності) і впорядковуються згідно з принципами кода Грея, в якому тільки одна змінна змінюється при переході між сусідніми квадратами. Коли таблиця згенерована, і у відповідні комірки записані вихідні значення, дані організовуються в найбільші можливі групи, що містять 2n комірок (n=0,1,2,3...). Далі, працюючи з цими групами, отримують мінімізовану ДНФ.
Приклад таблиці
/
Завдання до варіанту:
Вихідна таблиця:
x3
x2
x1
x0
F
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
1
1
0
0
1
0
0
0
0
1
0
1
1
0
1
1
0
1
0
1
1
1
1
1
0
0
0
1
1
0
0
1
0
1
0
1
0
1
1
0
1
1
0
1
1
0
0
1
1
1
0
1
0
1
1
1
0
0
1
1
1
1
1
/
Хід отримання мінімальних форм представлення булевої функції
Метод Куайна — Мак-Класкі
Знайдемо усі мінтерми, тобто ті вхідні значення, при яких функія набуває одиниці
Кількість одиниць
Мінтерм
Двійкове представлення
1
m8
1000
2
m5
m6
m10
m12
0101
0110
1010
1100
3
m7
0111
4
m15
1111
Знайдемо імпліканти, тобто співпадаючі форми вхідних даних серед мінтермів
Кількість 1 | Мінтерми | Імпліканти 1-го рівня | Імпліканти 2-го рівня
------------------------------|-----------------------|---------------------
1 m8 1000 | m(8,10) 10-0 | m(8,10,12) 1--0*
------------------------------| m(8,12) 1-00 |---------------------
2 m5 0101 |--------------...