Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
XilinxCourse_v2.0.doc
Скачиваний:
56
Добавлен:
22.04.2019
Размер:
3.26 Mб
Скачать

Проекты для самостоятельной работы

  • Реализовать счетчик, понижения частоты с использованием каскада счетчиков более низкой разрядности;

  • Произвести параметризацию модуля, реализующего счетчик, по разрядности и использовать несколько экземпляров данного модуля с разными параметрами при реализации предыдущего задания.

Заключение

По окончании данной лабораторной работы вы научились проектировать цифровые устройства, содержащие элементы памяти, и получили представление о конструкциях языка Verilog HDL, используемых для описания последовательных схем. Также вы научились реализовывать тактирование и дополнять ограничения проекта глобальными временными ограничениями. Кроме этого, вы научились пользоваться утилитой Core Generator для использования встроенных аппаратных блоков в ваших проектах.

6.4 Лабораторная работа №4 Проектирование конечных автоматов

Цель работы: анализ возможностей, предоставляемых конечными автоматами, изучение принципов построения цифровых схем, содержащих конечные автоматы, изучение возможностей языка Verilog HDL и применяемых техник по описанию конечных автоматов, изучение возможностей статического временного анализа (Static Timing Analysis).

После выполнения работы вы:

  • научитесь пользоваться операторами и конструкциями языка Verilog HDL для создания конечных автоматов;

  • научитесь проектировать цифровые устройства, содержащие конечные автоматы;

  • научитесь генерировать и просматривать отчеты статического временного анализа.

Введение

Целью данной лабораторной работы является получение базового представления о проектировании цифровых устройств, содержащих в своем составе конечные автоматы. Конечные автоматы представляют собой устройства, содержащие некоторое количество заранее определенных состояний и функций переходов между ними. При этом, реализация конечных автоматов представляет собой некоторый набор регистров, содержащих текущее состояние, а также набор вспомогательных логических элементов, реализующих переходы между реализованными состояниями. Соответственно, описание подобных модулей с помощью языка Verilog HDL не привносит никаких новых конструкций языка и базируется на обычных шаблонах и решениях для описания комбинационных и последовательных схем. Стоит отметить, что часто при описании конечных автоматов удобно использовать конструкции Verilog HDL, описывающие константы. Т.е. такие конструкции как localparam, `define и т.д.

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

Описание задачи

В данной лабораторной работе будет происходить фильтрация входного сигнала, представляющего собой результат нажатия на одну из кнопок, расположенных на плате Atlys.

П ри нажатии на любую из кнопок пользователем, ожидается, что произойдет единичная смена логического уровня. Т.е. при нажатии не активной кнопки, предполагается, что логический уровень изменится однократно с логического «0» до логической «1», а затем снова до логического «0». На самом деле это не совсем так. При нажатии кнопки, в течение некоторого интервала времени во время и после нажатия, возникает серия помех (glitch), которая может оказаться нежелательной при взаимодействии пользователя с разработанным устройством. Данная ситуация представлена на рисунке 6.4.1.

Рисунок 6.4.1 – Поведение сигнала, вызванное однократным нажатием на кнопку

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

Я дром такого модуля будет являться конечный автомат, диаграмма переходов которого представлена на рисунке 6.4.2.

Рисунок 6.4.2 – Диаграмма переходов конечного автомата

Также модуль будет содержать набор счетчиков, служащих как для подсчета интервалов времени для фильтрации помех, так и для подсчета числа нажатий на выбранную в ходе проекта кнопку. Блок-схема модуля представлена на рисунке 6.4.3.

Рисунок 6.4.3 — Структурная схема проекта лабораторной работы №4

К ак видно из рисунка 6.4.3 разрабатываемый модуль содержит 1 анализируемый входной сигнал (button), подключенный к одной из кнопок, а также 2 служебных входных сигнала, представляющие собой тактовый сигнал и сигнал асинхронного или синхронного сброса. Также модуль содержит выходную 8-ми разрядную шину (leds), соединенную с 8-мью светодиодами, расположенными на плате Atlys, и представляющую собой результат подсчета нажатий на анализируемую кнопку.

Корректность работы проекта будет определяться следующим визуально анализируемым положением – одно нажатие на кнопку, ведет за собой единичное приращение счетчика.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]