Автореферат по теме
"Разработка методов декомпозиции алгоритма для реализации в системах на кристалле"

Составитель: Анискин С.В.

[RUS] [UKR] [ENG] [Библиотека] [Ссылки] [Отчёт по поиску] [Индивидуальное задание] [Abstract]    [ДонНТУ] [Сайт магистров]
 

 

     

Актуальность проблемы


    Принцип микропрограммного управления был предложен в 1951 г. М. Уилксом и предполагает наличие в любой цифровой системе устройства управления (УУ), которое координирует все блоки системы. Исполнительная часть системы, которая выполняет обработку данных, называется операционным автоматом (ОА), а цифровая система в целом называется операционным устройством. Алгоритм работы системы задается одним из формальных методов, на практике инженерного проектирования наиболее широко используется язык граф-схем алгоритмов (ГСА).
    В операционных вершинах ГСА записываются наборы микроопераций Yt, где Y={y1,...,yn} – множество микроопераций, которые инициируют заданный вид обработки данных в ОА.
    В условных вершинах ГСА записываются логические условия Xt, где X = {x1,...,xL} – множество исходных сигналов ОА, которые идентифицируют состояние процесса обработки информации.
    Алгоритм управления системой задается кодом управления, которое поступает в УУ из внешней среды. Алгоритм управления ОА называется микропрограммой, откуда и пошло название принципа М. Уилкса.
    Итак, мы имеем схему, которая состоит из двух независимых устройств. Мы можем заменять как УУ, так и ОА не разрушая трудоспособности системы, при условиях сохранения протокола взаимодействия (сигналы могут иметь другое значение, но их количество должно сохраняться). Например, есть возможность использовать одно и то же управляющее устройство для разных процессов (при условии сходности алгоритма работы), или заменить его на другое (при изменении условий протекания технологического процесса).

Работа цифровой системы, 4 кадра, циклически, длительность кадра 1,5с

Рисунок 1. Принцип микропрограммного управления


    В связи с широким распространением ПЛИС возникли большие возможности при построении управляющих автоматов. Таблица кодирования состояний УУ “зашивается” в ПЛИС, при этом имеется возможность многократной перезаписи. Использование ПЛИС накладывает дополнительные ограничения на размер таблицы кодирования, например, в системах, которые используются в промышленности, количество состояний может измеряться тысячами и зачастую весь автомат нельзя зашить в ПЛИС. Поэтому возникает необходимость в разбиении микропрограммы на отдельные части, которые удовлетворяют ограничениям со стороны ПЛИС, не нарушая алгоритма.

Цели и задачи


    Целью данной работы является усовершенствование и разработка новых методов декомпозиции алгоритма микропрограммы для  удовлетворения условий, налагаемых со стороны ПЛИС. Выбор этой задачи был обусловлен тем, что все современные методы синтеза не являются оптимизированными, и необходимы доработки при разработке цифровых автоматов. То есть, при разработке более сложных схем автоматов Мили, нет универсального средства описания синтеза сложной структурой. В любом случае будет необходимо делать много тестов и проверок.

Основные задачи работы состоят в следующем:

  • Изучение существующих методов декомпозиции алгоритма микропрограммы.
  • Разработка на основе изученных методов новых и их тестирование.
  • Создание визуальной среды редактирования алгоритма микропрограммы, используя конструкции UML

Научная новизна


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

Существующие исследования


    Об актуальности темы конечных автоматов (УА) свидетельствует наличие редакторов FSM (finite state machine) в таких продуктах как AHDL и Riviera. Наиболее распространенными среди языков описания аппаратуры являются языки VHDL и Verilog. Однако непосредственная реализация управляющих автоматов на этих языках является трудоемким процессом. Поэтому в состав многих зарубежных САПР были включены специальные инструменты, позволяющие упростить разработку управляющих автоматов. Так в состав САПР Active - HDL фирмы Aldec включен модуль FSM. Этот модуль обладает многофункциональным графическим интерфейсом, для описания управляющих автоматов. Однако модуль FSM обладает рядом недостатков. В частности, форма записи управляющего автомата требует знания языка HDL. Подобным образом организованы системы проектирования управляющих автоматов и в других САПР.
    Также FSM моделей при генерации кода не учитывают аппаратурные затраты при генерации результирующего кода, так как полагается что это будет сделано средствами синтеза, но сгенерированный код не учитывает многих особенностей реализации структуры автомата, поэтому средства синтеза часто выдают не самую оптимальную конфигурацию результирующего устройства.
    Недостаток FSM-редактора A - HDL – генерация программного кода в поведенческом стиле, что делает невозможным предсказать результат синтеза. Структурное же описание схемы, полученной в результате тривиальной реализации, дает возможность предсказания результатов еще до синтеза – на этапе генерации программного кода, что дает возможность генерировать код для кристалла или числа вентилей FPGA заданной размерности.
    Что касается UML редакторов для конечных автоматов, то одной из таких разработок является исполняемый графический язык на основе SWITCH-технологий и UML-нотации – UniMod, который описывает поведение объекта с помощью графов переходов структурных автоматов с нотацией, а графы переходов строятся с помощью нотации диаграммы состояний UML.
    Пакет UniMod обеспечивает разработку и выполнение автоматно-ориентированных программ. Он позволяет создавать и редактировать UML - диаграммы классов и состояний, которые соответствуют схеме связей и графу переходов, и поддерживает два типа реализации — на основе интерпретации и компиляции.
    В первом случае имеется возможность:

  • преобразовывать диаграммы в формат XML;
  • исполнять полученное XML-описание с помощью интерпретатора, созданного на основе набора разработанных базовых классов. Эти классы реализуют, например, такие функции как обработка событий, сохранение текущего состояния, протоколирование.

    Во втором случае диаграммы непосредственно преобразуется в код на целевом языке программирования, который впоследствии компилируется и запускается.
    Проектирование программ с использованием пакета UniMod предполагает следующий подход: логика приложения описывается структурным конечным автоматом, заданным в виде набора указанных выше диаграмм, построенных с использованием UML-нотации. Источники событий и объекты управления задаются кодом на целевом языке программирования.
    Одним из UML редакторов, позволяющих частично реализовать поставленную задачу, является Poseidon. Он удобен своим интерфейсом и генерирует приемлемый результирующий код, но его недостаток в том, что данный программный продукт имеет платную лицензию и закрытый программный код, что делает невозможным его модификацию в необходимом направлении.
Еще одним UML редактором является UMLet построенный группой разработчиков на базе платформы Eclipse, разработка охватывает весь UML.

Текущие и планируемые результаты


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

  • Графический редактор, который реализует возможность графического отображения, редактирования и создания требуемой граф-схемы (FSM).
  • Компилятор, который дает возможность сохранения граф-схемы во внутренний язык программы (XML , XMI , или др.).
  • Оптимизаторы графа автомата исходя из ограничений ПЛИC

Заключения и выводы


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

Список источников

  • А. А. Баркалов "Синтез устройств управления на программируемых логических устройствах" — Донецк: ДонНТУ, 2002
  • Соловьев В.В. Проектирование функциональных узлов цифровых систем на программируемых логических устройствах. — Минск: Бестпринт, 1996
  • Шалыто А.А. Пограммная реализация управляющих автоматов // Судостроительная пром-сть Сер. Автоматики и Телемеханики. 1991. Выпуск 13.
  •  Шалыто А.А. SWITCH-технология – автоматный подход к созданию программного обеспечения “реактивных” систем. // Промышленные АСУ и контроллеры. 2000. №10.
  • Шалыто А.А. Логическое управление. Методы аппаратной и программной реализации. - СПб.: Наука, 2000. - 780 c.
 
[RUS] [UKR] [ENG] [Библиотека] [Ссылки] [Отчёт по поиску] [Индивидуальное задание]                   [ДонНТУ] [Сайт магистров]