Міністерство освіти і науки України
Київський політехнічний інститут ім. Ігоря Сікорського
Теплоенергетичний факультет
Кафедра АПЕПС
Комп’ютерна схемотехніка та архітектура комп’ютерів
ЗВІТ ДО
ЛАБОРАТОРНОГО ПРАКТИКУМУ № 2
«Синтез перемикальних функцій»
Варіант № 4
Дата: « 11 » жовтня 2021
Мета роботи:
Закріплення знань і отримання практичних навичок отримання мінімальних аналітичних форм представлення перемикальних функцій; побудови комбінаційних схем для їх реалізації в заданому елементному базисі.
Відомості з теорії:
Логічною основою комп’ютера є алгебра логіки, яка розглядає логічні операції над висловлюваннями.
Алгебра логіки – це розділ математики, що вивчає висловлювання, що розглядаються зі сторони їх логічних значень (істини або хибності) і логічних операцій над ними.
Логічне висловлювання – це будь-яке розповідне речення, стосовно якого можна однозначно сказати, чи є воно істинним або хибним.
Висловлювальна форма – це розповідне речення, яке прямо або опосередковано містить хоча б одну змінну і стає висловлюванням, коли всі змінні заміщаються своїми значеннями.
Алгебра логіки розглядає будь-яке висловлювання з однієї точки зору – є воно істинним або хибним. Слова і словосполучення «не», «і», «або», «якщо ..., то», «тоді і тільки тоді» та інші дозволяють з вже заданих висловів будувати нові висловлювання. Такі слова і словосполучення називаються логічними зв'язками.
Висловлювання, утворені з інших висловлювань за допомогою логічних зв'язок, називаються складними (складними). Висловлювання, які не є складовими, називаються елементарними (простими). Істинність або хибність складових висловлювань залежить від істинності чи хибності елементарних висловлювань, з яких вони складаються.
Щоб звертатися до логічних висловлювань, їм призначають імена.
Кожна логічна зв'язка розглядається як операція над логічними висловленнями і має свою назву та позначення
Позначення операції
Читається
Назва операції
¬
НЕ
Заперечення (інверсія)
∧
І
Кон'юнкція (логічне множення)
∨
АБО
Диз'юнкція (логічне додавання)
НЕ Операція, що виражається словом «не», називається запереченням і позначається рискою над висловлюванням (або знаком ¬). Висловлювання ¬А істинне, коли A помилкове, і помилкове, коли A істинне.
І Операція, що виражається зв'язкою «і», називається кон'юнкцією (лат. conjunctio - з'єднання) або логічним множенням і позначається крапкою « • » (може також позначатися знаками ∧ або &). Висловлювання А • В істинне тоді і тільки тоді, коли обидва висловлювання А і В істинні.
АБО Операція, що виражається зв'язкою «або» (в прямому сенсі цього слова), називається диз'юнкцією (лат. disjunctio - поділ) або логічним додаванням і позначається знаком ∨ (або плюсом). Висловлювання А/В хибне тоді і тільки тоді, коли обидва висловлювання А і В хибні.
Нехай функція від n змінних і будь-який з її аргументів можуть набувати значень тільки з множини {0, 1}. Тоді ця функція називається логічною, або булевої, або перемикаючою, або функцією алгебри логіки. Зазначену вище функцію часто називають також булевим вектором. Кількість різноманітних двійкових наборів дорівнює множині n-розрядних двійкових чисел m=2n. Наприклад, для функції двох змінних x і є чотири двійкових набори: 00; 01; 10; 11. Дві функції відрізняються одна від одної, якщо їхні значення будуть різними хоча б на одному наборі. Число різноманітних булевих функцій від n змінних дорівнює 2m, де . m=2n.
На логічних елементах, що реалізують булеві функції, будуються логічні схеми електронних пристроїв. На сучасному етапі розроблені універсальні (канонічні) форми подання булевих функцій, які дають змогу одержати аналітичну форму довільної функції безпосередньо з таблиці істинності. Важливим етапом проектування цифрових пристроїв є мінімізація булевих функцій, тобто знаходження їхніх представлень з мінімальною кількістю букв. Мінімізація забезпечує побудову економічних схем цифрових автоматів.
Одними з методів мінімізації булевих функцій є метод Квайна-Мак-Класки та карти Карно. Розглянемо детально кожен метод.
Метод Куайна — Мак-Класкі (метод простих імплікант) - табличний метод мінімізації булевих функцій розроблений Уілардом Куайном і Едвардом Мак-Класкі. Функціонально ідентичний карті Карно, але таблична форма робить його ефективнішим для використання в комп'ютерних алгоритмах.
Для знаходження мінімізованої функції потрібно виписати мінтерми, де функція приймає значення 1. Тепер можна починати комбінувати між собою мінтерми (фактично проводити операцію склеювання). Якщо два мінтерми відрізняються лише символом, що стоїть в одній і тій самій позиції в обох, заміняємо цей символ на «-», це означає, що даний символ для нас не має значення. Терми, що не піддаються подальшому комбінуванню позначаються «*». При переході до імплікант другого рангу, трактуємо «-» як третє значення. Наприклад: -110 і -100 або -11- можуть бути скомбіновані, але не -110 і 011-. Коли подальше комбінування вже неможливе, конструюємо таблицю простих імплікант. Тут враховуємо лише ті виходи функції, що мають значення, тобто не звертаємо уваги на байдужі стани.
Карта Карно (K-карта скорочено) - метод спрощення виразів булевої алгебри, зроблене Морісом Карно в 1953 поліпшення Діаграм Вейча, винайдених Едвардом Вейчем в 1952. Карта Карно зменшує потребу в обширних обчисленнях, використовуючи перевагу людської можливості розпізнання шаблонів, дозволяє швидке розпізнавання і виключення потенційних станів гонитви.
В карті Карно булеві змінні переносяться (зазвичай з таблиці істинності) і впорядковуються згідно з принципами кода Грея, в якому тільки одна змінна змінюється при переході між сусідніми квадратами. Коли таблиця згенерована, і у відповідні комірки записані вихідні значення, дані організовуються в найбільші можливі групи, що містять 2n комірок (n=0,1,2,3...)[1]. Далі, працюючи з цими групами, отримують мінімізовану ДНФ.
Після мінімізації булевої функції потрібно перейти у відповідний базис і побудувати електронну схему та провести моделювання, яке дозволить переконатися у правильності функціювання розробленої ЦП.
Вихідна таблиця булевої функції
X3
X2
X1
X0
F
0
0
0
0
1
0
0
0
1
0
0
0
1
0
1
0
0
1
1
0
0
1
0
0
1
0
1
0
1
0
0
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
0
0
1
1
1
0
1
0
1
1
0
1
1
0
1
1
0
0
0
1
1
0
1
1
1
1
1
0
0
1
1
1
1
1
Отримання мінімальної форми представлення булевої функції за методом Квайна-Мак-Класкі
1) Знаходження імплікантів та занесення їх у таблицю
Кількість
Мінтерни
Двійкове преддставлення
0
M0
0000
1
M2
M4
M8
0010
0100
1000
2
M9
M10
1001
1010
3
M7
M13
0111
1101
4
M15
1111
2) Комбінування між собою мінтермів:
M(0;2) 00-0
M(0;4) 0-00
M(0;8) -000
M(8;9) 100-
M(13;15) 11-1
M(7;15) -111
M(9;13) 1-01
M(8;10) 10-0
3) Таблиця покриття:
0000
0010
0100
0111
1000
1001
1010
1101
1111
00-0
V
0-00
V
V
-000
V
100-
V
V
11-1
V
V
-010
V
V
-111
V
V
1-01
V
V
10-0
V
V
ДНФ = Ядро + 100- + -010 + 1-01
F = -X3-X1X0 v X2X1X0 v X3-X2-X1 v -X2X1-X0 V X3-X1X0
Отримання мінімальної форми представлення булевої функції за допомогою карт Карно
X2
-X2
X3
1
1
1
-X1
1
1
X1
-X3
1
1
1
1
-X1
-X0
X0
-X0
F = -X2X0 v X3-X1X0 v X2X1X0 v -X3-X1-X0
Зображення схеми булевої функції та її компілювання в САПР Quartus
/
/
/
Висновок
Була зроблена лабораторна робота та звіт до неї, що містить в собі всі необхідні компоненти. Такі, як: титульний лист, мета робота, теорію.Також була зроблена таблиця булевої функції за варіантом (4) та отримання мінімальних форм булевої функції за допомогю таких методів, як: Квайна-Мак-Класкі та карт Карно. Також була зроблена комбінаційна схема у САПР Quartus i була успішно скомпільована та перевірена за допомогою functional simulation. На кінець був написан розгорнутий висновок