МІНІСТЕРСТВО ОСВІТИ І НАУКИ
НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ "ЛЬВІВСЬКА ПОЛІТЕХНІКА"
ВИВЧЕННЯ ПРИНЦИПІВ РОБОТИ
ЦИФРОВИХ КОМБІНАЦІЙНИХ ПРИСТРОЇВ
МЕТОДИЧНІ ВКАЗІВКИ
до лабораторної роботи № 4
з курсу «Схемотехніка пристроїв технічного захисту інформації»
для студентів базового напряму 6.170102 «Системи технічного захисту інформації»
Затверджено
на засіданні кафедри
«Захист інформації»
Протокол № 12 від 07.05.2015р.
Львів – 2015
Мета роботи: - вивчення принципів роботи мультиплексорів та дешифраторів, методів синтезу комбінаційних логічних схем на дешифраторах та мультиплексорах..
1. ОСНОВНІ ВІДОМОСТІ
1.1. Реалізація комбінаційних схем на дешифраторах і мультиплексорах
Таблиця 1
№ набору
0
0
0
0
0
0
1
0
0
0
1
0
2
0
0
1
0
0
3
0
0
1
1
1
4
0
1
0
0
0
5
0
1
0
1
1
6
0
1
1
0
1
7
0
1
1
1
*
8
1
0
0
0
0
9
1
0
0
1
1
10
1
0
1
0
1
11
1
0
1
1
*
12
1
1
0
0
1
13
1
1
0
1
*
14
1
1
1
0
*
15
1
1
1
1
0
Дешифратор – цифровий комбінаційний пристрій, який перетворює позиційний двійковий код в унітарний двійковий код. Дешифратор, в якого n входів, має виходів. Якщо виходи пронумеровані починаючи з нуля, одиниця подається на вихід дешифратора з таким номером, двійковий код якого подано на входи дешифратора. При цьому на всіх інших виходах дешифратора – нулі. Таким чином, повний дешифратор на n входів реалізує всі 2n конституенти одиниць (мінтерми). Отже, для реалізації логічної функції від n змінних достатньо за допомогою логічного елемента АБО отримати на виході дешифратора диз’юнкцію тих мінтермів, які входять в ДДНФ даної логічної функції (іншими словами згадані мінтерми відповідають наборам, на яких задана логічна функція приймає одиничне значення). Якщо дешифратор має інверсні виходи, то у відповідності до правила де Моргана замість елемента АБО використовують елемент І-НЕ. Приклади реалізації на дешифраторах логічної функції, заданої Таблицею 1, наведено на Рис.1 (всі невизначені стани довизначено як нульові).
Якщо в ДДНФ заданої логічної функції з диз’юнкції мінтермів можна винести за дужки змінну, то можна використати дешифратор з меншою кількістю входів, якщо він має стробуючий вхід. Наприклад, функцію:
можна подати у вигляді:
і реалізувати так, як це показано на Рис.2.
Дешифратор зручно використовувати також при реалізації систем логічних функцій. Для реалізації системи логічних функцій необхідно один дешифратор (з відповідною до кількості вхідних змінних кількістю входів) і стільки логічних елементів, скільки функцій в системі.
Мультиплексор – це цифровий комбінаційний пристрій, який має один вихід, на який комутується один з багатьох входів. Який саме – вказує адреса входу. Адреса подається двійковим кодом. Таким чином мультиплексор має k адресних входів і інформаційних входів. Як правило мультиплексор застосовують як цифровий комутатор. Разом з тим, мультиплексор з k адресними входами і інформаційними входами, дозволяє реалізувати логічну функцію від n змінних, розкладену за k змінними у відповідності з формулою Шеннона. Згадані k змінні називають вилученими. Розклад за k змінними означає вираження заданої логічної функції через залишкові функції, які відрізняються від заданої тим, що залежать не від n змінних, а від (n - k) змінних. Наприклад, логічна функція чотирьох змінних може бути розкладена за змінними , так:
,
тобто , (1)де - залишкові функції, які залежать вже не від чотирьох, а тільки від двох змінних (а саме від ). Відповідно до (1), для визначення, наприклад, залишкової функції , необхідно у вираз для функції підставити значення змінних (див. (1)). Функцію (1) можна реалізувати на мультиплексорі з N=4 наступним чином. На два адресні входи мультиплексора подають вилучені змінні: та . На чотири інформаційні входи мультиплексора подають залишкові функції . Причому кожна з цих функцій має бути подана на інформаційний вхід з відповідною адресою. Ця адреса (номер інформаційного входу) має відповідати двійковому числу, отриманому з тих значень вилучених змінних, які відповідно до (1) підставлялися в для отримання даної залишкової функції. При цьому очевидно враховуються також ваги адресних розрядів, на які подаються вилучені змінні. Наприклад, якщо вилучену відповідно до (1) змінну подати на адресний вхід мультиплексора з вагою 2, а вилучену змінну - на адресний вхід з вагою 1, то залишкову функцію необхідно подати на інформаційний вхід з десятковим номером 0 ( - див. (1)). Аналогічно залишкову функцію необхідно подати на інформаційний вхід з десятковим номером 1 ( - див. (1)). Залишкову функцію необхідно подати на інформаційний вхід з десятковим номером 2 ( - див. (1)). І нарешті залишкову функцію необхідно подати на інформаційний вхід з десятковим номером 3 ( - див. (1)).
Залишкові функції можна мінімізувати і реалізувати на логічних елементах; або реалізувати на дешифраторах; або в свою чергу вилучити з них ще якісь змінні і реалізувати на мультиплексорі. Розглянемо на прикладі перший з цих варіантів.
Приклад 1: Нехай потрібно реалізувати логічну функцію чотирьох змінних, задану Таблицею 1, на мультиплексорі з N=4. Причому залишкові функції необхідно мінімізувати і реалізувати за допомогою логічних елементів.
Кількість адресних входів мультиплексора: . Отже ми можемо вилучити з заданої функції дві змінні. Різних варіантів такого вилучення є шість: . Необхідно розглянути всі варіанти вилучення і вибрати той з них, який дозволяє отримати найпростішу схему.
1
1
*
1
1
*
*
1
*
1
Рис.3
Для отримання МДНФ залишкових функцій використовуємо карту Карно, побудовану для функції, заданої Таблицею 1 і наведену на Рис.3. Причому в кожному випадку (для кожної пари змінних, що вилучаються) ця карта Карно у відповідності з (1) розпадається на чотири чверті (на чотири незалежні карти Карно), які використовуються для мінімізації чотирьох залишкових функцій. Наприклад, при вилученні пари , : з карти на Рис.3 виділяємо чверть, в яку вказані змінні входять в прямому вигляді () - саме ця чверть буде окремою картою Карно для мінімізації залишкової функції y3 (у відповідності з розкладом (1)). В інші чверті змінні , будуть входити у вигляді , , . Ці чверті будуть використовуватися для мінімізації залишкових функцій, відповідно, y2, y1, y0. Карти Карно для всіх шести варіантів вилучення двох змінних з функції, заданої Таблицею 1, подано на Рис.4. Для кожної карти вказано змінні, які вилучаються. Чверті, на які розбивається карта, виділено подвійною лінією.
Аналізуючи наведені карти Карно, приходимо до висновку, що всі варіанти вилучення двох змінних з заданої логічної функції є рівноприйнятні з точки зору складності комбінаційної схеми. Дійсно, на кожній з карт Карно (Рис.4) в одній чверті є одна одиниця, в одній - дві одиниці, охоплені контуром склеювання (склеювання, тобто мінімізація, здійснюється в межах кожної чверті окремо - як для окремої карти Карно), і в двох чвертях - три одиниці, охоплені контурами склеювання по дві одиниці в кожному). Тому для реалізації схеми ми можемо вибрати будь-який варіант вилучення змінних. Сказане можна підтвердити, записавши аналітичні вирази мінімізованих залишкових логічних функцій для всіх варіантів вилучення змінних (2). При мінімізації необхідно пам’ятати, що залишкові функції не залежать від вилучених змінних.
1
1
*
1
1
*
*
1
*
1
1
1
*
1
1
*
*
1
*
1
1
1
*
1
1
*
*
1
*
1
1
1
*
1
1
*
*
1
*
1
1
1
*
1
1
*
*
1
*
1
1
1
*
1
1
*
*
1
*
1
Рис.4
(2) Cистеми логічних рівнянь (2) доводять, що в нашому прикладі всі варіанти вилучення двох змінних дають залишкові функції однакової складності. Тому комбінаційну схему (в нашому прикладі) можна будувати на основі будь - якої з систем логічних рівнянь (2). Вилучаємо для прикладу змінні і будуємо комбінаційну схему (Рис.5) на базі мультиплексора з 4-ма інформаційними входами. При цьому комбінаційні схеми, що формують залишкові функції, будуємо на логічних елементах (наприклад І, АБО). Сформовану залишкову функцію підключаємо до того інформаційного входу мультиплексора, номер якого відповідає номеру залишкової функції. Вилучені логічні змінні подаємо на адресні входи мультиплексора таким чином, щоб двійковий код адреси завжди відповідав (згідно 1) індексу залишкової функції, яка за даною адресою підключається на вихід мультиплексора !!! Дану відповідність можна забезпечити так, як було описано перед розглядом Прикладу 1. В нашому прикладі вилучену змінну подаємо на адресний вхід з вагою 1, а вилучену змінну - на адресний вхід з вагою 2.
2. ЗАВДАННЯ
2.1. Теоретична частина (виконується при підготовці до лабораторного заняття)
Ознайомитися з основними відомостями.
Визначити свій варіант логічної функції.
Для цього необхідно номер варіанта (задає викладач) перевести в двійкову систему числення і підставити шість розрядів отриманого таким чином двійкового числа в Таблицю 2 (1 - молодший розряд). Наприклад, якщо задано номер варіанта 10, то в двійковій системі числення цей номер можна подати шестирозрядним числом 001010. Тобто в Таблицю 2 підставляємо значення: (молодший розряд), , , , , .
Побудувати схеми для реалізації функції, заданої Таблицею 2, на дешифраторі і на мультиплексорі з двома адресними входами. При побудові схеми на мультиплексорі розглянути всі можливі варіанти попарного вилучення вхідних логічних змінних і вибрати той варіант, який дає комбінаційну схему меншої складності.
2.2. Експериментальна частина
Одну з синтезованих схем, вказану викладачем, побудувати в схемному редакторі САПР Foundation Series. Назву і зображення дешифратора та мультиплексора подано на Рис.6.
Проконтролювати правильність функціонування схеми за допомогою моделювальника САПР, визначивши значення вихідних сигналів для всіх наборів значень вхідних змінних (набори значень вхідних змінних при моделюванні рекомендується задавати шляхом підключення виводів віртуального лічильника).
Замалювати часові діаграми роботи схеми.
Зміст звіту
Назва і мета роботи.
Всі матеріали, що стосуються синтезу комбінаційних схем у відповідності з теоретичною частиною завдання.
Часові діаграми роботи схеми, що досліджувалася в лабораторії.
Короткі висновки за результатами роботи.
Література:
Самофалов К.Г., Корнейчук В.И., Тарасенко В.П. Цифровые ЭВМ. Теория и проектирование. - К.: Вища шк., 1989.
Б.Є.Рицар. Цифрова техніка. - К.: НМК ВО, 1991.
Таблиця 2
№ набору
0
0
0
0
0
0
1
0
0
0
1
2
0
0
1
0
0
3
0
0
1
1
1
4
0
1
0
0
5
0
1
0
1
1
6
0
1
1
0
0
7
0
1
1
1
8
1
0
0
0
0
9
1
0
0
1
10
1
0
1
0
1
11
1
0
1
1
1
12
1
1
0
0
13
1
1
0
1
1
14
1
1
1
0
15
1
1
1
1
0
Рис 6