48898 (588620), страница 12

Файл №588620 48898 (Розробка цифрових засобів ПЛІС в інтегрованому середовищі проектування MAX+PLUS II) 12 страница48898 (588620) страница 122016-07-29СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 12)

Візьмемо стоп-біт, що дорівнює 1, а кількість бітів даних - 8. Частота сигналу синхронізації може бути рівною 115200 біт за секунду або 9600 біт за секунду. Для забезпечення схеми з можливістю переключення частоти введемо до неї сигнал переключення (switch signal), який і переключатиме частоту сигналів синхронізації, що поступатиме на вхід тактування.

Всі елементи схеми доцільно описати окремо за допомогою мови AHDL в текстовому редакторі, а потім, використовуючи символьний редактор, перетворити елементи на символи і зібрати повністю всю схему вже у графічному редакторі.

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

Шифратор 20 на 10 має 20-розрядний вхід (Encipherer_1_input[20..1]) і 10-розрядний вихід (Encipherer_1_output[10..1]). Шифратор описаний з використанням таблиці дійсності виконує дві функції.

По-перше, в залежності від натиснутої на пульті клавіші він видає двійковий код, який знаходиться в діапазоні від 0000000011 до 0000101001. Дана двійкова послідовність вихідного коду завжди починається з 0, а закінчується 1, ці числа являють собою ніщо інше, як старт-біт і стоп-біт. Тобто шифратор на своєму виході дає вже готовий код, що може передаватись по лінії зв’язку.

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

WHEN OTHERS => Encipherer_1_output[] = b"1111111111";

дає вказівку шифратору видавати на виході двійковий код 1111111111 в будь-яких інших випадках, не передбачених таблицею дійсності шифратора - це захисна функція.

5-розрядний лічильник на D-тригерах має вхід (Counter_1_input), на який поступає сигнал синхронізації від зовнішнього генератора імпульсів, вхід очищення (Reset) і виконує функцію дільника частоти. Даний лічильник має два виходи (Counter_1_output[1] і Counter_1_output[1]), що відповідають вхідній частоті, поділеній на 2 і вхідній частоті, поділеній на 12.

Мультиплексор має 4 інформаційні (Multiplexer_1_input[4..1]), 2 адресні входи (Switch_signal[2..1]) і вхід дозволу роботи (Enable). Пристрій реалізовано за допомогою емульованої таблиці дійсності і його завданням є переключення виходу (Multiplexer_1__output) на один з інформаційних входів в залежності від стану адресних входів. Оскільки частота роботи системи може бути рівною 115200 біт за секунду або 9600 біт за секунду, то для керування переключенням досить і одного адресного входу, а другий адресний вхід (Switch_signal[2]), що у вікні графічного редактору відповідає імені SWITCH[2], заземлимо. З тієї ж самої причини заземлимо сигнали Multiplexer_1_input[4] і Multiplexer_1_input[3], що у вікні графічного редактору відповідають іменам MUX[4] і MUX[3]. Другий адресний вхід може бути потрібний, якщо в майбутньої, при модифікації схеми, кількість можливих варіацій частоти збільшиться до чотирьох.

4-розрядний лічильник на D-тригерах має вхід (CLK), на який передається обраний за допомогою мультиплексора сигнал синхронізації і вхід очищення (Reset). Цей лічильник керує завантаженням послідовного регістру шляхом призначення власному виходу (LOAD) значення 0 або 1: 0 – завантаження заборонено, 1 – завантаження дозволено.

10-розрядний паралельний регістр D-тригерах зберігає і зсуває з приходом кожного нового імпульсу синхронізації вихідний код, що сформований і переданий йому мультиплексором. Регістр має 10-розрядний вхід для завантаження “інформаційного” коду (Register_1_input[9..0]), вхід дозволу роботи (Enable), вхід предвстановлення (Set), вхід синхронізації (Clk), вхід керуванням завантаження (Load) і однорозрядний вихід (Register_1_output).

8.3 Програми структурних компонентів COM-порту мовою AHDL в САПР MAX+PLUS II

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

Subdesign encipherer_1

(

Encipherer_1_input[20..1] : input;

Encipherer_1_output[10..1] : output;

)

Begin

CASE Encipherer_1_input[] IS

WHEN b"00000000000000000001" => Encipherer_1_output[] = b"0000000011";

WHEN b"00000000000000000010" => Encipherer_1_output[] = b"0000000101";

WHEN b"00000000000000000100" => Encipherer_1_output[] = b"0000000111";

WHEN b"00000000000000001000" => Encipherer_1_output[] = b"0000001001";

WHEN b"00000000000000010000" => Encipherer_1_output[] = b"0000001011";

WHEN b"00000000000000100000" => Encipherer_1_output[] = b"0000001101";

WHEN b"00000000000001000000" => Encipherer_1_output[] = b"0000001111";

WHEN b"00000000000010000000" => Encipherer_1_output[] = b"0000010001";

WHEN b"00000000000100000000" => Encipherer_1_output[] = b"0000010011";

WHEN b"00000000001000000000" => Encipherer_1_output[] = b"0000010101";

WHEN b"00000000010000000000" => Encipherer_1_output[] = b"0000010111";

WHEN b"00000000100000000000" => Encipherer_1_output[] = b"0000011001";

WHEN b"00000001000000000000" => Encipherer_1_output[] = b"0000011011";

WHEN b"00000010000000000000" => Encipherer_1_output[] = b"0000011101";

WHEN b"00000100000000000000" => Encipherer_1_output[] = b"0000011111";

WHEN b"00001000000000000000" => Encipherer_1_output[] = b"0000100001";

WHEN b"00010000000000000000" => Encipherer_1_output[] = b"0000100011";

WHEN b"00100000000000000000" => Encipherer_1_output[] = b"0000100101";

WHEN b"01000000000000000000" => Encipherer_1_output[] = b"0000100111";

WHEN b"10000000000000000000" => Encipherer_1_output[] = b"0000101001";

WHEN OTHERS => Encipherer_1_output[] = b"1111111111";

End CASE;

End;

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

Subdesign multiplexer_1

(

Multiplexer_1_input[4..1] : input;

Switch_signal[2..1] : input;

Enable : input;

Multiplexer_1__output : output;

)

Begin

if Enable == 0 then

case Switch_signal[2..1] is

when 0 => Multiplexer_1__output = Multiplexer_1_input[1];

when 1 => Multiplexer_1__output = Multiplexer_1_input[2];

when 2 => Multiplexer_1__output = Multiplexer_1_input[3];

when 3 => Multiplexer_1__output = Multiplexer_1_input[4];

end case;

end if;

End;

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

Subdesign register_1

(

Register_1_input[9..0] : input;

Enable, Set, Clk , Load : input;

Register_1_output : output;

)

Variable

Triggers[9..0] : DFFE;

Begin

Triggers[9..0].clk = Clk;

Triggers[9..0].prn = Set;

Triggers[9..0].ena = Enable;

IF Load == 0

THEN

Triggers[].d = (Triggers[8..0].q, VCC);

ELSE

Triggers[].d = Register_1_input[];

END IF;

Register_1_output = Triggers[9].q;

End;

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

Subdesign counter_2

(

CLK : input;

Reset : input;

LOAD : output;

)

Variable

TRIG[3..0] : DFF;

Begin

TRIG[].clrn = Reset;

TRIG[].clk = CLK;

IF ( TRIG[].q == B"1011")

THEN TRIG[].d = B"0000";

LOAD = B"1";

ELSE TRIG[].d = TRIG[].q + 1;

LOAD = B"0";

END IF;

End;

Програма для реалізації 5-розрядного лічильника за модулем 12 з допомогою мови AHDL в інтегрованому середовищі MAX+PLUS II має наступний вигляд:

Subdesign counter_1

(

Counter_1_input : input;

Reset : input;

Counter_1_output[2..1] : output;

)

Variable

Triggers : JKFFE;

TRIG[4..0] : DFF;

Begin

Triggers.j = vcc;

Triggers.k = vcc;

Triggers.clrn = Reset;

Triggers.clk = Counter_1_input;

TRIG[].clrn = Reset;

TRIG[].clk = Counter_1_input;

IF ( TRIG[].q == B"11000")

THEN TRIG[].d = B"00000";

ELSE TRIG[].d = TRIG[].q + 1;

END IF;

Counter_1_output[2..1] = (TRIG[4].q,Triggers.q);

End;

Схема проекту COM-порту зібраного з окремих символів-підпрограм у вікні графічного редактору показано на рис. 8.5. Символи-підпрограми, що зображені у вигляді блоків з іменованими входами і виходами поєднані за допомогою ліній зв’язку.

Рис. 8.5. Реалізація проекту СОМ-порту в графічному редакторі

8.4 Результати програмної реалізації COM-порту в САПР MAX+PLUS II

Результати тестування програмної реалізації COM-порту в САПР MAX+PLUS II наведено на рис. 8.6. Поетапно процес компіляції всього проекту, так як і його компонентів, описаний в розділі 4 даної дипломної роботи.

Рис. 8.6. Результати тестування проекту СОМ-порту

Висновки

В даній атестаційній магістерській роботі створено інформаційно-програмну базу роботи з інтегрованим середовищем MAX+PLUS II.

Інформаційна складова бази роботи з інтегрованим середовищем MAX+PLUS II являє собою описання структури розглядуваного середовища, призначення його основних додатків, а також їх взаємозв’язку, детально розкриту процедура розробки нового проекту в інтегрованому середовищі MAX+PLUS II; процес компіляції створеного проекту дозволить зменшити витрати часу на підготовку спеціалістів з програмування на ПЛІС та оволодіння ними практичних навичок.

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

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

  1. JK-тригера;

  2. D-тригера;

  3. RS-тригера;

  4. синхронного RS-тригера;

  5. 4-розярядного послідовного регістру зсуву;

  6. 4-розярядного паралельного кільцевого регістру зсуву;

  7. 4-розрядного асинхронного лічильника з крізним переносом за модулем 16;

  8. асинхронного лічильника за модулем 10;

  9. асинхронного трьохрозрядного лічильника віднімання;

  10. 3-розрядного універсального лічильника;

  11. шифратора 10 на 4;

  12. 3-розрядного дешифратора з інверсними входами;

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

  14. демультиплексора з трьома адресним входами, одним інформаційним і входом дозволу роботи;

  15. 4-розярдного суматора;

  16. 4-розярдного віднімача.

З метою більш детального пояснення взаємозв’язку різних додатків MAX+PLUS II в атестаційній магістерській роботі створено проект послідовного COM-порту, що складається з п'яти базових мікроелектронних пристроїв: шифратору 20 на 10, 10-розрядного паралельного регістру, мультиплексора з 4 інформаційними і 2 адресними входами, 4-розядного лічильника і 5-розярядного лічильника.

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

На базі даної роботи розроблено комплекс лабораторних робіт, що дозволяють скоротить витрати часу на оволодіння навичками роботи в інтегрованому середовищі MAX+PLUS II.

Використана література

  1. Антонов А.П. Язык описания цифровых устройств AlteraHDL. М.: Радиософт, 2001. – 221 стр.

  2. Баранов С.И. Синтез микропрограммных автоматов. Л.: Энергия, 1979. 232 стр.

  3. Девятков В.В Методы реализации конечных автоматов на сдвиговых регистрах. М.: Энергия, 1974. – 80 стр.

  4. Денисенко Е.Л. Иерархический синтез асинхронных автоматов на программируемых логических интегральных схемах (ПЛИС) с учетом ограничений. М.: УсИМ, 1997. – 476 стр.

  5. Закревский А.Д. Алгоритмы синтеза конечных автоматов. М.: Наука, 1971. – 502 стр.

  6. Закревский А.Д. Логический синтез каскадных схем. М.: Наука, 1981. – 416 стр.

  7. Лазарев В.Г., Пийль Е.И. Способ объединения алгоритмов. Санкт-Петербург: Тр. ЛОНИИС, 1962 стр.

  8. Осадчий Ю.Ф., Глудкин О.П. Гуров А.И. Аналоговая и цифровая электроника. М.: Горячая линия – телеком, 2000. – 762 стр.

  9. Соловьев В.В. Использование программируемых матриц логики при синтезе комбинационных схем. Минск: БГУИР, 1995. – 233 стр.

  10. Соловьев В.В., Самаль Д.И. Методы синтеза произвольной логики на программируемых логических устройствах. М.: Автоматика и вычислительная техника, 1997. 561 стр.

  11. Соловьев В.В., Васильева А.Г. Программируемые логические интегральные схемы и их применение. Минск: Беларуская навука, 1998. – 270 стр.

  12. Соловьев В.В. Проектирование цифровых систем на основе программируемых логических интегральных схем. М.: Горячая линия – телеком, 2001. - 636 стр.

  13. Соловьев В.В. Проектирование функциональных узлов цифровых систем на программируемых логических устройствах. Минск: Бестпринт, 1996. - 252 стр.

  14. Соловьев В.В. Синтез комбинационных и последовательных схем на программируемых логических устройствах. М.: Горячая линия – телеком, 2001. - 233 стр.

  15. Соловьев В.В. Синтез произвольной регистровой логики на программируемых логических устройствах. М.: Горячая линия – телеком, 2000. - 81 стр.

  16. Соркин Б.Л. Синтез микропрограммных автоматов на стандартных ПЗУ и ПЛМ с использованием элементов средней степени интеграции. Минск: АВТ, 1997. – 378 стр.

  17. Поттосин Ю.В., Черимсинова Л.Д. автоматная реализация алгоритмов логического управления. Минск: Институт техники и кибернетики АН Беларуси, 1994 – 38 стр.

  18. Стешенко В.Б. ПЛИС фирмы Altera: проектирование устройств обработки сигналов. М.: Додека, 2000. - 128 стр.

  19. Токхейм Р.Б. Основы цифровой электроники. М.: Мир, 1988. - 392 стр.

  20. Янов Ю.И. О логических схемах алгоритмов. М.: Физматгиз, 1995. – 332 стр.

Характеристики

Тип файла
Документ
Размер
124,42 Mb
Учебное заведение
Неизвестно

Список файлов ВКР

Свежие статьи
Популярно сейчас
Почему делать на заказ в разы дороже, чем купить готовую учебную работу на СтудИзбе? Наши учебные работы продаются каждый год, тогда как большинство заказов выполняются с нуля. Найдите подходящий учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6372
Авторов
на СтудИзбе
309
Средний доход
с одного платного файла
Обучение Подробнее