КАТЕГОРИИ: Архитектура-(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; Просмотров: 561; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |