скачать рефераты
  RSS    

Меню

Быстрый поиск

скачать рефераты

скачать рефератыДипломная работа: Розробка цифрових засобів ПЛІС в інтегрованому середовищі проектування MAX+PLUS II

Рис. 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.

Ця таблиця справедлива для всіх розрядів двійкових чисел, за виключенням розряду одиниць.

У відповідній таблиці дійсності (табл. 7.5.1) надано всі можливі комбінації двійкових однорозрядних доданків А, В і сигналу переносу Сin.

Табл.7.5.1. Таблиця дійсності повного суматора

Входи

Виходи

Сin

В А S

С0

0 0 0 0 0
0 0 1 1 0
0 1 0 1 0
0 1 1 0 1
1 0 0 1 0
1 0 1 0 1
1 1 0 0 1
1 1 1 1 1
Перенос + В + А Сума Перенос

Повні суматори використовуються для складання всіх двійкових розрядів за виключенням одиниць. Вони повинні мати додатковий вхід переносу.

Повний суматор – 3-входова схема. Сигнали на його виходах S і С0 отримуються внаслідок складання трьох вхідних сигналів (на входах А, В і Сin).

На рис. 7.5.3 показана розгорнута логічна схема повного суматора. Вона основана на структурній схемі з двома напівсуматорами.


Рис.7. 5.3. Логічна схема повного суматора

На рис. 7.5.4. приведена інша схема повного суматора з використанням двох логічних елементів виключного АБО і трьох логічних елементів І-НЕ. Зазначимо, що схеми, приведені на рис. 7.5.3. і 7.5.4. відрізняються лише заміною логічних елементів І та АБО на логічні елементи І-НЕ.

Рис. 7.5.4. Логічна схема повного суматора з використанням виключного АБО та І-НЕ

Напівсуматори і суматори зазвичай використовують разом. Велика кількість схем, аналогічних до напівсуматорів і повних суматорів, є в складі мікропроцесорних арифметично-логічних приладів (АЛП). Мікропроцесорні АЛП можуть виконувати операції віднімання, при цьому використовуються ті ж самі напівсуматори і суматори.

Певним чином поєднуючи між собою напівсуматори та повні суматори отримують пристрої, що одночасно виконують додавання декількох двійкових розрядів. Пристрій, схема якого показана на рис. 7.5.5. викону операцію додавання двох 3-розрядних чисел. Числа-доданки А2А1А0 В2В1В0. Сигнали, що відповідають значенням розряду одиниць в доданках, поступають на вхід суматора розряду одиниць (напівсуматора). Вхідними сигналами для повного суматора розряду двійок є сигнал переноса з виходу напівсуматора (подається на вхід Сin) і значення А1 і В1 розряду двійок і доданків. Далі суматор четвірок склада А2 і В2 і сигнал переносу з суматора двійок. На двійковому виході пристрою (показано в правому нижньому куті рис. 7.5.5) встановлюється двійкова сума.

В результаті додавання двох 3-розрядних двійкових чисел можливо отримати 4-розрядне число, тому на індикаторі суми маємо додатковий розряд вісімок. Зверніть увагу, що даний розряд пов’язаний з виходом (С0) суматора четвірок.

Рис. 7.5.5. 3-розрядний паралельний суматор

Логіка роботи розглядуваного 3-розрядного суматора майже не відрізняється від послідовності операцій , що виконуються при додаванні вручну (додаванні однорозрядних чисел плюс перенос в наступний розряд). Однак електронний суматор виконує дані операції набагато швидше.

Ще раз зазначимо, що в багаторозрядних суматорах напівсуматори використовуються лише для додавання в розряді одиниць; у всіх iнших розрядах використовуються повні суматори. Описаний вище 3-розрядний суматор називається паралельним суматором.

В паралельному суматорі інформаційні біти всіх розрядів поступають на входи одночасно. Результат (сума) з’являється на виход практично миттєво. Паралельний суматор на рис. 7.5.5 відноситься до класу комбінаційних логічних схем. Для фіксації даних на входах і виходах суматорів зазвичай використовують різноманітні додаткові регістри.

7.5.2 Віднімачі

Далі буде показано, що суматори і віднімачі подібн один до одного, і, крім того напіввіднімачі та повні віднімачі використовуються аналогічно напівсуматорам та повним суматорам. Таблиця двійкового віднімання приведена нижче, в ній наведено правила віднімання двійкових чисел, що подан на рис. 7.5.6, у вигляді таблиці дійсності. Ми бачимо, що В віднімається з А (А В – вхідні сигнали), результат (різниця) появляється на виході D1. Якщо В більше за А (як в рядку 2 таблиці), потрібно позичити 1 в сусіднього старшого розряду. Сигнал позики вказано у стовпці В0.

Табл. 7.5.2. Таблиця двійкового віднімання

Входи Виходи
А В

Di

B0

0 0 0 0
0 1 1 1
1 0 1 0
1 1 0 0
A-B Різниця Позика

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

При відніманні багаторозрядних двійкових чисел треба приймати до уваги позику “одиниць” в більш старших розрядах.

Таблиця дійсності, що містить всі можливі комбінації, які виникають при відніманні двійкових чисел, приведена нижче.


Табл. 7.5.3. Таблиця дійсності повного віднімача

Входи

Виходи

A В

Bin

Di

B0

0 0 0 0 0
0 0 1 1 1
0 1 0 1 1
0 1 1 0 1
1 0 0 1 0
1 0 1 0 0
1 1 0 0 0
1 1 1 1 1

A – B – Bin

Різниця Позика

Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10


Новости

Быстрый поиск

Группа вКонтакте: новости

Пока нет

Новости в Twitter и Facebook

  скачать рефераты              скачать рефераты

Новости

скачать рефераты

© 2010.