Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

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

 

Нижче наведено текстовий файл mux_4_1_t, який реалізовує мультиплексор з використанням внутрішнього дешифратора. Результат моделювання даного дешифратора наведено на рис. 8.

 

SUBDESIGN mux_4_1_t

(

A[1..0], I[3..0]: INPUT;

D: OUTPUT;

)

VARIABLE

F[3..0]:NODE;

BEGIN

TABLE

A[]=>F[];

B"00"=>B"0001";

B"01"=>B"0010";

B"10"=>B"0100";

B"11"=>B"1000";

END TABLE;

D=F0&I0#F1&I1#F2&I2#F3&I3;

END;

 

Рис. 8

Нижче наведений текстовий файл mux_4_1_tm, який реалізовує мультиплексор з використанням адресних мінтермів. Результат моделювання даного мультиплексора наведено на рис. 9.

 

SUBDESIGN mux_4_1_tm

(

A[1..0], I[3..0]: INPUT;

D: OUTPUT;

)

BEGIN

D=!A1&!A0&I0#!A1&A0&I1#A1&!A0&I2#A1&A0&I3;

END;

 

Рис. 9

Текстовий файл mux_8_1_tm реалізовує мультиплексор у шинному виконанні. Реалізація даного мультиплексора з використанням символу та результат його моделювання наведено на рис. 10.

 

SUBDESIGN mux_8_1_tm

(

A[2..0], I[7..0]: INPUT;

D: OUTPUT;

)

BEGIN

D=!A2&!A1&!A0&I0#!A2&!A1&A0&I1#!A2&A1&!A0&I2#!A2&A1&A0&I3#

A2&!A1&!A0&I4#A2&!A1&A0&I5#A2&A1&!A0&I6#A2&A1&A0&I7;

END;

 

Рис. 10

 

Текстовий файл mux_8_1 реалізовує мультиплексор у провідниковому виконанні. Реалізація даного мультиплексора з використанням символу та результат його моделювання наведено на рис. 11.

 

SUBDESIGN mux_8_1

(

A2,A1,A0, I7,I6,I5,I4,I3,I2,I1,I0: INPUT;

D: OUTPUT;

)

BEGIN

D=!A2&!A1&!A0&I0#!A2&!A1&A0&I1#!A2&A1&!A0&I2#!A2&A1&A0&I3#

A2&!A1&!A0&I4#A2&!A1&A0&I5#A2&A1&!A0&I6#A2&A1&A0&I7;

END;

Рис. 11

 

Текстовий файл mux_8_1_en реалізовує мультиплексор з входом дозволу роботи En. Результат моделювання даного мультиплексора наведено на рис. 12.

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

Якщо , то сигнал на виході мультиплексора адресним кодом Adr[] і рівнем сигналу на відповідному інформаційному вході.

 

SUBDESIGN mux_8_1_en

(

Inf[7..0], Adr[2..0], En: INPUT;

D: OUTPUT;

)

BEGIN

IF En THEN

CASE Adr[] IS

WHEN 0 => D=Inf[0];

WHEN 1 => D=Inf[1];

WHEN 2 => D=Inf[2];

WHEN 3 => D=Inf[3];

WHEN 4 => D=Inf[4];

WHEN 5 => D=Inf[5];

WHEN 6 => D=Inf[6];

WHEN 7 => D=Inf[7];

END CASE;

END IF;

END;

 

Рис. 12

 

Нижче наведений файл є прикладом параметризованого опису шинного мультиплексора з одноадресним входом, до інформаційних входів якого підключені дві N-розрядні шини Ain[N..1] і Bin[N..1]. Результат моделювання даного мультиплексора наведено на рис. 13.

 

PARAMETERS (N=8);

 

ASSERT (N!= 1)

REPORT "Value of parameter N = %" N

SEVERITY INFO;

 

ASSERT (N > 0)

REPORT "Value of parameter N must be greate then %" N

SEVERITY ERROR;

 

SUBDESIGN mux_par_bus

(

Ain[N..1], Bin[N..1], Adr: INPUT;

D[N..1]: OUTPUT;

)

BEGIN

IF Adr

THEN D[]=Ain[];

ELSE D[]=Bin[];

END IF;

END;

 

Рис. 13

 

Оператор ASSERT використовується для перевірки параметра N. Так, якщо, наприклад, за допомогою команди Global Project Parameters з меню Assing параметру N присвоїти значення одиниці, то при компіляції модуля буде сформоване наступне повідомлення (рис. 14). “Рівень строгості” даного повідомлення INFO.

Рис. 14

Якщо ж параметру N присвоїти нульове значення, то при компіляції модуля буде сформоване повідомлення, показане на (рис. 15). “Рівень строгості” даного повідомлення ERROR.

 

Рис. 15

 


<== предыдущая лекция | следующая лекция ==>
Мультиплексор з чотирма входами даних | Демультиплексори
Поделиться с друзьями:


Дата добавления: 2014-01-11; Просмотров: 534; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.012 сек.