Процесс разработки проекта для ПЛИС в пакете Actel Libero IDE. Часть IV

№ 1’2009
PDF версия
После того как проект синтезирован и отлажен, необходимо его имплементировать в ПЛИС — произвести размещение и трассировку проекта под конкретную микросхему и сгенерировать файл прошивки.

Все статьи цикла:

Запускаем Designer, нажав на кнопку Place&Route (рис. 1).

Рис. 1. Пакет Actel Designer
Рис. 1. Пакет Actel Designer

При первом запуске откроется панель мастера настройки, в окне которого надо будет выбрать микросхему, корпус, напряжение питания ядра ПЛИС, тип портов ввода/вывода по умолчанию. Если Designer запускается после корректировки проекта, то откроются окно пакета и панель добавления файлов в проект (рис. 2).

Рис. 2. Окно пакета и панель добавления файловв проект
Рис. 2. Окно пакета и панель добавления файлов
в проект

Проверьте, все ли требуемые файлы присутствуют в списке, и нажмите OK.

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

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

Пакет Designer имеет три группы инструментов для анализа результатов, задания ограничений, размещения и трассировки. Первая группа называется MultiView Navigator, она служит для анализа и задания физических параметров. Вторая, Smart Time, — для анализа и задания временных параметров. Третья группа включает в себя лишь один инструмент — Smart Power.

Рассмотрим более подробно инструменты каждой группы.

Инструменты MultiView Navigator, как правило, используются сравнительно редко.

Netlist Viewer позволяет просмотреть результирующую схему после компиляции в виде схемы (рис. 3).

Рис. 3. Netlist Viewer
Рис. 3. Netlist Viewer

Запустив Pin Editor, можно посмотреть физическое распределение цепей по выводам микросхемы и при необходимости его скорректировать (рис. 4).

Рис. 4. Pin Editor
Рис. 4. Pin Editor

ChipPlanner (рис. 5) позволяет просматривать результаты размещения и трассировки в ПЛИС, а также задавать регионы трассировки, переназначать логические ячейки и цепи. Корректировка трассировки вручную, особенно ПЛИС большого объема, — дело неблагодарное, и на практике практически не применяется. А вот что может представлять интерес для разработчиков, так это задание регионов трассировки. Особенно при работе над проектом команды. Регионы могут быть трех типов. Empty, в котором запрещено размещение любых сигналов и ячеек. Inclusive, в котором обязательно размещаются заданные элементы и сигналы, но могут размещаться и другие. Exclusive, в котором могут размещаться только указанные элементы и сигналы.

Рис. 5. ChipPlanner
Рис. 5. ChipPlanner

Для того чтобы задать регион, выберите пункт меню Region и в нем выберите тип требуемого региона (рис. 6). Затем левой клавишей мышки выделите требуемый регион. Если выбран тип Inclusive или Exclusive, то в меню Region выберите пункт Assign/Unassign, в открывшемся окне выберите требуемые элементы.

Рис. 6. Указание региона трассировки
Рис. 6. Указание региона трассировки

Последний инструмент этой группы — I/O Attribute Editor (рис. 7) — представляет сводную информацию по выводам микросхемы в виде таблицы и позволяет задавать или корректировать параметры цепей портов ввода/ вывода, такие как номер вывода соответствующего сигнала, стандарт, нагрузочная способность, наличие подтягивающего резистора и т. д.

Рис. 7. I/O Attribute Editor
Рис. 7. I/O Attribute Editor

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

Рис. 8. Timing Analyzer
Рис. 8. Timing Analyzer

Timing Analyzer (рис. 8) предоставляет большие возможности по временному анализу цепей. Он выводит информацию о прогнозируемой максимальной частоте после компиляции и результирующей после трассировки по каждой цепи, которые были заданы в качестве тактовых, а также выдает информацию о критических цепях, задержки в которых близки или превышают заданные. Можно проанализировать временные параметры выбранных цепей или типов сигналов, например задержки от выхода регистра до порта или между двумя регистрами. Можно анализировать максимальные или минимальные задержки.

Рис. 9. Constraints Editor
Рис. 9. Constraints Editor

С помощью Constraints Editor (рис. 9) можно задавать временные ограничения для трассировки, в том числе графическим способом.

Для правильной работы трассировщика в первую очередь необходимо задать значения частот всех тактовых цепей, если они не были заданы в файле ограничений в проекте. Для этого выберите в меню пункт Action и в пункте Constraint — подпункт Clock (рис. 10). В открывшейся панели в окне Clock Source выберите тактовую цепь и введите в соответствующих окнах значения частоты или периода. Можно также изменить скважность сигнала. Нажмите ОК. Повторите вышеописанную процедуру для всех тактовых цепей.

Рис. 10. Окно задания параметров тактовых цепей
Рис. 10. Окно задания параметров тактовых цепей

Кроме этого, Constraints Editor позволяет задавать большое число ограничений, как для отдельных сигналов, так и для групп. Можно, например, задавать значения минимальной или максимальной задержки по входу (рис. 11) или выходу, задавать минимальные или максимальные задержки для определенных цепей, задавать анализ задержки не каждый такт частоты, а через определенное значение тактов и многое другое.

Рис. 11. Окно установки задержки сигнала по входу
Рис. 11. Окно установки задержки сигнала по входу

После того как были заданы все необходимые параметры и ограничения, производим размещение и трассировку проекта в ПЛИС. Для этого нажмите на кнопку Layout. Откроется панель настройки (рис. 12).

Рис. 12. Панель настройки трассировки
Рис. 12. Панель настройки трассировки

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

После того как трассировка успешно завершена, можно сгенерировать файл прошивки или произвести настройку оптимизации по потреблению.

Для оптимизации по потреблению мощности предусмотрен специальный инструмент Smart Power (рис. 13). Оптимизация по потреблению мощности — более сложная процедура, нежели оптимизация по потреблению, и рассказать о ней в рамках данной статьи не представляется возможным. Поэтому ограничимся кратким описанием.

Рис. 13. Панель Smart Power
Рис. 13. Панель Smart Power

Основным принципом оптимизации является анализ потребления отдельных групп потребления микросхемы, таких как статическое и динамическое потребление матрицы ПЛИС, интегрированной памяти, портов ввода/вывода и т. д. не только в активном, но и во всех режимах работы микросхемы (статическом, спящем, сверхмалого потребления Flash*Freeze для ПЛИС IGLOO и ProASIC3L), и составления сценария работы микросхемы во времени. После определения влияющих на потребление элементов и производится настройка оптимизации. В том числе за счет уменьшения быстродействия.

Для получения файла прошивки нажмите на кнопку Programming File в окне процесса Designer. На открывшейся панели (рис. 14) для семейств Flash-ПЛИС можно выбрать, что будет программироваться — матрица ПЛИС, интегрированное Flash-ПЗУ или и то и другое, а также можно выбрать состояние выводов микросхемы в процессе программирования.

Рис. 14. Получение файла прошивки
Рис. 14. Получение файла прошивки

Программирование Flash-ПЗУ пока не рассматриваем, поэтому оставляем настройки по умолчанию и нажимаем Finish. В открывшемся окне настройки файла программирования нажимаем Generate.

После трассировки можно проверить работоспособность прошивки в симуляции. Для этого необходимо выполнить обратную операцию — получение из файла трассировки файл RTL-модели с реальными временными задержками. Нажмите на кнопку BackAnnotate и на открывшейся панели нажмите ОК. После завершения генерации файлов закрываем Designer и возвращаемся в Libero IDE, в окне Project Flow запускаем симуляцию, нажав на кнопку Simulation. Если симуляция завершена успешно, переходим к программированию и отладке на плате.

*Процесс разработки проекта для ПЛИС в пакете Actel Libero IDE. Часть V

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *