Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ВМСиС_1 / ВМСиС / GHDL / руководство по GHDL и GTKwave для начинающих.doc
Скачиваний:
55
Добавлен:
12.02.2015
Размер:
217.6 Кб
Скачать

Часть 5. Анализ 1-го теста. Компиляция тестового файла. Верификация.

Полученный тестовый файл необходимо проверить по синтаксису и сформировать его, для этого выполняются указанные ранее команды:

ghdl –a func_tb.vhdl

ghdl –e func_tb

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

Теперь с помощью сконфигурированного файла необходимо протестировать написанную ранее программную модель. Для этого выполняется следующая команда:

ghdl –r func_tb –vcd=func.vcd

После ввода данной команды производится непрерывное тестирование программной модели описанными в тестовом файле сигналами. Результат тестирования записывается в файл указанный в команде func.vcd.

Поскольку тестирование повторяется, то необходимо спустя некоторое время прервать эту операцию нажатием клавиш (Ctrl+C). В противном случае записанный файл будет иметь очень большой размер, неподлежащий отображению. Продемонстрируем указанные действия:

Теперь работа компилятора завершена и остается лишь отобразить полученный файл func.vcd. Для этого мы запускаем файлgtkwave.exe. Перед нами открывается тестовая средаGTKwave. Для отображения полученного файла необходимо или перетащить его в открытое окно программы или открыть его следующим образом: (File=>OpenNewTab) =.> найти его в каталоге папок и файлов.

Для корректного отображения сигналы указанные в поле 1, необходимо перетащить в поле 2, а потом настроить масштаб переключателями 3,4.

Результат верификации указанного рассматриваемого примера имеет следующий вид:

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

Часть 6. Анализ 2-го теста.

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

В примере №2 описывается программная модель дешифратора с двумя входными и 4-мя выходными контактами. На выходах формируются сигналы соответствующие математической модели дешифратора. Поскольку математическая модель дешифратора представляется комбинацией логических функций, то программная модель этого устройства имеет следующий вид:

Outp(0)<= not (Inp(0)) and not(Inp(1));

Outp(1)<= Inp(0) and not(Inp(1));

Outp(2)<= not(Inp(0)) and Inp(1);

Outp(3)<= Inp(0) and Inp(1);

Как видно на нулевой выход подается логическая сумма инверсией входов, на первый выход – логическая сумма сигнала нулевого входа и инверсии сигнала первого входа,

2-й выход – лог. сумма инверсии сигнала нулевого входа и сигнала первого входа,

3-й выход – лог. сумма сигналов с нулевого и первого входов в не инвертированном виде.

Тестовые сигналы идентичны первому тесту и принимают все возможные значения для входного битового двухразрядного вектора (число сигналов равно 4).

Результаты тестирования имеют следующий вид:

Как видно, из временной диаграммы каждая комбинация входных сигналов вызывает на выходе лишь один сигнал равный «1», что свидетельствует о правильном функционировании дешифратора.

Соседние файлы в папке GHDL