Скачиваний:
7
Добавлен:
29.12.2022
Размер:
6.23 Mб
Скачать
    1. Моделирование разработанного проекта цифрового устройства

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

  • Определить параметры симулятора, выбрав в главном меню "Processing\Simulator\Tool" ("Процесс\Инструменты Симулятора"). В появившемся окне "Simulator\Tool" в списке "Simulator\mode" ("Режим моделирования") выбрать строку "Timing" ("Временной"). В поле "Simulation input" ("Входные данные для моделирования") по умолчанию имя подготовленного файла временных диаграмм Waveform1.vwf. По желанию разработчика можно ввести другое имя с расширением *.vwf, например, для нашего проектируемого устройства shifrator.vwf.

Примечание: При установке режима "Functional" ("Функциональный") в результате моделирования будут получены идеальные временные диаграммы сигналов выходных узлов, то есть без учета реальных аппаратных задержек. Этот режим целесообразно применять на предварительных этапах проектирования. В режиме "Timing" ("Временной") будут получены диаграммы с задержками сигналов, определяемыми числом элементов на пути распространения сигнала и выбранным типом микросхемы. Кроме того, в режиме "Timing" ("Временной") симулятором обнаруживаются так называемые "Glitches" ("Выбросы"). Они обусловлены не логикой проекта, а двух кратными и более перепадами логического уровня ("дребезг контактов", "состязание сигналов" и т.д.) за промежутки времени, когда по логике проекта эти перепады логического уровня отсутствуют. Эти ложные импульсы могут отрицательно повлиять на работоспособность проектируемого устройства.

  • Щелкнуть по кнопке с тремя точками справа от поля "Simulation input" ("Входные данные для моделирования") и убедиться в том, что в поле панели "Select File" ("Выбранный файл") занесено имя подготовленного файла временных диаграмм: по умолчанию Waveform1.vwf (в нашем примере magor.vwf).

  • Щелкнуть по имени подготовленного файла временных диаграмм для возврата в поле "Simulator\Tool". На панели "Simulation period" ("Период моделирования") включить кнопку "Run simulation until all stimuli are used" ("Моделировать, пока все входные сигналы не будут использованы").

  • На панели "Simulation options" ("Параметры моделирования") установить "галочку" в строке "Automatically add pins to simulation outputs waveforms" ("Автоматически включить выходные узлы в результирующие временные диаграммы").

Установка указанного выше свойства обеспечит автоматическое добавление во временные диаграммы, полученные в результате моделирования, всех существующих выходных узлов с их диаграммами. Это свойство следует выключать, если вы хотите наблюдать диаграммы только части выходных узлов. В этом случае их необходимо ввести вручную. Остальные свойства на панели "Simulation options" ("Параметры моделирования") обеспечивают:

  • "Check outputs" ("Контроль выходных диаграмм") – обеспечивает сравнение ожидаемых диаграмм выходных сигналов, сформированных проектировщиком в файле *.vwf, с реально полученными в результате моделирования, то есть с учетом временных задержек ЛЭ.

  • "Setup and hold time violation detection" ("Обнаружение нарушений времени предустановки и времени удержания") – контролирует процесс моделирования на наличие нарушений параметров "время предустановки " и "время удержания" и сообщает о них в окне сообщений.

  • "Glitch detection" ("Обнаружение выбросов") – контролирует процесс временного моделирования на наличие выбросов и сообщает о них в окне сообщений.

  • "Overwrite simulation input file with simulation results" ("Обновление входного файла моделирования *.vwf с добавлением результатов моделированием") – включает режим обновления файла временных диаграмм.

  • Закрыть окно "Simulation options" ("Параметры моделирования").

  • Выбрать в главном меню "Processing\Start Simulation" ("Процессы\Запуск Моделирования"). По умолчанию на экране появится окно "Simulation Report" ("Отчет о моделировании"), а в окне состояния процесса начнет отражаться объем выполнения процесса моделирования. После завершения моделирования на экране появится информационное окно с сообщением о завершении процесса. Его следует закрыть, щелкнув по кнопке "OK".

Примечание: Процесс моделирования можно бы запустить и непосредственно из окна "Simulation options" ("Параметры моделирования"), щелкнув по кнопке "Start". Однако в этом случае оказывается несколько более длинным процесс вывода результатов моделирования на экран.

Если моделирование завершилось успешно, то на экране окно "Simulation Report" ("Отчет о моделировании"). Окно состоит из двух частей: левой - "Report Window Contents" ("Содержание Окна Отчета"), в которой можно выбрать необходимый раздел отчета о моделировании, и правой - "Report Window Section" ("Демонстрационная Секция Отчета"), в которой представлено содержание выбранного раздела отчета. По умолчанию в демонстрационной секции представлен раздел "Simulation\ Simulation Waveform" ("Симулятор\Диаграммы Моделирования")period" ("Период моделирования"). Если раздел оказался неподключенным, например, при запуске симулятора из окна "Simulator Tool" ("Инструменты Симулятора"), его следует подключить, выбрав соответствующую строку в списке "Report Window Contents" ("Содержание Окна Отчета").

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

Получаем:

Измерение величины временной задержки сигналов

  • Установить маркер "Master Time Bar" ("Главный временной маркер", далее – Главный Маркер) на логический фронт входных сигналов, соответствующий моменту времени 300 ns. Для этого щелкнуть требуемое количество раз по кнопке перемещения Маркера "Master Time Bar" с учетом направления перемещения.

  • Щелкнуть один раз по кнопке перемещения Маркера (вправо). Маркер переместится к следующему по времени фронту сигнала (фронт выходного сигнала y) и на движке Маркера появится цифра 310 ns. Следовательно, запаздывание установления значения функции y в разработанном устройстве, если его выполнять на выбранной в нашем примере микросхеме EPM3032ALC44-10, составит 10 ns.

Примечание: 1. При однократном щелчке по кнопке перемещения Маркер переходит в указанном направлении к положению следующего по времени логического фронта сигнала на выделенных диаграммах. Для выделения диаграммы подвести курсор к выделяемой диаграмме, щелкнуть правой кнопкой мыши. В раскрывшемся контекстном меню щелкнуть по строке "Select entire Waveform Interval", появится голубой фон на выделенной диаграмме.

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

2. Увеличить, если требуется, временной масштаб. Для этого щелкнуть по кнопке "Zoom Tool" ("Изменение масштаба") на вертикальной панели инструментов (на кнопке изображена лупа со знаком "+\-"). Далее, поставив курсор мыши в то место на поле временных диаграмм, которое предполагается сделать центральным, щелкнуть необходимое количество раз левой кнопкой. Если необходимо уменьшить масштаб – следует щелкнуть правой кнопкой мыши. Выключить режим "Zoom Tool", щелкнув по кнопке "Selection Tool" (кнопка на вертикальной панели инструментов с изображением типичного курсора мыши в виде стрелки).

Сохранение проекта

Выбрать в главном меню "File\Save Project" ("Файл\Запись Проекта") и сохранить проект.

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

Осталось выполнить три существенных пункта:

- выяснить на какие выводы микросхемы подавать сигналы и с какого вывода снимать выходной сигнал (узнаем позже).

- купить микросхему;

- "зашить " (запрограммировать) откомпилированный проект в "железный" (не виртуальный) экземпляр микросхемы.

Таблица истинности

Десятичный код

Входы

Выходы

Y0

Y1

Y2

Y3

Y4

Y5

Y6

Y7

X3

X2

X1

1

-

1

0

0

0

0

0

0

0

0

1

2

-

0

1

0

0

0

0

0

0

1

0

3

-

0

0

1

0

0

0

0

0

1

1

4

-

0

0

0

1

0

0

0

1

0

0

5

-

0

0

0

0

1

0

0

1

0

1

6

-

0

0

0

0

0

1

0

1

1

0

7

-

0

0

0

0

0

0

1

1

1

1