logo search
Пособие_VHDL

5. Моделирование

5.1. Вызывается пункт SIMULATE главного меню. В ответ открывается окно, в котором перечислены имена всех библиотек доступных в системе. Кликнув на имя рабочей библиотеки (ОБЫЧНО work) получаем список ENTITY всех проектных модулей, имеющихся в текущем проекте. Делаем клик на Entity иерархически наиболее старшего проектного модуля. Синим цветом в окне отображаются результаты компиляции.

5.2. Настраиваем окна наблюдения. Одновременно можно открыть достаточно много окон наблюдения; здесь мы ограничимся только наиболее употребительными. Любое окно открывается активизацией пункта VIEW главного меню и кликом мышью на типе окна наблюдения из приведенного списка

- SOURCE window – на экран выводится текст головного файла проекта

Хотя содержание SOURCE window внешне совпадает с окном редактирования, но это разные окна! В SOURCE window невозможно редактирование. В иерархических проектах в окне SOURCE window отображается текст того файла, которому принадлежит исполняемый в данный момент оператор (изменение содержимого окна происходит автоматически при переходе на новый проектный модуль). И, наконец, в этом окне курсором отмечается исполняемый в момент останова оператор (при пошаговом режиме, истечении заявленного интервала моделирования, а также и в установленных пользователем точках останова). Точка останова устанавливается (и удаляется) за счет клика левой клавишей мыши на номере выбранного оператора в левой части SOURCE window.

Окно - OBJECTS – обеспечивает возможность регистрации и наблюдения за состоянием объектов (сигналов). Порядок действий с ними не отличается. В обоих случаях отображаются только объекты, доступные в исполняемом в данный момент модуле. Далее выделяются интересующие пользователя сигналы. Выполнив операцию ADD, можно перенести список таких сигналов в окна “WAVEFORM” и “LIST”. Если хотите наблюдать сигналы или переменные, определенные во вложенных проектных модулях, необходимо в момент останова в нужном проектном модуле выполнить те же действия.

и VARIABLE и переменных и переменные

Окно – WAVE – обеспечивает отображение временной диаграммы (некоторые опции отображения устанавливаются через последовательность вызовов “SIMULATE”-“simulation options”). После открытия список отображаемых объектов (сигналов) пуст. Наиболее простой способ заполнения этого списка – выполнить в этом окне команду “PASTE” после запоминания этого списка в предыдущем пункте. Для обеспечения возможности сохранения этого списка для следующих сеансов можно выполнить операцию “SAVE FORMAT” из пункта “EDIT” окна “WAVE”. Тогда операция “LOAD FORMAT” позволяет восстановить список из числа ранее сохраненных.

Окно – LIST – позволяет наблюдать изменения сигналов во времени в виде списка. Хотя такая форма отображения не так наглядна, как “WAVE”, она позволяет наблюдать причинно следственные связи в объекте моделирования даже в случаях нулевой задержки.

Окно – PROCESS window – содержит имена процессов, имеющихся в проектных модулях. Во время моделирования имя процесса, исполняемого в момент останова, подсвечено.

5.3. Исполнение моделирования

Вызываем команду RUN пункта SIMULATE. Для выполнения одного оператора от начала проектной программы или любой точки останова выбираем мышью команду STEP или STEP OVER меню RUN. Отличие STEP OVER от STEP состоит в том, что в режиме STEP OVER не выполняются остановы внутри подпрограмм (остановы внутри встроенных проектных модулей выполняются).

Команды RUN NEXT и RUN ALL запускают исполнение в автоматическом режиме до следующей точки останова или до оператора бесконечного останова WAIT в программе.

Замечание: Точку останова можно занести в любой файл проекта, вызвав этот файл в SOURCE window, для чего следует кликнуть левой клавишей мыши на имени соответствующего ENTITY в окне проекта. Однако, следует иметь в виду, что продолжение моделирования будет осуществлено из того файла, который был активен перед выполнением такого действия.

Команда RUN 100ns вызывает моделирование в автоматическом режиме в течение времени 100 ns, после чего можно выполнить любые действия, разрешенные в состоянии останова.

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

В точках останова или перед первым запуском можно изменять состояния объектов (сигналов в языке VHDL), задав в командном окне инструкцию

force <имя объекта> <значение> <время> ns, <значение> <время> ns, <значение> <время> ns, <значение> <время> ns,…..

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

examin <имя сигнала>.

6. Тестирование и отладка проектов

Тестирование проектов в пакете может выполняться с привлечением различных средств. Наибольшее распространение получило направление, состоящее в создании тестовых файлов (TestBench). Пакет поддерживает включение конструкций языка утверждений PSL.

File

New

Folder

Source

Project

Library

Open

Load

Close

Import

Export