Лекция №20 «Процесс компиляции и верификации проекта» - davaiknam.ru o_O
Главная
Поиск по ключевым словам:
страница 1
Похожие работы
Название работы Кол-во страниц Размер
Артист : dj bloodbeats 1 21.82kb.
Курс лекций москва 2006 Цели курса 5 Для кого предназначен этот курс? 34 2976.39kb.
Комплексная платформа функциональной верификации компании mentor... 1 143.21kb.
Лекция Финансовый анализ и экономическая оценка проекта 1 274.22kb.
Лекция №1 2 Лекция №2 8 Лекция №3. 13 Лекция №4 14 Лекция №24 Лекция... 1 316.74kb.
Развитие методического обеспечения проведения согласованных процедур... 3 487.26kb.
Лекция создана в ходе проекта «Информатизация системы образования» 1 42.53kb.
Лекция 4 Производственная функция 1 77.94kb.
Эволюционно стабильная информационная структура верификации программ... 1 107.53kb.
Лекция №1 от 24. 12. 02. Экономика и история Ксенофонт э искусство... 1 55.21kb.
Лекция Анализ и проектирование программного обеспечения. Анализ по 1 187.6kb.
Быстрый регионный компилятор системы двоичной трансляции для архитектуры 1 116.75kb.
Направления изучения представлений о справедливости 1 202.17kb.

Лекция №20 «Процесс компиляции и верификации проекта» - страница №1/1

Курс «Информационные технологии

в проектировании ЭВС»




Лекция №20

«Процесс компиляции и верификации проекта»

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

Компилятор применяет разнообразные способы повышения эффективности про­екта и минимизации использования ресурсов устройства. Если проект слишком боль­шой, чтобы быть реализованным в одной ПЛИС, компилятор может автоматически разбить его на части для реализации в нескольких устройствах того же самого семей­ства ПЛИС, при этом минимизируется число соединений между устройствами. В файле отчета (.rpt) затем будет отражено, как проект будет реализован в одном или не­скольких устройствах.

Кроме того, компилятор создает файлы программирования или загрузки, которые программатор системы MAX PLUS II или другой будет использовать для программи­рования одной или нескольких ПЛИС фирмы Altera.

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

Компиляцию можно запустить из любого приложения MAX PLUS II или из окна компилятора. Компилятор автоматически обрабатывает все входные файлы текущего проекта. Процесс компиляции можно наблюдать в окне компилятора.

Индикация процесса компиляции осуществляется следующим образом:


  • опустошаются и переворачиваются песочные часы, что указывает на активность компилятора;

  • один за другим высвечиваются прямоугольники модулей компилятора, по мере того как компилятор завершает каждый этап обработки;

  • под прямоугольником модуля компилятора появляется пиктограмма выходного файла, сгенерированного данным модулем. Для открытия соответствующего файла следует дважды щелкнуть левой кнопкой мыши на пиктограмме;

  • процент завершения компиляции постепенно увеличивается (до 100%), что от­ражается также растущим прямоугольником «градусник»;

  • во время разбиения и монтажа кнопка компилятора Stop (Стоп) превращается в кнопку Stop/Show Status (Стоп/Показать состояние), которую можно выбрать для открытия диалогового окна, в котором отражается текущее состояние раз­биения и монтажа проекта;

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

Компилятор способен работать в фоновом режиме. Можно уменьшить до миниму­ма окно компилятора, пока он обрабатывает проект, и продолжить работу над другими файлами проекта. Растущий прямоугольник «градусник» под пиктограммой умень­шенного окна компилятора позволяет наблюдать за продвижением процесса компиля­ции. Однако следует помнить, что такая роскошь, как многозадачная работа, возможна только на приличной машине.

Компилятор системы MAX PLUS II обрабатывает проект, используя следующие модули и утилиты:



  • Compiler Netlist Extractor (экстрактор списка цепей), включающий встроенные программы чтения форматов EDIF, VHDL, Verilog и XNF;

  • Database Builder (построитель базы данных);

  • Logic Synthesizer (логический синтезатор);

  • Partitioner (разделитель);

  • Fitter (трассировщик);

  • Functional SNF Extractor (экстрактор для функционального тестирования);

  • Timing SNF Extractor (экстрактор для тестирования временных параметров);

  • Linked SNF Extractor (экстрактор для тестирования компоновки);

  • EDIF Netlist Writer (программа записи выходного файла в формат EDIF);

  • Verilog Netlist Writer (программа записи выходного файла в формат Verilog);

  • VHDL Netlist Writer VHDL (программа записи выходного файла в формат VHDL);

  • Assembler (модуль ассемблера);

  • Design Doctor Utility (утилита диагностики проекта).


Верификация проекта
Для верификации проекта (см. рис.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 симулятор позволяет вам выполнить следующие задачи:



  • задать ожидаемые логические уровни на выходе, которые можно будет срав­нить с результатами тестирования;

  • смоделировать отдельные узлы или группы узлов (можно комбинировать биты цифрового автомата в проекте, моделировать их как группу и обращаться к ним по имени состояния);

  • определить временной интервал, представляющий собой дрожание фронта им­пульса или сбой, и проанализировать проект на наличие обоих этих условий или одного из них;

  • контролировать наличие в проекте нарушений начальных установок регистров и временных задержек;

  • регистрировать действительные значения выходов устройств вместо моделиро­ванных;

  • проводить функциональное тестирование (можно проверить, являются ли смо­делированные выходные значения функционально эквивалентными реальным выходам устройств);

  • задавать условия точки останова, которые заставляют симулятора делать паузу при их реализации в процессе тестирования;

  • составлять перечень имен и логических уровней любой комбинации узлов и групп и инициализировать логические уровни узла или группы улов перед тес­тированием;

  • инициализировать содержимое блоков памяти RAM (ОЗУ) или ROM (ПЗУ) пе­ред тестированием;

  • сохранять инициализированные значения узлов и групп, в том числе инициали­зированное содержимое памяти, в файле инициализации симулятора (.sif) или перезагружать инициализированные значения, хранящиеся в файле;

  • регистрировать команды симулятора в текстовом файле протокола испытаний (.log) того же формата, что и командный файл (.cmd), используемый при тести­ровании в автоматическом (пакетном) режиме, а затем использовать этот файл LOG для повторения этого цикла тестирования. Команды симулятора и полу­ченные результаты можно также записать в тестовый файл истории тестирова­ния с расширением *.hst.











Демократия — это когда власти уже не назначаются горсткой развращенных, а выбираются невежественным большинством. Джордж Бернард Шоу
ещё >>