Главная страница  Автономные управляющие системы 

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 [ 18 ] 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40

Рйс. 2.26. Процесс компиляции


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

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

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

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

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

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

- экстрактор списка цепей (Compiler Netlist Extractor), включающий встроенные программы чтения форматов EDIE VHDL, Veniog и XNR

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

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

- разделитель (Partitloner),

- трассировщик (Fitter),

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

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

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

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

- программа записи выходного файла в формат Veniog (Veniog Netlist Writer),

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

- модуль ассемблера (Assembler),

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

Модуль экстрактора форматов (Compiler Netlist Extractor) преобразует каждый файл проекта в один или несколько двоичных файлов с расширением .cnf. (compiler netlist file) Поскольку компилятор подставляет значения всех параметров, используемых в параметризованных функциях, содержимое файла CNF может меняться при последовательной компиляции, если значения параметров меняются. Данный модуль создает также файл иерархических взаимосвязей (.liif) (hierarchy interconnect file), в котором документируются иерархические связи между файлами проекта, а также содержится информация, необходимая для показа иерархического дерева проекта в окне Hierarchy Display Кроме того, данный модуль создает файл базы данных узлов (.ndb) (node database), в котором содержатся имена узлов проекта для базы данных назначений ресурсов Встроенные программы чтения форматов EDIF, VHDL, Verilog и XNF автоматически транслируют информацию проекта в файлы соответствующих форматов ,edf, .vlid, .v, .xnf, в формат, совместимый с системой МАХ PLUS II Программа чтения формата EDIFo6pa6a-тывает входные файлы EDIF с помощью библиотечных файлов .imf, (library mapping file) которые устанавливают соответствие между логическими функциями, разработанными в других САПР, и функциями системы МАХ PLUS II. Программа чтения формата XNF может создавать файл для экспорта текстового дизайна (.tdx)(text design export file), который содержит информацию на языке AHDL, которая эквивалентна той, что содержится в файле формата XNF (.xnf), это делается для того, чтобы редактировать проект на языке AHDL

Модуль построителя базы данных (Database Builder) использует файл иерархических связей HIF для компоновки созданных компилятором файлов CNF, в которых содержится описание проекта На основании данных об иерархической структуре проекта данный модуль копирует каждый файл CNF в одну базу данных без иерархической структуры Таким образом, эта база данных сохраняет электрическую связность проекта

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



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

Первый раз, когда компилятор обрабатывает проект, все файлы проекта компилируются Вы можете использовать возможность быстрой повторной компиляции (smart recompile) для создания расширенной базы данных проекта, которая помогает ускорить последующие компиляции Эта база данных позволяет вам изменить назначения ресурсов физического устройства, такие, как назначения выводов и логических элементов, а также повторно компилировать проект без повторного построения базы данных и повторного синтеза логики проекта. Используя возможность полной повторной компиляции (total recompile), возможно сделать выбор между повторной компиляцией только тех файлов, которые редактировались после последней компиляции, и полной повторной компиляцией всего проекта

Модуль логического синтезатора (Logic Synthesizer) применяет ряд алгоритмов, которые уменьшают использование ресурсов и убирают дублированную логику, обеспечивая тем самым максимально эффективное использование структуры логического элемента для архитектуры целевого семейства устройств Данный модуль компилятора применяет также способы логического синтеза для требований пользователя по временным параметрам и др Кроме того, логический синтезатор ищет логику для несоединенных узлов. Если он находит неприсоединенный узел, он убирает примитивы, относящиеся к этому узлу

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

В любом приложении МАХ PLUS II можно ввести значения временных параметров проекта и выбрать логические опции, а также определить стили логического синтеза Вы можете задать глобальный логический синтез по умолчанию и временные параметры проекта для всего проекта в целом, а также все дополнительные назначения логических опций и временных параметров проекта и для отдельных логических функций

Если проект не помещается при монтаже в одно устройство, модуль Partitioner (разделитель) разделяет базу данных на несколько ПЛИС одного и того же семейства, стараясь при этом разделить проект на минимально возможное число устройств Разбиение проекта происходит по границам логических злементов, а число выводов, используемое для сообщения между устройствами минимизируется

Разбиение может быть проведено полностью автоматически либо под частичным или полным управлением со стороны пользователя Назначения устройств и установки для автоматического выбора устройств позволяют применить тот уровень управления, который наиболее подходит для конкретного проекта

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

Используя базу данных, обновленную модулем разбиения, модуль трассировки (Fitter) приводит в соответствие требования проекта с известными ресурсами одно! о или нескольких устройств Он назначает каждой логической функции расположение реализующего ее логического элемента и выбирает соответствующие пути

взаимных соединений и назначения выводов. Данный модуль пытается согласовать назначения ресурсов, т е. выводов, логических элементов, элементов ввода/вывода, ячеек памяти, чипов, клик, устройств, местной трассировки, временных параметров и назначения соединенных выводов из файла назначений и конфигурации (.act) (Assignment & Configuration file), с имеющимися ресурсами Модуль имеет параметры, позволяющие определить способы трассировки, например автоматическое введение логических элементов или ограничение коэффициента объединения по входу Если трассировка не может быть выполнена, модуль выдает сообщение и предлагает Вам выбор, проигнорировать некоторые или все Ваши назначения либо прекратить компиляцию

Независимо от того, завершена ли полная трассировка проекта, данный модуль генерирует файл отчета (.rpt) (report file), в котором документируется информация о разбиении проекта, именах входных и выходных контактов, временных параметрах проекта и неиспользованных ресурсах для каждого устройства в проекте Вы можете включить в файл отчета разделы, показывающие назначения пользователя, файловую иерархию, взаимные соединения логических элементов и уравнения, реализованные в ЛЭ

Компилятор также автоматически создает файл трассировки (.fit), в котором документируются назначения ресурсов и устройств для всего проекта, а также информация о трассировке Независимо от того, успешно ли прошла трассировка, пользователь может просмотреть информацию о согласовании, разбиении и трассировки из файла согласования в окне поуровневого планировщика Возможно также переписать назначения из файла согласования 8 файл назначений и конфигурации ACF для последующего редактирования

Существует возможность дать указание модулю трассировщика (Fitter) сгенерировать выходные текстовые файлы проекта на языке AHDL (.tdo) Поскольку в проекте с несколькими устройствами для одного устройства генерируется один файл, следует разбить проект на несколько проектов, каждый для одного устройства, если требуется зафиксировать логику в некоторых устройствах, затем сохранить файл TDO для этого устройства как файл текстового дизайна (.tdf) и перекомпилировать логику для этого устройства, при этом сохраняя результаты логического синтеза, полученные в ходе предыдущей компиляции

Экстрактор для функционального тестирования (Functional SNF Extractor) создает файл для функционального тестирования (.snf) Компилятор генерирует этот файл перед синтезом проекта, позтому он содержит все узлы присутствующие в первоначальных файлах проекта Этот функциональный файл SNF не содержит информации о временных параметрах Его генерация возможна только а случае, если компиляция проекта прошла без ошибок

Экстрактор для тестирования временных параметров (Timing SNF Extractor) создает (если компиляция проекта прошла без ошибок) файл для тестирования временных параметров (.snf), который содержит данные о временных параметрах проекта Кроме того, эти файлы SNF используют также модули компилятора, содержащие программы записи в форматы EDIF, Verilog и VHDL, генерирующие выходные файлы этих форматов и также (по желанию пользователя) выходные файлы формата стандартных задержек (.sdo) (standart delay format output file)

Можно заставить компилятор сгенерировать оптимизированный файл SNF с помощью команды processing Дт1пд SNF Extractor Оп-



химизация файла SNF увеличивает время компиляции, но помогает сэкономить ваше время при тестировании и анализе временных параметров

Экстрактор для тестирования компоновки (LInkBd SNF Extractor) создает файл (.snf) для тестирования компоновки нескольких проектов (на уровне платы). Такой файл SNF комбинирует информацию из файлов SNF двух типов для тестирования временных параметров и функционального тестирования, которые были сгенерированы для этих нескольких проектов по отдельности Скомпонованные проекты могут использовать устройства, принадлежащие разным семействам Если файл для тестирования компоновки содержит только информацию о временных параметрах, его можно также использовать при прогоне анализа временных параметров

Программа записи в формат EDIF (EDIF Netlist Writer). Компилятор MAX PLUS II может взаимодействовать с большинством стандартных программных средств САПР, которые могут читать файлы стандартного формата EDIF 200 или 300 Данный (необязательный) модуль компилятора, содержащий программу записи в формат EDIF, создает один или несколько выходных файлов в формате EOIF (.edo), содержащих информацию о функциях и (необязательно) временных параметров, полученную после проведения синтеза Информация о временных параметрах может быть также записана в отдельные выходные файлы формата стандартной задержки (.sdo)

Программа записи в формат (Verilog Verilog Netlist Writer).

Необязательный модуль программы записи в формат Verilog генерирует выходные файлы с расширением .vo, содержащие информацию о функциях и временных параметрах, полученную после проведения синтеза Информация о временных параметрах может быть также записана в отдельные выходные файлы формата стандартной задержки (.sdo)

Программа записи в формат VHDL (VHDL Netlist Writer VHDL). Необязательный модуль компилятора с программой записи в формат VHDL генерирует один или несколько выходных файлов (.vho) на языке VHOL с синтаксисом 1987 или 1993, содержащих информацию о функциях и (необязательно) временных параметрах, полученную после проведения синтеза Информация о временных параметрах может быть также записана в отдельные выходные файлы формата стандартной задержки (.sdo)

Выходные файлы на языках описания аппаратуры можно использовать при верификации проекта с использованием внешнего симулятора Эти файлы генерируются только в случае успешной компиляции проекта

Модуль ассемблера (Assembler). Модуль ассемблера преобразует назначения логических элементов, выводов и устройств, сделанные модулем трассировки Fitter, в программный образ для устройства (устройств) в виде одного или нескольких двоичных объектных файлов для программатора (.pof) или объектных файлов SRAM (.sof), для некоторых устройств компилятор также генерирует ASCII-файлы JEDEC (jed), содержащие информацию для программатора, конфигурационные ASCII-файлы (.ttf) и ASCII-файлы формата Intel (.1ех).0бъектные файлы POF и SOF, а также конфигурационные файлы JEDEC затем обрабатываются программатором системы МАХ PLUS II и программирующей аппаратурой фирмы Altera (или другим программатором) Файлы HEX и TTF могут быть использованы для конфигурирования устройств FLEX 6000, FLEX 8000 и FLEX 10K с помощью других средств Модуль ассемблера создает файлы для программатора только в случае успешной компиляции проекта

После завершения компиляции компилятор и программатор системы МАХ PLUS II позволяют сгенерировать дополнительные файлы для программирования устройства, которые можно использовать в других условиях программирования. Например, можно создать файлы с последовательным потоком битов (.bbs) и необработанные двоичные файлы (.rbf) для конфигурирования устройств FLEX 6000, FLEX 8000 и FLEX 10К. Можно создать последовательные файлы тестовых векторов (.svf) или файлы на языке JAM (.jam) для программирования устройств в автоматизированной испытательной аппаратуре типа ATE.

Утилита диагностики проекта (Design Doctor Utility). Необязательная утилита диагностики проекта проверяет логику каждого файла проекта для выявления элементов, которые могут вызвать проблемы надежности на системном уровне. Эти проблемы обычно обнаруживаются только после запуска устройства в железе Существует возможность выбора одного из трех предварительно определенных наборов правил разработки проекта с разными уровнями Кроме того. Вы можете разработать свой собственный свод правил разработки дизайна.

Правила разработки дизайна основываются на принципах надежности, которые охватывают логику, содержащую асинхронные входы, залповые тактовые сигналы (Clock), многоуровневую логику на конфигурациях с сигналами Clock, Preset и Clear, а также в условиях состязаний. Установка правил проверки производится с помощью команды Design Doctor Settings (Рис. 2.27).

Рис. 2.27. Окно команды Design Doctor Settings

Design Doctor Setti... 0

Design Rules - - -.-- -. Г EPLD Rules .il - г

- Г Custom RCileV

Advanced Oplions- -

-OK-llgancel

2.5. ВЕРИФИКАЦИЯ ПРОЕКТА

Для верификации проекта (Рис. 2.28) в системе МАХ PLUS II используются три приложения симулятор (Simulator), анализатор временных параметров (Timing Analyzer) и сигнальный редактор (Waveform Editor)

Симулятор (Simulator)

Симулятор системы МАХ PLUS II тестирует логические операции и внутреннюю синхронизацию проекта, позволяя пользователю моделировать проект Симулятор может работать как в диалоговом или автоматическом (пакетном) режимах Окно симулятора показано на Рис. 2.29

Перед тестированием проект необходимо скомпилировать, задав компилятору опцию сгенерировать файл (.snf) для функционального тестирования, тестирования временных параметров,



1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 [ 18 ] 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40

© 2000 - 2021 ULTRASONEX-AMFODENT.RU.
Копирование материалов разрешено исключительно при условии цититирования.