страница 1 |
|||||||||||||||||||||||||||||||||||||||||||
Похожие работы
|
Лекция №20 «Процесс компиляции и верификации проекта» - страница №1/1
![]() Курс «Информационные технологиив проектировании ЭВС»Лекция №20«Процесс компиляции и верификации проекта»В процессе компиляции компилятор извлекает информацию об иерархических связях между файлами проекта и проверяет проект на простые ошибки ввода описаний. Он создает организационную карту проекта и затем, комбинируя все файлы проекта, превращает их в базу данных без иерархии, которую может эффективно обрабатывать. Компилятор применяет разнообразные способы повышения эффективности проекта и минимизации использования ресурсов устройства. Если проект слишком большой, чтобы быть реализованным в одной ПЛИС, компилятор может автоматически разбить его на части для реализации в нескольких устройствах того же самого семейства ПЛИС, при этом минимизируется число соединений между устройствами. В файле отчета (.rpt) затем будет отражено, как проект будет реализован в одном или нескольких устройствах. Кроме того, компилятор создает файлы программирования или загрузки, которые программатор системы MAX PLUS II или другой будет использовать для программирования одной или нескольких ПЛИС фирмы Altera. Несмотря на то что компилятор может автоматически компилировать проект, существует возможность задать обработку проекта в соответствии с точными указаниями разработчика. Например, можно задать стиль логического синтеза проекта по умолчанию и другие параметры логического синтеза в рамках всего проекта. Кроме того, удобным будет задать временные требования в рамках всего проекта, точно задать разбиение большого проекта на части для реализации в нескольких устройствах и выбрать варианты параметров устройств, которые будут применены для всего проекта в целом. Вы можете также выбрать, сколько выводов и логических элементов должно быть оставлено неиспользованными во время текущей компиляции, чтобы зарезервировать их для последующих модификаций проекта. Компиляцию можно запустить из любого приложения MAX PLUS II или из окна компилятора. Компилятор автоматически обрабатывает все входные файлы текущего проекта. Процесс компиляции можно наблюдать в окне компилятора. Индикация процесса компиляции осуществляется следующим образом:
Компилятор способен работать в фоновом режиме. Можно уменьшить до минимума окно компилятора, пока он обрабатывает проект, и продолжить работу над другими файлами проекта. Растущий прямоугольник «градусник» под пиктограммой уменьшенного окна компилятора позволяет наблюдать за продвижением процесса компиляции. Однако следует помнить, что такая роскошь, как многозадачная работа, возможна только на приличной машине. Компилятор системы MAX PLUS II обрабатывает проект, используя следующие модули и утилиты:
Верификация проекта Для верификации проекта (см. рис.2.58) в системе MAX PLUS II используются три приложения: симулятор (Simulator), анализатор временных диаграмм (Timing Analyzer) и сигнальный редактор (Waveform Editor). Симулятор (Simulator) Симулятор системы MAX PLUS II тестирует логические операции и внутреннюю синхронизацию проекта, позволяя пользователю моделировать проект. Симулятор может работать как в диалоговом, так и автоматическом (пакетном) режимах. Окно симулятора показано на рис.2.59. Перед тестированием проект необходимо скомпилировать, задав компилятору опцию сгенерировать файл (.snf) для функционального тестирования, тестирования временных параметров либо тестирования компоновки нескольких проектов (устройств). Затем полученный для текущего проекта файл SNF загружается автоматически при открытии симулятора. В качестве источника входных векторов используется либо графический сигнальный файл каналов тестирования (.scf), либо текстовый ASCII-файл (.vec). Для проектов, работающих с памятью, можно задать некоя исходное содержимое памяти в файлах шестнадцатеричного формата (Intel) с расширением *.hex или в файлах инициализации памяти с расширением *.mif. Сигнальный редактор позволяет автоматически создавать файл SCF по умолчанию, который пользователь может редактировать с целью получения нужных ему тестовых входных векторов. Если вместо этого используется текстовый ASCII-файл векторов, сигнальный редактор автоматически генерирует из него файл каналов тестирования SCF (simulator chanel file). Симулятор позволяет проверить выходные значения, получаемые в ходе тестирования, по выходам, содержащимся в файле SCF (заданным пользователем прогнозируемым значениям или результатам предыдущих тестов). С помощью соответствующей аппаратуры для программирования можно также выполнить функциональное тестирование для проверки действительных значений выходов программируемого устройства по результатам тестирования.
Используя различные опции симулятора, можно контролировать проект на появление сбоев (glitches), а также нарушение установочных параметров и временных задержек. После завершения тестирования можно открыть сигнальный редактор для просмотра обновленного файла SCF или сохранить полученные выходные значения в табличном файле с расширением *.tbl, а затем просмотреть результаты в текстовом редакторе.
Если компилятору «дано задание» сгенерировать файл SNF для функционального тестирования, он создает его перед синтезом проекта. Следовательно, при функциональном тестировании можно смоделировать все узла проекта. Во время функционального тестирования симулятор игнорирует все задержки распространения. Поэтому в файле SNF для функционального тестирования нет задержек, выходные логические уровни изменяются одновременно с входными векторами.
Компилятор генерирует файл SNF для тестирования временных параметров после того, как проведены полный синтез и оптимизация проекта. Поэтому этот файл содержит только те узлы, которые не были уничтожены в процессе логического синтеза. Из этого файла симулятор берет информацию об аппаратной части, которая была собрана из файлов моделей устройств (.dmf), имеющихся в комплекте системы МАХ PLUS II. Если проект был разбит на несколько устройств, компилятор создает файл SNF для проекта в целом и для каждого устройства. Однако тестирование временных параметров осуществляется только для проекта в целом. Можно ускорить тестирование временных параметров, выдав компилятору указание сгенерировать оптимизированный файл SNF, содержащий динамические модели, которые представляют собой разные типы комбинаторной логики. Процессорное время компилятора при этом увеличивается, однако полученный оптимизированный SNF позволяет уменьшить время тестирования, поскольку симулятор может работать с динамическими моделями вместо того, чтобы интерпретировать всю логику в комбинаторной схеме. При создании файла SNF для тестирования компоновки нескольких проектов компилятор комбинирует файлы SNF для функционального тестирования и/или файлы для тестирования временных параметров нескольких отдельных проектов. Отдельные подпроекты в компоновочном SNF могут быть предназначены для устройств разных семейств/Кроме того, поскольку файлы SNF для функционального тестирования создаются до окончания полной компиляции, можно ввести подпроекты, которые представляют логику, не реализованную в устройстве фирмы Altera. Компоновочный файл SNF можно использовать для тестирования на уровне платы. Кроме того, если он содержит только информацию о временных параметрах, его можно применять для прогона временного анализатора системы MAX PLUS II. Вместе с другими приложениями системы MAX PLUS II симулятор позволяет вам выполнить следующие задачи:
|
ещё >> |