Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
lab1_theory.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
2 Мб
Скачать
☆
    1. Шифратори

Шифратор представляє собою КС з 2N входів і N-бітним виходом. На виході шифратора встановлюється номер входу на який подано активний рівень сигналу. Наприклад, якщо у входів шифратора активний високий рівень, на виході такого шифратора буде номер того з входів, на який подано логічну одиницю. Якщо на жодному з входів немає активного рівня, на виході зазвичай присутнє число 0. Отже принцип роботи шифратора обернений до принципу роботи двійкового дешифратора. Описаний шифратор називають повним. Якщо кількість входів шифратора з N-бітним виходом менша ніж 2N, такий шифратор називають не повним.

Графічне позначення шифратора з активним високим рівнем на вході:

Найпростішим типом шифратора є непріоритетний шифратор. В такому шифраторі в кожен момент часу активний рівень може бути не більше ніж на одному з входів. Якщо у непріоритетного шифратора буде присутній активний рівень більше ніж на одному з входів, на виході такої схеми будуть присутні двійкові числа, що не несуть жодного змісту. Тому такий режим роботи непріоритетного шифратора є забороненим. Отже в кожен момент часу може бути активним лише один з входів непріоритетного шифратора!

Запишемо таблицю істинності непріоритетного шифратора:

Входи

Виходи

X0

X1

X2

X3

X4

X5

X6

X7

Y2

Y1

Y0

1

0

0

0

0

0

0

0

0

0

0

0

1

0

0

0

0

0

0

0

0

1

0

0

1

0

0

0

0

0

0

1

0

0

0

0

1

0

0

0

0

0

1

1

0

0

0

0

1

0

0

0

1

0

0

0

0

0

0

0

1

0

0

1

0

1

0

0

0

0

0

0

1

0

1

1

0

0

0

0

0

0

0

0

1

1

1

1

Очевидно, що це не повна таблиця істинності, оскільки для повної таблиці істинності КС з 8-ма однобітними входами, кількість можливих комбінацій сигналів на цих входах і кількість записів в таблиці істинності буде дорівнювати 28=256. Але в даному випадку, для непріоритетного шифратора маємо можливість записати таку скорочену таблицю істинності, оскільки ми прийняли припущення, що логічна одиниця може бути присутня не більше ніж на одному вході.

Оскільки таблиця істинності не повна, виходи схеми будуть описуватися не класичними ДДНФ і СКНФ, а їх спрощеними варіантами. Кожен з виходів непріоритетного шифратора буде переходити в одиницю лише у випадку присутності одиниці на відповідному вході (за таблицею істинності). Наприклад, вихід Y2 перейде в одиницю лише тоді, коли X4=1, або X5=1, або X6=1, або X7=1. Використовуючи такий принцип, неважко записати логічні рівняння для вcіх трьох виходів КС, що розглядається:

Y2 = X4 + X5 + X6 + X7; Y1 = X2 + X3 + X6 + X7; Y0 = X1 + X3 + X5 + X7;

Схема, що реалізує такі логічні рівняння:

Як видно з таблиці істинності, логічних рівнянь і схеми, вхід X0 не зв’язаний з жодним виходом. Якщо X0 = 1, тоді Y2 = Y1 = Y0 = 0. Якщо X0 = 0 і на інших входах шифратора теж нулі, на виході також Y2 = Y1 = Y0 = 0. Отже при будь якому значенні на вході X0 і нулях на інших входах, на виходах буде нуль. Тому X0 і не зв’язаний з жодним з виходів, оскільки цей вхід на виходи не впливає. В такому випадку постає питання, як розрізнити ситуації присутності активного рівня вході X0 і відсутності активного рівня на будь-якому з входів (в обох випадках на виході буде нуль). Якщо існує необхідність розрізняти ці дві ситуації, додають ще один вихід шифратора. Назвемо його AI (Active Input), який приймає активний рівень, якщо на будь-якому з входів є активний рівень. Наприклад, якщо в нашого шифратора високий активний рівень входів і високий активний рівень на виході AI, в такому випадку на виході AI буде одиниця, якщо одиниця є на будь якому з входів. Якщо на всіх входах нулі, на виході AI буде нуль. Для досягнення такого функціоналу достатньо підключити всі входи шифратора до вентиля АБО, а вихід цього вентиля подати на AI.

Пріоритетний шифратор використовують, коли існує можливість появи активних рівнів одночасно на кількох входах. В такому випадку на виході шифратора буде номер активного входу з найбільшим індексом для шифратора з пріоритетом по старшому входу і номер активного входу з найменшим індексом для шифратора з пріоритетом по молодшому входу. Наприклад, якщо шифратор має 8 входів, є пріоритетним по старшому входу і активний рівень присутній на входах X2, X3 і X5, на виході буде число 5. Якщо ж цей шифратор буде пріоритетний по молодшому входу, на виході буде число 2. Пріоритетний шифратор можна створити на базі непріоритетного, якщо підключити до входів непріоритетного шифратора КС, яка обере серед кількох активних входів лише один відповідно до пріоритету шифратора. Така КС називається арбітром.

Розглянемо створення арбітру для пріоритетного шифратора, що має 8 входів F0-F7 з активним високим рівнем і пріоритетом по старшому входу F7, і виходи X0-X7. Для створення пріоритетного шифратора необхідно підключити виходи арбітра до входів непріоритетного шифратора, а входи арбітра будуть входами пріоритетного шифратора.

Запишемо логічні рівняння арбітра:

;

;

;

;

;

…

;

З наведених рівнянь очевидно, що у випадку присутності одиниць на кількох входах F, одиниця старшому з цих входів (назвемо його Fi) приводить до появи одиниці на виході Xi та нулів на всіх виходах, молодших за Xi. Наприклад, якщо F5=1 і F7=F6=0, тоді X5=1 і X4=X3=…=X0=0 не залежно від одиниць на входах F4-F0.

Застосування шифраторів.

Загалом шифратори використовуються значно рідше ніж дешифратори. Шифртаори зручно використовувати наприклад для створення клавіатур:

В наведеній схемі на виході шифратора буде присутній номер натиснутої клавіші. Це звичайно найпростіша схема, яка вимагає застосування пріоритетного шифратора, або обмеження не натискати кілька кнопок одночасно.

Більш складна схема клавіатури на дискретних компонентах, до якої ви можете повернутися пізніше, після вивчення невідомих компонентів:

Звичайно, у епоху широкого розповсюдження недорогих мікроконтролерів, актуальність таких схем є доволі низькою. Тому варто сприймати наведену вище схему просто як ілюстрацію області застосування шифраторів.

В процесорі, який розробляється в курсі лабораторних робіт також використовується неповний шифратор, що має 23 входи і 5-бітний вихід.

На рисунку нижче показано застосування дешифратора ram_io_dec, шифратора ram_io_enc та мультиплексора mips_soc_lpm_mux0 для реалізації простору вводу-виводу процесора MIPS. Шифратор в даному випадку використовується для того, щоб отримати адресу периферійного пристрою (RAM, вхідний і вихідний порти даних), вихід якого необхідно підключити до входу шини даних i_data_mem_read[31..0]. Для кращого сприйняття рисунка, рекомендується збільшити масштаб документу Word до 200%. Якщо принцип роботи цієї схеми на даному етапі не зрозумілий рекомендується звернутися із запитанням до викладача на лабораторній роботі, або повернутися до цієї схеми пізніше, коли ви ознайомитесь з принципами роботи мультиплексорів і регістрів.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]