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

4.10. Реализация конечных автоматов

Понимание структуры и принципов функционирования конечных автоматов является одной из ключевых особенностей в проектировании сложных цифровых устройств. Для наглядности, на рисунках 4.10.1 и 4.10.2 представлен пример конечного автомата, аппаратно реализующего диаграмму состояний, рассмотренную на рисунке 4.9.1.

Рисунок 4.10.1 — Описание портов ввода-вывода внутренних состояний и сигналов конечного автомата, представленного на рисунке 4.9.1

Рисунок 4.10.2 — Описание тела конечного автомата, представленного на рисунке 4.9.1

5. Функциональное тестирование аппаратуры средствами языка Verilog hdl

Функциональное тестирование является неотъемлемым этапом любого процесса проектирования, поэтому здесь, в этой главе, мы рассмотрим этот процесс более подробно. Для осуществления тестирования проекта, требуется описать тестовое окружение (test environment), представляющее собой в самом простейшем случае модуль более высокого уровня абстракции, включающую в себя экземпляр тестируемого проекта и реализующий определенные сценарии тестирования. Основная задача тестового окружения — подавать на входные сигналы тестируемого проекта тестовые комбинации и анализировать выходные сигналы на корректность работы тестируемого проекта. В общем случае, поскольку тестовое окружение, является всего лишь надстройкой над проектом, выполняющее вспомогательную функцию, то оно не обязано быть синтезируемым. Это означает, что не требуется следовать лишь техникам и шаблонам, используемым в предыдущей главе для описания аппаратуры. В связи с этим, для реализации тестового окружения можно использовать абсолютно все конструкции языка Verilog HDL. Таким образом, процесс построения тестового окружения больше напоминает специфическое программирование.

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

5.1 Базовая структура тестового окружения

На рисунке 5.1.1 представлена базовая структура тестового окружения, написанного на языке Verilog HDL.

Рисунок 5.1.1 — Базовая структура тестового окружения на языке Verilog HDL

Базовая структура тестового окружения, как и базовая структура модуля, состоит из нескольких, логически выделенных частей. Прежде всего это создание экземпляра тестируемого модуля и объявление его сигналов ввода-вывода. Кроме этого, при моделировании последовательных схем, стандартной частью является создание генератора тактового сигнала. И, наконец, заключительной частью является создание набора тестовых последовательностей для проверки корректности работы тестируемого модуля.

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

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

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