Система автоматизированного проектирования управляющих автоматов на базе технологий UML и ПЛИС

С. А. Войтенко, И. Я. Зеленева

 

Донецкий национальный технический университет

 


Доклад был представлен на конференции "Информационные технологии" 2006 года, ДонНТУ.

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

Первые САПР для разработки аппаратных устройств имитировали их ручную разработку инженером – использовался механизм схемных редакторов и библиотеки микросхем.

На втором этапе (в 80-е – начале 90-х годов XX века) возникли языки описания аппаратуры ( HDL – Hardware Description Language ) и САПР с поддержкой этих языков. Предпосылкой к переходу на этот этап послужил массовый выпуск программируемых логических схем (ПЛИС) и появление реконфигурируемых микросхем класса FPGA .

Микросхемы программируемых пользователями вентильных матриц FPGA ( Field Programmable Gate Arrays ) состоят из большого числа конфигурируемых логических блоков (зарубежный термин LUT ), и трассировочных ресурсов, обеспечивающих их межсоединения. Получение конкретной логической структуры на базе FPGA , реализуется путем прошивания в управляющие программируемыми межсоединениями триггеры (теневое ОЗУ) соответствующих значений. Ведущими разработчиками микросхем FPGA являются фирмы Altera , Atmel , Lattice Semiconductor , Cypress Semiconductor , Xilinx . [ 1]

Наиболее распространенными среди языков описания аппаратуры являются языки VHDL и Verilog . Однако непосредственная реализация управляющих автоматов на этих языках является трудоемким процессом. Поэтому в состав многих зарубежных САПР были включены специальные инструменты, позволяющие упростить разработку управляющих автоматов. Так в состав САПР Active - HDL фирмы Aldec включен модуль FSM . Этот модуль обладает многофункциональным графическим интерфейсом, для описания управляющих автоматов. Однако модуль FSM обладает рядом недостатков. В частности, форма записи управляющего автомата требует знания языка HDL . Подобным образом организованы системы проектирования управляющих автоматов и в других САПР.

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

Одним из наиболее перспективных способов разрешения этой проблемы является использование для проектирования аппаратных систем новых средств, основанных на ранее разработанных средствах проектирования сложных систем для программного обеспечения, таких как использование управляемой моделями архитектуры ( MDA – Model - Driven Architecture ) и унифицированный язык моделирование ( UML – Unified Modeling Language ).

MDA была предложена группой OMG ( Object Management Group ) в 2000 году [2]. Главной идеей MDA является описание сложных систем в виде набора моделей, стоящих на различных уровнях абстракции, относительно друг друга, и возможность преобразования моделей одного уровня в модели другого уровня абстракции. Результатом таких преобразований является получение реализаций независимой от платформы модели для различных платформ.

В настоящее время существует множество сред проектирования, поддерживающих управляемую моделями архитектуру и язык UML для описания моделей, которые ориентированы на разработку программного обеспечения ( Eclipse , Poseidon , ArgoUML и т.д.). Многие из этих сред являются расширяемыми продуктами (т.е. к ним можно подключать дополнительные модули сторонних разработчиков), поэтому было принято решение построить САПР для управляющих автоматов на базе одной из имеющихся сред проектирования.

В качестве базовой среды выбрана Eclipse . Это мотивировано тем, что эта среда является легально бесплатным кроссплатформенным продуктом с открытым исходным кодом. Кроме этого, Eclipse изначально разрабатывалась как базовая расширяемая среда, поэтому в неё включен развитый, хорошо документированный интерфейс подключения дополнительных модулей. Ряд подобных модулей уже разработан, в частности, можно выделить модуль UniMod – предназначенный для автоматного ( SWITCH ) программирования [3].

Разработку аппаратной системы можно разделить на несколько этапов: сбор и анализ требований к проекту, построение абстрактной модели, тестирование на логическом уровне, построение описания устройства на языке HDL , тестирование полученного описания устройства, прошивка полученного устройства в микросхему ПЛИС. Управляемую моделями архитектуру и язык UML целесообразно применять на первом, втором и третьем этапах, получая на выходе корректное и не содержащее ошибок на логическом уровне описание устройства на языке HDL . На дальнейших этапах проектирования удобно использовать уже имеющиеся средства: языки описания оборудования VHDL и Verilog , среду проектирования ActiveHDL и средство синтеза Synplify . В качестве аппаратной платформы для полученного устройства можно использовать любую ПЛИС, совместимую с вышеуказанными средствами синтеза.

Исходя из проведенных исследований установлено, что на данный момент существует потребность в разработке качественно новых средств проектирования цифровых устройств (в частности управляющих автоматов) с использованием управляемой моделями архитектуры и языка моделирования UML . Поэтому планируется в рамках выполнения магистерской диссертации разработать соответствующий модуль САПР, выполненный в форме подключаемого модуля ( plug - in ) к среде разработке Eclipse .

Литература

•  А.А. Баркалов. Синтез устройств управления на программируемых логических устройствах. – Донецк. 2002.

2. OMG specifications, http://www. omg .org

3. Official website of UniMod , http://unimod.sourceforge.org


Вернутся назад