ОПИСАНИЕ СТЕНДА ПРОВЕРКИ КУРСОВОЙ РАБОТЫ
Данный стенд выполнен в проекте begin. qpf и предназначен для автоматической проверки правильности выполнения синтеза автоматов МИЛИ и МУРА.
Автоматы для исследования могут быть представлены в двух видах:
- В виде схемотехнического файла (.bdf) В виде файла VHDL файла (.vhd)
Стенд представляет собой довольно сложную систему, состоящую из трех основных частей:
- Блока генерации входной последовательности и эталонов для конкретного варианта Блока тестирования Блока, содержащего спроектированные студентами автоматы
Стенд специально разработан под действующие варианты заданий. При проверке учтены переходы в неопределенные состояния. Если при проектировании автоматов была использована рекомендованная кодировка, то студентам не требуется проводить изменения в настоящем стенде
Рассмотрим структуру выходного векторного файла Waveform1.vwf, с помощью которого можно судить о результатах тестирования:

Развернутая структура сигналов, позволяющая наиболее полно рассмотреть функционирование автоматов, рассмотрена ниже:

Рассмотрим пример векторного отчета, отражающего правильное функционирование автоматов МИЛИ и МУРА:

Зеленым цветом обведены выходные сигналы стенда rez, rez_y и rez_myra. Как нетрудно заметить, они постоянно находятся в положении логической 1. Это свидетельствует о правильном функционировании обоих автоматов.
Значком
отмечены сигналы t, y_sch и m, являющиеся выходами спроектированных студентом автоматов, что означает правильность выдаваемых ими последовательностей.
Случаи неправильного функционирования автоматов в примерах
Автомат МИЛИ неправильно функционирует из-за ошибки в проектировании функций, отвечающих за состояния автомата МИЛИ
Сигнал rez обведен красным цветом из-за наличия ошибки в переключении состояний.
Синим цветом обведены позиции, на которые необходимо обратить внимание для выявления ошибки.
ОШИБКА 1 связана с тем, что автомат МИЛИ при поступлении на вход комбинации x1=0, x2=1 из состояния S0 переключился в состояние S3 вместо состояния S1, что и сказалось на значении выходного сигнала rez.
ОШИБКА 2 связана с тем, что автомат, находясь в состоянии S1 при поступлении входной комбинации x1=1, x2=0, не переключился в состояние S3, оставшись в состоянии S1.
ОБРАТИТЕ ВНИМАНИЕ! В случае ОШИБКИ 2 красные стрелки указывают на сигналы s_true[1] и t1, являющиеся составляющими результирующих сигналов s_true и t, так как именно из-за функции, отвечающей за сигнал t1, возникает ошибка, влияющая на правильную работу всей схемы. В этом случае студенту следует обратить внимание на нее и исправить недочет.
Автомат МИЛИ неправильно функционирует из-за ошибки в проектировании функций, отвечающих за выход автомата МИЛИВНИМАНИЕ!! Из-за особенности автомата МИЛИ сразу менять выходной сигнал с изменением состояния следует учитывать, что значение выхода автомата МИЛИ смещено на 1 такт раньше, чем идеальное значение, выдаваемое стендом (помечено синими линиями на схеме).

В данном примере ошибка связана с несоответствием сигналов y1 и y2 с идеальными сигналами стенда y_true[2] и y_true[1] соответственно. Так, как состояния тестируемого автомата переключаются верно, ошибки следует искать в данном случае в функциях, отвечающих за сигналы y1 и y2.
Автомат МУРА неправильно функционирует

.
К сожалению, если возникает ошибка в работе автомата МУРА локализовать ее сложнее, чем в автомате МИЛИ, так как заранее невозможно предусмотреть состояния, которые будут выбраны студентом при синтезе автомата МУРА.
В данном примере показано, что ошибка возникает из-за того, что сигналы m1 и m2 не соответствуют идеальным значениям соответствующих им сигналов y_true[2] и y_true[1]. Так как значения состояния автомата МУРА также выводятся на схему (сигнал tt) студенту следует начать отладку с перепроверки составленной им таблицы соответствия состояния и выходного сигнала. Затем следует перепроверить все функции, отвечающие за соответствующие выходные сигналы.


