- •Содержание
- •Введение
- •1Лабораторная работа №1
- •1.1Создание проекта
- •1.2Создание схемы в графическом редакторе
- •1.3Моделирование работы устройства
- •1.4Временные параметры проекта
- •1.5Редактирование расположения выводов
- •1.6Синтез проекта
- •1.7Реализация проекта
- •Контрольные вопросы к лабораторной работе №1
- •2Лабораторная работа №2
- •2.1Стратегия разработки сложных цифровых устройств
- •2.2Создание модуля подавления дребезга (debounce)
- •2.3Создание модуля дешифратора семисегментного кода
- •2.4Создание модуля реверсивного счетчика
- •2.5Создание модуля делителя частоты
- •2.6Создание модуля мультиплексора
- •2.7Создание схемы верхнего уровня
- •2.8Отладка устройства
- •2.8.1Отладка модулей устройства
- •2.9Реализация проекта
- •2.10Работа с отладочной платой
- •2.10.1Конфигурация fpga
- •Список использованных источников
- •Приложение а Список индивидуальных заданий
- •Требования по выполнению индивидуального задания
- •Разработка цифровых устройств на базе плис
- •443086 Самара, Московское шоссе, 34.
2.6Создание модуля мультиплексора
Для модуля mux найдите и используйте шаблон в соответствии с следующим описанием: требуется мультиплексор, имеющий 4 входных вывода шириной 4 бита, один выходной шириной 4 бита и один управляющий шириной 2 бита. В зависимости от сигнала на управляющем выводе, на выход подключается один из входных выводов.
2.7Создание схемы верхнего уровня
Внесите все необходимые компоненты на рабочее поле схемы и соедините их проводниками «Add/wire». При работе с шинами используйте тот же инструмент, что и для отдельных проводников, разрядность шины будет определена автоматически. При подключении к шине отдельных проводников или шин меньшего размера используется специальный элемент «Add/Bus Tap». После подключения необходимо задать соединение проводников в шине. Для этого используйте одинаковые имена шин, а в скобках указывайте номера проводников, к которым данная шина подключается (например, 16-разрядная шина Bus1(15:0) – к ней подключены четыре 4-разрядных шины Bus1(15:12), Bus1(11:8), Bus1(7:4) и Bus1(3:0) ).
Выводы устройства должны быть снабжены маркерами (команда меню «Add I/O Marker» или кнопка из панели инструментов). Созданным маркерам следует дать осмысленные имена (латинскими символами) для удобства идентификации, при этом соответствующие цепи автоматически получат те же идентификаторы. При желании можно также именовать внутренние цепи («Add Net Name»). При выделении отдельных проводников из созданной шины необходимо указать их имена, например, для шины S имена отдельных проводников могут быть - S(0), S(1). Для переименования можно использовать команду «Rename Selected Net» контекстного меню. Неиспользуемые входы подключим к земле или питанию (стандартные элементы «VCC» и «GND»).
2.8Отладка устройства
Для отладки всего устройства удобно разбить всю работу на части: сначала отладить работу отдельных модулей, а затем проверить функционирование всего проекта. Для проверки работоспособности будем использовать симулятор ISim. Следует отметить, что наиболее целесообразно отлаживать разрабатываемое устройство в режиме симуляции, а подключение отладочной платы и окончательное тестирование производить только после успешного завершения этапа симуляции.
2.8.1Отладка модулей устройства
Отладку отдельных модулей проиллюстрируем на примере «самодельного» делителя частоты. Здесь действуем аналогично отладке триггера в лабораторной работе №1, не забывая про наличие асинхронного сигнала сброса. Поведение устройства исследуем с помощью процесса «Simulate Behavioral Model». Рекомендуемая тестовая последовательность представлена на рис. 7.
Рисунок 7 – Временные диаграммы тестирования модуля divider
Выходные сигналы делителя подключены к третьему и четвертому триггерам с целью упрощения контроля работоспособности устройства (небольшой коэффициент деления), в дальнейшем их подключение необходимо скорректировать с учетом требуемого коэффициента деления входной частоты 100 МГц (необходимые частоты на выходе – порядка сотен герц). Сохраните сделанные изменения.
Аналогичным образом можно протестировать и другие модули проекта, хотя, очевидно, что целиком заимствованные узлы сами по себе в тестировании не нуждаются.
Проведите тестирование модуля rcounter самостоятельно.
