WebPack 1$Е -
свободно распространяемый пакет проектирования цифровых устройств на базе ПЛИС фирмы ХШпх
Программируемые логические интегральные схемы (ПЛИС) все более широко используются для создания цифровых систем различного назначения. Фирма ХШпх®, являясь ведущим мировым производителем ПЛИС, предоставляет разработчикам широкий спектр кристаллов с различной технологией производства, степенью интеграции, архитектурой, быстродействием, потребляемой мощностью и напряжением питания, выпускаемых в различных типах корпусов и в нескольких вариантах исполнения, включая промышленное, военное и радиационно-стойкое [1-5].
Валерий Зотов
Кристаллы, выпускаемые фирмой Xilinx, в полной мере реализуют преимущества ПЛИС по сравнению с «жесткой логикой»:
• высокое быстродействие;
• возможность перепрограммирования непосредственно в системе;
• высокая степень интеграции, позволяющая разместить цифровое устройство в одном кристалле и тем самым снизить время и затраты на трассировку и производство печатных плат;
• сокращение времени цикла разработки и производства устройства;
• наличие мощных инструментов САПР, позволяющих устранить возможные ошибки в процессе проектирования устройства;
• сравнительно низкая стоимость (в пересчете на один логический вентиль);
• возможность последующей реализации проектов ПЛИС для серийного производства в виде заказных СБИС, что позволяет значительно снизить их себестоимость.
До недавнего времени, несмотря на все достоинства ПЛИС Xilinx, существовало обстоятельство сдерживающее их применение (особенно недорогих кристаллов при разработке несерийных устройств) — необходимость дополнительных затрат на приобретение пакета программных средств проектирования и программирования. Чтобы устранить это препятствие, фирма Xilinx предоставила разработчикам возможность использовать бесплатное программное обеспечение — пакет WebPACK™ ISE™ (Integrated Synthesis Environment). Цель настоящей публикации — познакомить разработчиков цифровых устройств с возможностями САПР WebPACK ISE и основами методики выполнения проектов в среде данного пакета.
Основные характеристики пакета WebPACK ISE
Программные средства WebPACK ISE представляют собой систему сквозного проектирования, которая реализует все этапы создания цифрового устройства на базе ПЛИС, включая программирование кристалла: разработка проекта, синтез, моделирование, трассировка и загрузка в кристалл. Версия 3.3WP8.0 САПР WebPACK ISE предназначена для проектирования цифровых устройств на базе ПЛИС производства Xilinx, относящихся как семействам CPLD: XC9500,
XC9500XL, XC9500XV, XCR22V10, XCR3000 (XPLA1_3, XPLA2), XCR3000XL (XPLA3), XCR5000 (XPLA1_5), так и FPGA: Spartan™-II, Virtex™-E (только кристалл XCV300E), Virtex-II (кристаллы 2V40, 2V80 и 2V250). Отличительные особенности пакета:
• поддержка различных методов описания проектируемых устройств (графических и текстовых);
• возможность использования проектов, подготовленных в других системах проектирования, в том числе в среде пакета Altera MAX+PlusII™;
• наличие схемотехнического редактора, укомплектованного набором обширных библиотек;
• интеллектуальные средства создания HDL (Hardware Description Language)-описаний, формирующие шаблоны на основании информации, предоставляемой пользователем, для языков описания аппаратуры VHDL, Verilog™ и ABEL™ HDL;
• высокоэффективные средства синтеза HDL-проектов, поддерживающие языки VHDL, Verilog и ABEL HDL, с возможностью оптимизации;
• развитые средства верификации проекта, позволяющие сократить полное время разработки устройства за счет обнаружения возможных ошибок на более ранних стадиях проектирования и сокра-
щения длительности и количества возможных итераций;
• автоматические средства трассировки проекта в кристаллы различных семейств ПЛИС Xilinx с учетом оптимизации проекта по различным параметрам;
• средства программирования кристаллов семейств ПЛИС Xilinx, выполненных по различной технологии (CPLD и FPGA), поддерживающие несколько типов загрузочных кабелей JTAG-интерфейса;
• удобный для разработчика пользовательский интерфейс и наличие в каждом модуле пакета справочной системы, сокращающие время освоения САПР;
• наличие интегрированного с пакетом САПР набора инструментов и утилит других фирм, предоставляющих дополнительные удобства в процессе проектирования, включающего утилиту генерации тестовых сигналов HDL Bencher™, программу моделирования ModelSim XE Starter™ и редактор диаграмм состояний StateCAD™.
Установка пакета WebPACK ISE
Для получения программного обеспечения WebPACK ISE необходимо зарегистрироваться на web-сайте ww w. xilinx.c om. После регистрации следует выполнить процедуру копирования модулей пакета на ПК, который будет использован для развертывания САПР. Пакет работает под управлением операционных систем Windows 98, Windows NT 4.0, Windows 2000. Требования, предъявляемые к аппаратным ресурсам ПК, следующие: процессор — не ниже Pentium 75 МГц; ОЗУ — не менее 16 Мбайт; размер свободного пространства на жестком диске для установки WebPACK ISE в полном объеме должен составлять не менее 350 Мбайт; для последующей работы с пакетом необходимо не менее 60 Мбайт.
Дистрибутив пакета выполнен в виде набора модулей, каждый из которых представляет собой самораспаковывающийся архив. После копирования следует поочередно запустить на выполнение каждый из полученных файлов. По окончании распаковки каждого архива автоматически запускается программа установки соответствующих модулей. Пользователь должен последовательно выполнить все инструкции каждой программы инсталляции. Следует обратить внимание на то, что после установки программы моделирования ModelSim XE Starter следует получить файл лицензии. Для этого необходимо запустить программу Licensing Wizard, которая соберет необходимую для получения лицензионного кода информацию об используемом ПК. Файл с этой информацией должен быть отправлен по электронной почте. Если ПК разработчика подключен к Интернету, то возможна регистрация в режиме online.
Пользовательский интерфейс пакета WebPACK ISE
Управляющая оболочка пакета WebPACK ISE Навигатор проекта (Project Navigator™) предоставляет пользователю удобный интер-
фейс для работы с проектом и управления всеми процессами проектирования и программирования ПЛИС. Запуск всех необходимых программных модулей пакета осуществляется непосредственно в среде Навигатора проекта. Основное окно Навигатора проекта (рис. 1) помимо стандартных элементов управления (основного меню и оперативной панели управления) содержит четыре встроенных окна:
• окно исходных модулей (файлов) проекта (Sources in Project);
• окно необходимых процедур (процессов) для выбранного исходного модуля проекта (Processes for Current Source);
• окно консольных сообщений программных модулей (Console);
• окно редактора текстовых HDL-описаний проекта.
i i —■■■ т .1----------т ■■■—«h=^^^»ZZ¡
I * Н+ » - ^ н- *— — *Ля.
>«■ I ш I* ” ■ ■ *
<=л_ -Ч Ч 1—1 * - J l _ 1 * - —» - —• щ
НЛЙ
—■ i|^ 'JT- ?"
Рис. 1. Основное окно Навигатора проекта пакета WebPACK ISE
В окне исходных модулей (файлов) проекта отображается иерархическая структура, состоящая из модулей (файлов), в которых содержится описание проектируемого устройства в графической или текстовой форме, а также описание тестовых воздействий, используемых в процессе моделирования. Каждый тип модуля имеет соответствующее графическое обозначение — пиктограмму.
Окно необходимых процедур (процессов) показывает маршрут обработки выделенного исходного модуля в процессе проектирования устройства. Таким образом, в данном окне подробно отображаются все этапы процесса разработки и программирования ПЛИС, делая последний «прозрачным» для пользователя САПР. Последовательность и содержание этапов определяется типом исходного модуля и семейством ПЛИС. Навигатор проекта автоматически показывает в окне процедур (процессов) структуру процесса проектирования, соответствующую выбранному семейству ПЛИС, исключая тем самым возможные ошибки в последовательности действий разработчика. В этом же окне указывается информация о дополнительных инструментах, которые могут быть использованы на каждом этапе.
Окно консольных сообщений предназначено для вывода информации программных модулей пакета, работающих в консольном режиме. Ряд программных модулей пакета WebPACK ISE, как, например, программы трансляции, синтеза, автоматической трассировки, являются консольными приложения-
ми, то есть не создают собственных окон. Чтобы информация о ходе выполнения этих программ была доступна разработчику непосредственно в процессе работы с проектом, она отображается в окне консольных сообщений Навигатора проекта.
Окно интегрированного текстового редактора становится активным, если для проектируемого устройства или используемых библиотек выбран способ описания на языке HDL.
Этапы проектирования цифровых устройств на базе ПЛИС Xilinx
В процессе создания цифровых устройств на базе ПЛИС Xilinx можно выделить следующие этапы:
• создание нового проекта (выбор семейства и типа ПЛИС, а также средств синтеза);
• подготовка описания проектируемого устройства в схемотехнической, алгоритмической или текстовой форме;
• синтез устройства;
• функциональное моделирование;
• трассировка проекта в кристалл;
• временное моделирование;
• программирование ПЛИС (загрузка проекта в кристалл).
Исходная информация о проектируемом устройстве может быть представлена в виде принципиальных схем, описаний на языке HDL, диаграмм состояний и библиотек пользователя. В процессе синтеза на основании исходных модулей проекта формируется список цепей, который далее используется в качестве исходных данных средствами трассировки. Функциональное моделирование устройства производится без учета реальных значений задержек прохождения сигналов и позволяет проконтролировать соответствие выходных сигналов алгоритмам работы проектируемого устройства. На этапе трассировки проекта в кристалл производится распределение выполняемых функций в конфигурируемые логические блоки CLB (Configurable Logic Block) или макроячейки Macrocell, в зависимости от используемого семейства ПЛИС, и формирование необходимых связей в кристалле. В процессе трассировки проекта в кристалл также определяются реальные значения задержек распространения сигналов, которые необходимы для полного (временного) моделирования устройства. Основным результатом этапа трассировки является формирование файла, в котором содержится информация о конфигурации ПЛИС, реализующей проектируемое устройство. Завершением процесса разработки цифрового устройства является загрузка конфигурационных данных в кристалл с помощью соответствующих программ и загрузочного кабеля.
Следует обратить внимание на то, что этапы функционального и временного моделирования не являются обязательными. Пренебрегать этими этапами, однако, не рекомендуется, так как высокоэффективные средства моделирования пакетов САПР Xilinx позволяют обнаружить большинство возможных ошибок и тем самым значительно сократить
общее время разработки устройства. При обнаружении ошибок на любом из этапов (например, логических ошибок на этапе функционального моделирования или при получении неудовлетворительных результатов временного моделирования) следует вернуться на стадию разработки исходных описаний проекта, внести необходимые изменения и повторить последующие этапы.
Далее кратко рассматривается поэтапный процесс создания цифрового устройства в среде пакета WebPACK ISE.
Краткая методика работы с проектом в среде пакета WebPACK ISE
Создание нового проекта инициируется командой FILE/New Project основного меню. При выборе этого пункта меню открывается диалоговая панель (рис. 2), в которой разработчик должен указать имя и расположение проекта на жестком диске, а также выбрать семейство ПЛИС, тип кристалла и средства синтеза устройства. После ввода указанных данных в окне исходных модулей проекта появится пиктограмма основного модуля с указанием типа кристалла и инструментов синтеза.
Для ввода описания проекта следует выбрать пункт New Source основного меню или нажать соответствующую кнопку на панели инструментов. Далее открывается список возможных типов исходных модулей: схемотехническое представление, описание модулей, библиотек и тестовых воздействий на языке HDL, диаграмма состояний, модули документации. Разработчик должен выбрать тип нового исходного модуля и указать имя файла для его последующего сохранения. В зависимости от типа создаваемого исходного модуля открывается окно схемотехнического редактора Shematic Editor (рис. 3), редактора диаграмм состояний StateCad (рис. 4), генератора тестов HDL Bencher (рис. 5) или активизируется окно текстового редактора.
В случае успешного завершения создания исходного модуля он автоматически добавляется к проекту и отображается в окне исходных модулей в виде соответствующей пиктограммы. Разработчик должен поочередно создать все необходимые модули описания устройства, после чего перейти к следующему этапу проектирования.
При выборе способа описания проектируемого устройства рекомендуется использовать язык описания VHDL как наиболее эффективный и перспективный метод. Для раз-
Рис. 3. Рабочее окно схемотехнического редактора Shematic Editor пакета WebPACK ISE
Рис. 4. Окно редактора диаграмм состояний StateCad
Рис. 5. Внешний вид окна генератора тестов HDL Bencher
работчиков, использующих САПР других фирм, предоставлена возможность ввода исходных данных проекта в виде списка соединений Netlist.
Выделив подготовленный модуль описания проекта в окне исходных модулей, разработчик получает в окне процессов поэтапную структуру последующих процедур проектирования. Если перед названием этапа указан знак «+», то этот этап включает в себя несколько процедур. Чтобы увидеть структуру такого этапа в развернутом виде, пользователь должен поместить курсор мыши на изображение значка «+» и щелкнуть левой кнопкой. Прежде чем перейти непосредственно к этапу синтеза, разработчик может воспользоваться при необходимости Утилитами ввода проекта (Design Entry Utilities), например, Редактором временных и топологических ограничений (Constraints Editor), инструментами подготовки тестов для моделирования HDL-проектов (HDL Bencher Tools). Перед активизацией того или иного процесса следует указать его параметры. Для этого необходимо выделить строку с названием процесса и выбрать в основном меню команду редактирования свойств процесса Process/Properties или нажать соответствующую кнопку на панели
инструментов. На экран выводится диалоговая панель, содержащая список параметров, доступных пользователю. Опции процессов могут быть разбиты на группы, которые представлены на отдельных вкладках диалоговой панели. Содержание списка параметров определяется выполняемым процессом и семейством ПЛИС, на базе которого реализуется проект. Так, например, на рис. 6 показана диалоговая панель свойств для этапа трассировки проекта в кристалл семейства СРЬБ ХС9500 [1-3]. Разработчик может оставить значения параметров, предлагаемые по умолчанию, или при необходимости установить требуемые значения.
Ш|
»*«" 1 1 111 1 Ч р| ТІ ,<1 \
ПмягфМир* its* 1 1MI J
«і 1bp ■■■■!■' m и* ■» pi *-n* LWr
- 1 —ч. i
Рис. 6. Диалоговая панель параметров процесса трассировки проекта в кристалл семейства CPLD XC9500
Чтобы выполнить процедуру (активизировать процесс), следует выбрать команду Process/Run основного меню или просто дважды щелкнуть левой кнопкой мыши на названии соответствующей процедуры в окне процессов. В случае успешного выполнения процедуры в окне консольных сообщений после названия процесса отображается строка:
Done: completed successfully.
Кроме того, в окне процессов перед названием выполненной процедуры появляется пиктограмма в виде символа «V», соответствующая успешному завершению процесса. При обнаружении ошибок в окне консольных сообщений выводится строка с указанием кода ошибки, модуля и строки в модуле. После сообщений об ошибках отображается строка, указывающая на неудачное завершение процесса, и соответствующий код:
Done: failed with exit code: 0001.
В окне процессов неудачное завершение процедуры обозначается пиктограммой в виде символа «Х» красного цвета.
Кроме консольных сообщений и пиктограмм в окне процессов после выполнения процедур на каждом этапе создается отчет (Report), который содержит подробную информацию о ходе и результатах выполнения процесса. Рекомендуется анализировать отчеты для каждого этапа проектирования не только в случае обнаружения ошибок, но и при успешном выполнении процедур.
Этапы синтеза и трассировки выполняются в пакете WebPACK ISE автоматически. Разработчику необходимо только определить параметры этих процессов. Моделирование устройства осуществляется в среде программы ModelSim XE Starter с использо-
И F -dp-fTI-rt j 1 ШІ -41 _l
F-дмІ ftjHdl fijara
Fí ми
ЩЬт fif+CL
* J — j
Рис. 2. Диалоговая панель параметров нового проекта
ванием тестов, сформированных с помощью программы HDL Bencher. Управление процессом моделирования может осуществляться с помощью как элементов управления ModelSim XE Starter (основного меню и кнопок быстрого доступа), так и командного файла, подготовленного ранее. После успешного завершения этапа временного моделирования можно приступать непосредственно к программированию кристалла. Загрузочный кабель рекомендуется заранее подключить к используемому порту ПК. Навигатор проекта автоматически выберет средства программирования для используемого семейства ПЛИС. В программаторе следует определить порт ПК, зарезервированный для подключения кабеля, используя для этого команду автоматического обнаружения кабеля. Далее следует выбрать кристалл, указать файл конфигурации и запустить команду загрузки конфигурации.
Заключительные рекомендации
Для самостоятельного изучения проектирования ПЛИС в среде пакета WebPACK ISE рекомендуется обратить внимание на примеры проектов, предоставляемых в комплекте САПР. Чтобы активизировать любой из предлагаемых примеров, следует выполнить команду File/Open Example в основном меню Навигатора проекта.
Если в процессе проектирования цифрового устройства разработчику стали необходимы кристаллы ПЛИС с более высокой степенью интеграции или семейств, которые не поддерживаются используемой версией па-
кета WebPACK ISE, рекомендуется прежде всего выяснить возможность получения новой версии САПР. Фирма Xilinx периодически обновляет версии предлагаемого программного обеспечения для проектирования ПЛИС. Это относится не только к коммерческим, но и свободно распространяемым программным продуктам. Новые версии САПР, как правило, поддерживают большее количество кристаллов, а также включают более эффективные средства синтеза и трассировки проектов. Если же и последняя версия пакета WebPACK ISE не поддерживает требуемый тип кристаллов, то необходимо перейти к использованию одного из следующих пакетов САПР: Foundation Series™ или Foundation ISE™. Для разработчиков, использующих САПР других производителей, предназначены программные средства Alliance Series™.
По вопросам приобретения пакетов Foundation Series, Foundation ISE, Alliance Series, как и кристаллов ПЛИС, следует обращаться в центр технической поддержки и консультаций InlineGroup, который является официальным дистрибьютором фирмы Xilinx. Специалисты центра помогут выбрать оптимальное семейство ПЛИС и программное обеспечение для реализации пользовательских проектов. С целью сокращения времени освоения САПР вниманию разработчиков предлагается ускоренный курс обучения работе с пакетом WebPACK ISE. Возможен выезд специалиста для установки пакета и обучения непосредственно на рабочем месте разработчика.
Литература
1. The Programmable Logic Data Book. — Xilinx Inc. 1999.
2. The Programmable Logic Data Book. — Xilinx Inc. 2000.
3. Программируемые логические интегральные схемы фирмы Xilinx. Серия FAST FLASH CPLD. Краткое техническое описание семейств XC9500 и XC9500XL. — М.: ЗАО «SCAN», 2000.
4. Программируемые логические интегральные схемы фирмы Xilinx. Серия VIRTEX. Краткое техническое описание. — М.: ЗАО «SCAN», 2000.
5. Кузелин М. ПЛИС фирмы Xilinx: семейство Spartan-II. — Компоненты и технологии, № 3, 2001.
6. Мальцев. П.П., Гарбузов. Н.И., Шарапов. А.П., Кнышев. Д.А. Программируемые логические ИМС на КМОП-структурах и их применение. — М.: Энергоатомиздат, 1998.