SOPC Builder является программным приложением, входящим в состав системы автоматизированного проектирования Quartus II [5]. SOPC Builder представляет собой мощный инструмент, предназначенный для проектирования процессорных систем, реализуемых внутри кристаллов FPGA, производимых компанией Altera. Основой таких систем является процессор NIOS II, представленный в 4 части настоящего учебного пособия.
Традиционное проектирование систем на кристалле заключается в создании описания составных компонентов системы с использованием языков HDL (Hardware Description Language), а также модуля верхнего уровня, интегрирующего в себе все компоненты системы [2]. Для выполнения этой работы требуются проектировщики, обладающие высокой квалификацией, знающие языки HDL и имеющие достаточный опыт работы в этой области.
SOPC Builder автоматизирует процесс проектирования аппаратных средств системы[6]. Задача проектирования сводится к выбору необходимых компонентов системы из обширной библиотеки и настройки их параметров. Системные компоненты представляют собой IP (Intellectual Properties) ядра, разработанные компанией Altera, а также компаниями партнерами. Ядра написаны на языках HDL и являются параметризируемыми модулями. Причем настройка этих модулей выполняется пользователем в интерактивном режиме. Также допускается использование модулей, разработанных самим пользователем.
|
|
Таким образом, SOPC Builder через свой графический интерфейс дает пользователю возможность выбрать необходимые аппаратные компоненты создаваемой процессорной системы, настроить их параметры, после чего он выполняет внутренние соединения в системе, а при необходимости создает и внешние выводы. По сравнению с традиционными методами проектирования синтез завершенных систем на программируемом кристалле FPGA осуществляется за гораздо меньшее время. Он может быть выполнен даже пользователями, не знакомыми с языками описания аппаратуры.
Результатом работы SOPC Builder являются следующие файлы:
· HDL файлы описания каждого компонента системы, а также один файл описания системы на верхнем уровне иерархии;
· Файл Synopsis Design Constraint (.sdc), содержащий набор команд на языке задания временных ограничений и предназначенный для проведения последующего временного анализа проекта;
· Символьный файл (.bsf), содержащий условное графическое обозначение созданной системы и предназначенный для использования системы в проектах Quartus II;
· Файл с шаблоном вставки сгенерированной процессорной системы на языке VHDL в другие проекты;
· Спецификация процессорной системы в формате html, содержащая: внешние выводы системы, карту памяти и параметры каждого компонента процессорной системы;
|
|
· Функциональный тест для созданной системы и проектные файлы для приложения ModelSim, рекомендуемого в настоящее время компанией Altera для проведения функционального и временного моделирования проектов;
· Информационный SOPC файл (.sopcinfo), описывающий все компоненты системы, их соединения и параметры, и предназначенный для использования инструментами разработки программного обеспечения, в частности, при проектировании программных драйверов для устройств ввода/вывода SOPC системы;
· Quartus II IP файл (.qip), содержащий ссылки на все сгенерированные файлы, необходимые для САПР Quartus II.
После генерации системы, она становится доступна в проекте Quartus II для дальнейшей работы. Так, например, к процессорной системе могут быть подключены дополнительные устройства ввода/вывода и создан файл прошивки кристалла FPGA, как это описано в учебном пособии [5].
Приведенные в настоящем пособии экранные формы получены при использовании 11.0 версии SOPC Builder. В других случаях они могут несколько отличаться от приведенных.