ModelSim —
система HDL-моделирования цифровых устройств
Одна из характерных тенденций современного этапа развития технологии проектирования цифровых систем — применение языков описания аппаратуры HDL (Hardware Description Language) высокого уровня, среди которых наибольшее распространение получили VHDL и Verilog.
При этом не только возрастает роль средств моделирования в процессе разработки устройств, но и меняются методы и требования, предъявляемые к процедурам верификации. Для своевременного обнаружения возможных ошибок средства моделирования должны обеспечивать возможность контроля результатов каждого этапа процесса проектирования: создания исходных HDL-описаний, синтеза, размещения и трассировки в кристалл. Такой подход обеспечивает минимальное время разработки устройства и сокращает стоимость этого процесса, так как цена ошибки возрастает с каждым последующим шагом проектирования.
Пакет программных средств ModelSim™ корпорации Model Technology (одного из подразделений компании Mentor Graphics) в настоящее время является самой распространенной системой HDL-моделирования. Это обусловлено целым рядом уникальных характеристик этого пакета. Цель настоящей публикации — ознакомить разработчиков цифровых устройств с возможностями системы моделирования ModelSim и ее графическим интерфейсом.
Назначение и основные характеристики пакета ModelSim
Отличительные особенности пакета:
Получение и установка свободно распространяемых версий пакета ModelSim
Система моделирования ModelSim выпускается в двух основных редакциях: Special Edition (SE), функционирующей под управлением операционных систем (ОС) UNIX, Linux, Windows 98, Windows 2000, Windows NT, Windows XP, и Personal Edition (PE), предназначенной только для ОС семейства Windows. Кроме того, имеются специализированные редакции, предназначенные для интеграции с пакетами САПР «третьих» фирм.
Примером специализированной редакции является ModelSim Xilinx Edition (XE), ориентированная на интеграцию с программным обеспечением фирмы Xilinx.
Чтобы на практике изучить возможности этой системы моделирования, можно воспользоваться оценочными версиями ModelSim (SE и PE), которые распространяются бесплатно. Лицензии этих версий обеспечивают возможность полноценной работы с пакетом в течение 30 дней с момента установки. Получитьбесплатную версию программного обеспечения ModelSim (SE или PE) можно двумя путями. В первом случае следует обратиться на веб-сайт (www.megratec.ru) компании Megratec (Mentor Graphics Technologies) — официального представителя Mentor Graphics в России и СНГ, заполнить регистрационную анкету запроса оценочной версии требуемого программного продукта (в частности, пакета ModelSim). По указанному в анкете адресу будет выслан CD-ROM с соответствующим программным обеспечением. После установки программы необходимо получить файл license.dat, содержащий лицензионный код.
Для получения файла лицензии следует запустить Submit License Request из меню Программы/ModelSim..., которое открывается при нажатии кнопки Пуск операционной системы Windows. Эта утилита автоматически собирает всю информацию об используемом ПК, необходимую для получения лицензионного кода, преобразует ее в формат адресной строки Internet и автоматически запускает Microsoft Internet Explorer. Если ПК, на котором установлен пакет, подключен к Internet, то файл лицензии может быть получен в течение нескольких минут. В процессе получения лицензии необходимо вновь заполнить регистрационную анкету с указанием адреса электронной почты, по которому будет выслан файл, содержащий лицензионный код.
В противном случае, при отсутствии выхода в Internet, следует скопировать содержимое адресной строки Microsoft Internet Explorer в буфер, выделив его и воспользовавшись командой копирования из меню Edit или всплывающего контекстно-зависимого меню. Затем содержимое буфера нужно сохранить в виде текстового файла на дискете (используя любой текстовый редактор, например Блокнот или WordPad), которую следует перенести на ПК, подключенный к Internet. Далее нужно выполнить обратную операцию — скопировать текст из файла на дискете в буфер, после чего активизировать Microsoft Internet Explorer и вставить содержимое буфера в адресную строку. Полученный файл лицензии необходимо перенести на ПК, где установлен пакет.
Второй способ позволяет скачать требуемую версию пакета непосредственно с веб-сервера корпорации Model Technology. Для этого нужно обратиться по адресу www.model.com/evaluations/ и выбрать требуемую редакцию пакета. Перед началом копирования программы появляется регистрационная анкета, которую необходимо заполнить. После установки пакета выполняется процесс получения файла лицензии, подробно рассмотренный выше.
Кроме оценочных версий, можно также воспользоваться свободно распространяемой версией ModelSim XE Starter, которая включается в состав пакета САПР WebPACK ISE (Integrated Synthesis Environment), рассмотренного ранее на страницах этого журнала [1–4]. Эта версия имеет одно существенное ограничение — исходный текст описания должен содержать не более 500 исполняемых выражений. Если объем исходного кода превышает указанное значение, то программа моделирования сохраняет работоспособность, но функционирует с очень низкой производительностью.
Для получения свободно распространяемой версии программного обеспечения ModelSim XE Starter необходимо зарегистрироваться на веб-сайте www.xilinx.com. В процессе регистрации пользователь должен указать собственный идентификатор и пароль, которые необходимо запомнить и использовать при последующих обращениях. После регистрации следует выполнить процедуру копирования модулей пакета на ПК, который будет использован для развертывания САПР. Далее необходимо последовательно выполнить все инструкции программ инсталляции, которые автоматически запускаются при активизации полученных файлов, каждый из которых представляет собой самораспаковывающийся архив. После успешного завершения процесса установки пакета следует получить файл, содержащий лицензионный код, используя рассмотренную выше методику. В процессе получения лицензии будет запрошен идентификатор пользователя и пароль, указанные при регистрации.
Перед началом работы с пакетом моделирования необходимо активизировать полученный лицензионный код. Для этого следует запустить программу Licensing Wizard из меню Программы/ModelSim..., которая выполнит поиск файла лицензии и автоматически установит полный путь доступа к нему, а также необходимые переменные окружения.
Пользовательский интерфейс пакета ModelSim
Графический интерфейс системы моделирования ModelSim представлен девятью окнами:
- основное окно (Main window);
- окно исходного кода (Source);
- окно структуры проекта (Structure);
- окно переменных (Variables);
- окно сигналов (Signals);
- окно таблиц (List);
- окно процессов (Process);
- окно временных диаграмм (Wave);
- окно трассировки сигналов (Dataflow).
Основное окно ModelSim является главным элементом пользовательского интерфейса пакета. Оно содержит все необходимые инструменты управления процессами компиляции и моделирования. Открытие вспомогательных окон, используемых для отображения информации о проекте и результатах моделирования в различной форме, и их конфигурирование осуществляется из главного окна. Структура основного окна ModelSim (рис. 1) включает следующие элементы:
- заголовок окна;
- главное меню;
- оперативная панель управления;
- рабочая область;
- консольная область;
- строка состояния.
В заголовке главного окна отображается название программы моделирования с указанием ее версии и редакции.
Главное меню основного окна открывает доступ ко всем командам управления проектом, процессами компиляции и моделирования, отображением результатов моделирования, установки необходимых значений параметров и конфигурирования системы.
Каждый пункт главного меню используется для активизации одноименного всплывающего меню, в котором представлена соответствующая группа команд. Всплывающее меню File включает команды создания, открытия и закрытия проектов, файлов и наборов данных, а также очистки и сохранения содержимого консольной области в виде файла на диске. Кроме того, в эту группу включены команды установки параметров консольной области и завершения работы. Выпадающее меню Edit объединяет команды редактирования исходного HDL-кода и установки точек прерывания. Во всплывающем меню Design представлены команды работы с библиотеками проекта, компиляции исходного кода, инициализации и завершения моделирования. В выпадающем меню View сгруппированы команды, определяющие вид основного окна ModelSim и открывающие вспомогательные окна.
Всплывающее меню Project содержит команды работы с проектом, которые позволяют включать в проект файлы исходных описаний и выполнять компиляцию всех файлов проекта. Команды выпадающего меню Run предназначены для управления процессом моделирования проекта. Команды всплывающего меню Macro используются для запуска процедуры выполнения командных файлов.
Выпадающее меню Options предоставляет доступ к командам установки значений параметров компиляции, моделирования и графического интерфейса. Всплывающее меню Window содержит команды установки взаимной конфигурации открытых окон пакета ModelSim. Пункт Help основного меню предоставляет справочную информацию о программах пакета.
Оперативная панель управления содержит кнопки быстрого доступа, которые дублируют наиболее часто используемые команды меню пакета ModelSim.
Рабочая область основного окна ModelSim представляет собой эффективный визуальный инструмент управления проектом. Здесь отображается детальная информация о структуре текущего проекта и используемых библиотек. Выполнение необходимых операций осуществляется с помощью команд всплывающих контекстно-зависимых меню, которые выводятся на экран при щелчке правой кнопки мыши на свободном поле или на выделенной строке в рабочей области. Эта область содержит, как правило, несколько страниц, снабженных закладками с их названиями (Project, Library, Sim), каждая из которых представляет соответствующий вид информации о проекте. Страница Project предназначена для отображения списка файлов, которые входят в состав текущего проекта. С помощью команд всплывающего контекстно-зависимого меню пользователь может быстро открыть выбранный файл для редактирования, выполнить компиляцию отдельного или всех файлов, добавить или удалить файлы из проекта. Страница Library позволяет просмотреть состав библиотек, используемых в проекте, и выполнить необходимые операции с ними.
В поле выбора, расположенном в верхней части страницы, указывается название библиотеки, структуру которой необходимо просмотреть. Для этого используется выпадающий список доступных библиотек, который выводится при нажатии кнопки, расположенной у правой границы поля выбора. Команды всплывающего контекстно-зависимого меню позволяют редактировать и удалять модули, входящие в состав выбранной библиотеки, перекомпилировать ее, а также создавать новые библиотеки. Страница Sim содержит подробную информацию об иерархической структуре проекта, для которого активизирован процесс моделирования. Эта информация может отображаться в сжатом или развернутом виде. Выбор формата отображения осуществляется с помощью команд всплывающего контекстно-зависимого меню. Кроме рассмотренных, в рабочей области могут присутствовать страницы, отражающие структуру открытых наборов данных.
В консольной области основного окна фиксируются выполняемые команды и все сообщения программы, которые появлялись в текущем сеансе работы пакета ModelSim. Кроме того, в нижней части этой области отображается командная строка, в начале которой указывается заголовок, соответствующий текущему режиму работы. Командная строка позволяет издавать команды управления, используя клавиатуру. Содержимое консольной области может быть сохранено в виде файла на диске. Сохраненные файлы далее могут использоваться в качестве макросов (командных файлов), вызываемых в последующих сеансах работы с программой.
В строке состояния, расположенной в нижней части основного окна, отображается информация о загруженном проекте, текущем времени и итерации моделирования, название выбранного элемента проекта.
Окно исходного кода (рис. 2) позволяет просматривать и редактировать текст HDL-описания выбранного элемента структуры проекта. Это окно автоматически открывается при активизации соответствующей строки в рабочей области основного окна пакета ModelSim и используется в процессе отладки описания выбранного элемента проекта.
Структура окна исходного кода, помимо стандартных элементов управления (строки меню и оперативной панели инструментов), включает панели. В левой панели отображаются номера строк исходного кода и условные обозначения, используемые в процессе отладки. Здесь содержится информация о точках прерывания, исполняемой строке кода и выбранном процессе. В правой панели содержится текст HDL-описания.
Окно Structure (рис. 3) представляет в иерархической форме информацию о структуре проекта и всех его элементов. Это окно фактически дублирует содержание аналогичной страницы в рабочей области основного окна ModelSim. При развернутой форме отображения в окне структуры содержится подробная информация обо всех HDL-элементах различного уровня иерархии проекта. Выделение элементов проекта в окне структуры влечет за собой отображение соответствующей информации в окнах исходного кода и сигналов.
Окно Variables (рис. 4) предназначено для контроля текущих значений переменных, параметров и констант выбранного процесса. Рабочая область этого окна содержит две панели. В левой панели отображаются названия переменных, параметров и констант, а в правой — их текущие значения. Для элементов составных типов (массивов или записей) используется иерархическая форма представления. Окно переменных предоставляет возможность оперативного изменения отображаемых значений в ходе отладки.
Окно Signals (рис. 5) используется для отображения текущего состояния сигналов (на момент завершения шага моделирования) в символьной форме. Структура этого окна, кроме стандартных элементов управления (строки меню, оперативной панели инструментов и строки состояния), включает две панели. Левая панель содержит список идентификаторов сигналов, соответствующих выделенному элементу в окне структуры проекта, а правая — их текущие значения. Сигналы составных типов (массивов или записей) отображаются в виде иерархической структуры, которая может быть представлена в сжатой или развернутой форме. Двойной щелчок левой копки мыши на названии сигнала открывает окно исходного кода, представляющее фрагмент описания, в котором объявляется этот сигнал.
Окно List (рис. 6) представляет результаты моделирования в табличной форме. Отображаемая здесь таблица разделена на две области. Левая область содержит последовательность дискретных отсчетов времени моделирования. Каждый столбец в правой области представляет значения сигнала или переменной в соответствующие моменты моделирования. В верхней части этой области отображаются полные названия сигналов с учетом иерархии проекта. Команды меню рассматриваемого окна позволяют сохранять результаты моделирования в текстовом виде в различных форматах.
Окно Process (рис. 7) предназначено для отображения списка процессов в выбранном структурном фрагменте проекта или запланированных для выполнения в текущем цикле моделирования. Команды меню View рассматриваемого окна определяют, по какому принципу формируется выводимый список процессов. Перед каждым элементом списка указано обозначение состояния, в котором находится соответствующий процесс. Возможны три варианта обозначений:
- <Ready> — соответствует состоянию процесса, выполнение которого планируется в текущем интервале времени;
- <Wait> — указывает на то, что процесс находится в состоянии ожидания изменения сигнала или указанного временного интервала;
- <Done> — соответствует состоянию процесса, завершившего выполнение оператора ожидания.
Окно временных диаграмм (рис. 8) используется для представления результатов моделирования в графическом виде. В рабочей области этого окна расположены три панели. Левая панель содержит список контролируемых сигналов. В средней панели указывается состояние сигналов в момент времени, который фиксируется положением курсора в панели временных диаграмм. В нижней части этой панели выводится значение времени моделирования, на котором установлен курсор. Правая панель отображает результаты моделирования в форме временных диаграмм. В нижней секции этой панели расположена ось времени моделирования. Управление масштабом изображения осуществляется с помощью инструментов, расположенных на оперативной панели, и команд меню Zoom этого окна. Для перемещения по временной оси следует использовать элементы прокрутки этой панели. Окно временных диаграмм предоставляет возможность измерения временных интервалов между моментами переключения сигналов, а также сохранять результаты моделирования в графической форме в виде файла на диске для последующего анализа и использования.
Окно Dataflow позволяет проследить «прохождение» выбранного сигнала в иерархической структуре проекта (рис. 9). Название анализируемого сигнала отображается в центре рабочей области окна. В левой части расположены названия процессов, которые формируют поведение сигнала, а в правой — названия процессов, которые используют этот сигнал в качестве входного, но не изменяют его.
Кроме того, рассматриваемое окно может использоваться для отображения информации о сигналах процесса, выделенного в окне Process (рис. 10). В этом случае в центре рабочей области окна располагается условный графический образ (УГО) выбранного процесса. Все сигналы, значения которых читаются в процессе, представлены в виде входов, располагающихся с левой стороны УГО, а сигналы, формируемые процессом, — в виде выходов, находящихся с правой стороны УГО.
В окне трассировки рядом с идентификаторами сигналов указываются их значения в момент времени, который зафиксирован положением курсора в окне временных диаграмм. При перемещении этого курсора окно Dataf low отслеживает изменение значений отображаемых сигналов.
Учитывая ограниченный объем журнальной статьи, автор на этом завершает описание основных характеристик пакета ModelSim и его графического интерфейса. В последующих публикациях будет рассмотрена методика моделирования при использовании этого пакета.
Литература
- Зотов В. WebPACK ISE — свободно распространяемый пакет проектирования цифровых устройств на базе ПЛИС фирмы Xilinx // Компоненты и технологии. 2001. No 6.
- Зотов В. WebPACK ISE: Интегрированная среда разработки конфигурации и программирования ПЛИС фирмы Xilinx. Создание нового проекта // Компоненты и технологии. 2001. No 7.
- Зотов В. Схемотехнический редактор пакета WebPACK ISE. Создание принципиальных схем и символов // Компоненты и технологии. 2001. No 8.
- Зотов В. Синтез, размещение и трассировка проектов, реализуемых на базе ПЛИС CPLD фирмы Xilinx, в САПР WebPACK ISE // Компоненты и технологии. 2002. No 1.
Валерий Зотов
|