Синтез перемикальних функцій

Інформація про навчальний заклад

ВУЗ:
Національний технічний університет України Київський політехнічний інститут
Інститут:
О
Факультет:
Не вказано
Кафедра:
Не вказано

Інформація про роботу

Рік:
2021
Тип роботи:
Звіт до лабораторної роботи
Предмет:
Комп ютерна схемотехніка та архітектура комп ютерів

Частина тексту файла (без зображень, графіків і формул):

Національний технічний університет України «Київський політехнічний інститут імені Ігоря Сікорського» Кафедра АПЕПС Комп’ютерна схемотехніка та архітектура комп’ютерів ЗВІТ ДО ЛАБОРАТОРНОЇ РОБОТИ № 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 |-----------------------| m(5,6,7) 01--* m6 0110 | m(5,7) 01-1 | m10 1010 | m(6,7) 011- | m12 1100 | | ------------------------------|-----------------------| 3 m7 0111 | m(7,15) -111* | ------------------------------|-----------------------| 4 m15 1111 | | Таблиця імплікант 1000 0101 0110 1010 1100 0111 1111  10-0 ∨   ∨     1-00 ∨    ∨    01-1      ∨   011-   ∨   ∨   -111      ∨ ∨   За допомогою знайдених імплікант отримаємо мінімізовану функцію. Де кожна група є імплікантою. x3x2x0 = 10-0 x3x2x0 ∨ x3x1x0 ∨ x3x2x0 ∨ x3x2x1 ∨ x3x1x0 Карти Карно Побудуємо та заповнимо отаку карту 00 01 10 11  00      01  1 1 1  10 1  1   11 1   1   Об’єднаємо сусідні клітинки у пари. (Кожна пара окремим кольором) 00 01 10 11  00      01  1 1 1  10 1  1   11 1   1   Отримуємо ідентичну мінімізовану функцію Схема реалізації булевої функції По-перше, за завданням варіанта нам треба перевести функцію у базис АБО-НЕ Далі ми вже можемо будувати нашу схему у Quartus Побудувавши перевіряємо схему різними способами компіляції Analysis and Elaboration Analysis and Synthesis Fitter TimeQuest Slow 85C Моделювання Functional Simulation Timing Simulation Counter має затримку 30 наносекунд, а обраний ПЛІС має затримку 9L Висновок: Отримав практичні навички роботи із булевою функцією. Вивчив нові відомості про їх мінімізування та моделювання. Зміг її правильно мінімізувати двома способами та перевести у інший базис. А у цьому базисі вже побудував схема у Quartus. Отриману схему прокомпілював. Змоделював за допомогою університетського інструменту візуалізації симуляції Vector Waveform. Отримана симуляція відповідає очікуваним результатам. При наборах 5-8, 10, 12 та 15 в output пін приходить одиниця. Це й є те що я очікував та я отримав потрібний результат, не звертаючи уваги на спочатку труднощі при проектуванні схеми
Антиботан аватар за замовчуванням

22.05.2023 12:05-

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Ділись своїми роботами та отримуй миттєві бонуси!

Маєш корисні навчальні матеріали, які припадають пилом на твоєму комп'ютері? Розрахункові, лабораторні, практичні чи контрольні роботи — завантажуй їх прямо зараз і одразу отримуй бали на свій рахунок! Заархівуй всі файли в один .zip (до 100 МБ) або завантажуй кожен файл окремо. Внесок у спільноту – це легкий спосіб допомогти іншим та отримати додаткові можливості на сайті. Твої старі роботи можуть приносити тобі нові нагороди!
Нічого не вибрано
0%

Оголошення від адміністратора

Антиботан аватар за замовчуванням

Подякувати Студентському архіву довільною сумою

Admin

26.02.2023 12:38

Дякуємо, що користуєтесь нашим архівом!