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

4. Компиляция и синтаксическая отладка

4.а. Компиляция одиночных файлов

Желательно при исполнении этой процедуры иметь отлаживаемый файл в окне редактирования. Выделим в окне проекта интересующий нас файл и выберем пункт COMPILE главного меню. В открывшемся вспомогательном окне выберем пункт «COMPILE SELECTED» Если есть ошибки, то сообщение об этом отображается в командном окне. Двойной клик на строке сообщения об ошибке обеспечивает выделение ошибочной строки в тексте в окне редактирования. Можно тут же внести исправления и повторить компиляцию.

В комплексных проектах компиляция выполняется по иерархии «снизу-вверх», за исключением пакетов пользователя, которые должны компилироваться перед всеми файлами, содержащими ссылки на них.

4.б. Компиляция сложных проектов.

Если в каком либо проекте вносятся исправления в модули нижних уровней иерархии, то должны быть рекомпилированы все проектные файлы, иерархически старшие по отношению к измененному. Пакет QuestaSim позволяет упростить эту процедуру. Достаточно для открытого проекта через пункт главного меню СOMPILE вызвать команду COMPILE ALL. Заметим, что использование опции СOMPILE ALL требует определенных навыков, и ее можно рекомендовать к использованию, если предварительно хоть один раз выполнена последовательная компиляция файлов проекта, и таким образом в проекте установлена иерархия. В противном случае на порядок компиляции может оказать влияние порядок перечисления файлов в проекте.

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