Смекни!
smekni.com

Розробка цифрових засобів ПЛІС в інтегрованому середовищі проектування MAX+PLUS II (стр. 11 из 14)

Поведінку дешифратора описують таблицею дійсності, аналогічно до таблиці дійсності шифратора (дивись систему 3), але в цій таблиці вхідні і вихідні сигнали помінялися місцями. У відповідності до даної таблиці, так як вихідний сигнал дорівнює 1 тільки на одному, єдиному, наборі вхідних змінних, тобто для одної конституєнти одиниці, алгоритм роботи дешифратора описується системою рівнянь виду:

х0 =

;

х1 =

; (4)

х2 =

;

і так далі, де Qi – значення логічної змінної на і-ому вході пристрою.

В загальному випадку система (4) має вид:

хі = (Q3Q2Q1Q0)і, (5)

де, xi – сигнал на і-ому виході шифратора; (Q3Q2Q1Q0)і – конституанта одиниці, що відповідає двійковому коду і-ої десяткової цифри.

Неважко помітити, що функція алгебраїчної логіки дешифратора (4) відрізняється від функції алгебраїчної логіки демультиплексора (2) лише наявністю в останній додаткового множника, що відповідає значенню сигналу на інформаційному вході D. Тому при D = 1 демультиплексор функціонує як дешифратор. Обернене перетворення дешифратора в демультиплексор вимагає введення двох допоміжних логічних елементів І, що виконують операцію логічного множення між загальним сигналом інформаційного входу D і відповідним логічним результатом множення адресних сигналів (Q3Q2Q1Q0).

Використовуючи дешифратор, можливо побудувати і схему мультиплексора. Для цього схему з рис. 7.4.5,а необхідно доповнити чотирма вихідними логічними елементами АБО (рис. 7.4.5,б).

а) б)

Рис. 7.4.5. Реалізація демультиплексора (а) і мультиплексора (б) з використанням дешифратора


При розробці інтегральних схем використовують декілька логічних структур дешифратора. Їх головна відмінність полягає в швидкодії і кількості використаних елементарних логічних елементів.

Найбільш швидкодійним і в той же час найбільш складним є дешифратор, що прямо реалізує систему функцій алгебри логіки (4). Такий дешифратор називається одноступінчастим або паралельним. Його структурна схема аналогічна до схеми демультиплексора (дивись рис. 7.4.2) за умови D = 1.

Вважаючи, що для реалізації обробки одного вхідного логічного сигналу необхідна деяка умовна одиниця апаратних засобів, число одиниць цих апаратних засобів для n-розрядного дешифратора визначається виразом:

N1 = n2n.

На рис. 7.4.6 наведено умовне графічне зображення дешифратора. Воно відповідає інтегральній схемі двійково-десяткового дешифратора типа 564ИД1.

Якщо при проектуванні основною вимогою є простота системного рішення, використовують інші структурні схеми дешифраторів. Однак, спрощення структури досягається за рахунок падіння швидкодії.

Рис. 7.4.6. Умовне графічне позначення дешифратора

Мікросхеми дешифраторів часто мають входом дозволу роботи E (вхід стробування). Наявність цього входу дозволяє на основі готових інтегральних схем при необхідності збільшення розрядності вхідного коду створювати структури дешифраторного дерева.

7.4.5 Програми реалізації мультиплексорів, демультиплексорів, шифраторів, дешифраторів в інтегрованому середовищі MAX+PLUS II

Програма для реалізації шифратора 10 на 4 (опис таблицею дійсності шифратора) за допомогою мови AHDL в інтегрованому середовищі MAX+PLUS II має наступний вигляд:

Subdesign shifrator1

(

XIP[9..0] : input; - вхідні сигнали

QOP[3..0] : output; - вихідні сигнали

)

Begin

Table

XIP[] => QOP[];

b"0000000001" => b"0000";

b"0000000010" => b"0001";

b"0000000100" => b"0010";

b"0000001000" => b"0011";

b"0000010000" => b"0100";

b"0000100000" => b"0101";

b"0001000000" => b"0110";

b"0010000000" => b"0111";

b"0100000000" => b"1000";

b"1000000000" => b"1001";

End table;

End;

Програма для реалізації шифратора 10 на 4 (опис на поведінковому рівні шифратора) за допомогою мови AHDL в інтегрованому середовищі MAX+PLUS II має наступний вигляд:

Subdesign shifrator2

(

XIP[9..0] : input; - вхідні сигнали

QOP[3..0] : output; - вихідні сигнали

)

Begin

QOP[3]= XIP[8] + XIP[9];

QOP[2]= XIP[4] + XIP[5] + XIP[6] + XIP[7];

QOP[1]= XIP[2] + XIP[3] + XIP[6] + XIP[7];

QOP[0]= XIP[1] + XIP[3] + XIP[5]+ XIP[7] + XIP[9];

End;

Програма для реалізації 3-розрядного дешифратора з інверсними виходами за допомогою мови AHDL в інтегрованому середовищі MAX+PLUS II має наступний вигляд:

subdesign decipherer1

(

XIP[3..1] : input; - вхідні сигнали

QOP[7..0] : output; - вихідні сигнали

)

begin

case XIP[] is

when 0 => QOP = b"11111110";

when 1 => QOP = b"11111101";

when 2 => QOP = b"11111011";

when 3 => QOP = b"11110111";

when 4 => QOP = b"11101111";

when 5 => QOP = b"11011111";

when 6 => QOP = b"10111111";

when 7 => QOP = b"01111111";

end case;

end;

Програма для реалізації мультиплексора з 2 адресними входами, 4 інформаційними і входом дозволу роботи (опис емульованою таблицею дійсності мультиплексора) за допомогою мови AHDL в інтегрованому середовищі MAX+PLUS II має наступний вигляд:

subdesign multiplexer1

(

INFIN[4..1] : input; - інформаційні входи

ADRIN[2..1] : input; - адресні входи

ENA : input; - вхід дозволу роботи (вхід стробування)

Q : output; - вихід мультиплексора

)

begin

if ENA == 0 then - емуляція таблиці дійсності

case ADRIN[2..1] is

when 0 => Q = INFIN[1];

when 1 => Q = INFIN[2];

when 2 => Q = INFIN[3];

when 3 => Q = INFIN[4];

end case;

end if;

end;

- Примітка: компілятор AHDL не дозволяє присутності в

- таблиці дійсності змінних (параметрів), навіть якщо

- змінним (параметрам) раніше вже присвоєне фіксоване

- значення. Тому за логікою таблиці дійсності, на основі

- оператору вибору CASE, формується послідовність перевірки

- значень вхідних сигналів системи.

Програма для реалізації мультиплексора з 2 адресними входами, 4 інформаційними і входом дозволу роботи (опис на поведінковому рівні мультиплексора) за допомогою мови AHDL в інтегрованому середовищі MAX+PLUS II має наступний вигляд:

subdesign multiplexer2

(

INFIN[4..1] : input; - інформаційні входи

ADRIN[2..1] : input; - адресні входи

ENA : input; - вхід дозволу роботи (вхід стробування)

Q : output; - вихід мультиплексора

)

begin

Q = INFIN[1] & !ADRIN[2] & !ADRIN[1] & !ENA #

INFIN[2] & !ADRIN[2] & ADRIN[1] & !ENA #

INFIN[3] & ADRIN[2] & !ADRIN[1] & !ENA #

INFIN[4] & ADRIN[2] & ADRIN[1] & !ENA;

end;

- Примітка: Q - функція алгебри логіки, що описує роботу мультиплексора.

Програма для реалізації демультиплексора з 3 адресними входами, 1 інформаційним і входом дозволу роботи за допомогою мови AHDL в інтегрованому середовищі MAX+PLUS II має наступний вигляд:

subdesign demultiplexer1

(

ADRIN[3..1] : input; - адресний вхід

INFIN : input; - інформаційний вхід

ENA : input; - вхід дозволу роботи (вхід стробування)

Q[7..0] : output; - виходи демультиплексора

)

begin

if ENA == 0 then

case ADRIN[] is

when 0 => Q[0] = INFIN;

when 1 => Q[1] = INFIN;

when 2 => Q[2] = INFIN;

when 3 => Q[3] = INFIN;

when 4 => Q[4] = INFIN;

when 5 => Q[5] = INFIN;

when 6 => Q[6] = INFIN;

when 7 => Q[7] = INFIN;

end case;

end if;

end;

7.4.6 Результати програмної реалізації мультиплексорів, демультиплексорів, шифраторів, дешифраторів

На рис. 7.4.7 зображено вікно сигнального редактору проекту “shifrator1”.

Рис.7.4.7. Результати тестування шифратора 10 на 4

На рис. 7.4.8 зображено вікно сигнального редактору проекту “decipherer1”.


Рис. 7.4.8. Результати тестування повного 3-розрядного дешифратора з інверсними виходами

На рис. 7.4.9 зображено вікно сигнального редактору проекту “multiplexer2”.

Рис. 7.4.9. Результати тестування мультиплексора з 2 адресними входами, 4 інформаційними і входом дозволу роботи

На рис. 7.4.10 зображено вікно сигнального редактору проекту “demultiplexer1”.

Рис. 7.4.10. Результати тестування демультиплексора з 3 адресними входами,1 інформаційним і входом дозволу роботи

7.5 Теоретичні відомості про суматори, віднімані

7.5.1 Суматори

Крайній лівий розряд двійкового числа, такого, наприклад, як 101011, називають самим старшим розрядом (ССР), а крайній правий розряд – самим молодшим розрядом (СМР). Нагадаємо, що розряди представленого двійкового числа в порядку зростання старшинства мають ваги (зправа налiво) 1, 2, 4, 8, 16, 32.

Оскільки в двійкових числах присутні лише дві цифри (0 і 1), таблиця додавання досить проста. Вона приведена на рис. 7.5.1. Як і в випадку додавання десяткових чисел, три перших результати не викликають питань. Що стосується останньої задачі (1+1), то при складанні десяткових чисел в даному випадку відповіддю було б число 2. Таким чином, при двійковому додаванні 1+1=0 плюс перенос 1 в сусідній старший двійковий розряд.

Рис. 7.5.1. Таблиця двійкового додавання

Ще один приклад на складання двійкових чисел представлено на рис. 7.5.2,а.

Рис. 7.5.2. Двійкове додавання а) – приклад на двійкове додавання; б) - скорочена форма таблиці двійкового додавання


Рішення виглядає простим, доки ми не доходимо до розряду двійок, де треба знайти двійкову суму. В десятковій системі ця сума дорівнює 3, що відповідає числу 11. Цей випадок не відображений на рис. 7.5.1. Сума 1+1+1 може виникнути в будь-якому розряді, за винятком розряду одиниць. В нову (скорочену) таблицю на рис. 7.5.2,б включена ще одна можлива комбінація 1+1+1.