Система автоматического проектирования в среде A - HDL устройств, представленных конечными автоматами

Бережок А.Ю., Зеленева И.Я.

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

 


Доклад был представлен на конференции "Iнформатика та комп'ютернi технологiї" 2005 года, ДонНТУ.

Микросхемы, программируемые пользователем, открыли новую страницу в истории современной микроэлектроники и вычислительной техники. Вследствие этого БИС/СБИС, предназначенные для решения специализированных задач, стандартной продукцией электронной промышленности со всеми вытекающими из этого положительными последствиями: массовое производство, снижение стоимости микросхем, сроков разработки и выхода на рынок продукции на их основе.

В данный момент существует множество классов ПЛИС, но наиболее часто используются следующие ИС: SPLD , CPLD , FPGA . [ 3 ]

В настоящее время одной из актуальных тем является тема конечных автоматов. Конечный автомат представляет собой граф состояний и переходов, который описывает, каким образом описываемый объект реагирует на получение событий. [2]

Связующим звеном между конечным автоматом и аппаратной реализацией автомата является ПЛИС.

Active - HDL в своей программной реализации имеет средства для создания и редактирования FSM -структур ( finite state machine , конечный автомат). Основная идея автоматной реализации – это описание процесса в виде граф-схемы с генерацией программного кода на языке VHDL или Verilog , с последующей возможностью синтеза полученного кода на заданной ПЛИС.

В настоящее время рост использования ПЛИС для реализации автоматов приостанавливается дороговизной микросхем. Поэтому конструкторам-программистам приходится решать задачу уменьшения аппаратных затрат (в данном случае – площадь кристалла ПЛИС или число вентилей) с большими затратами времени разработки.

Существует множество методов уменьшить аппаратные затраты путем использования дополнительных элементов (например мультиплексоров, ППЗУ), которые придают алгоритму гибкость автомата с программируемой логикой (АПЛ) и скорость автомата с жесткой логикой (АЖЛ).

Сравнительные результаты параметров синтезированных устройств при одинаковых исходных граф-схемах, реализованные средствами FSM A - HDL ( finite state machine ) и посредством структурного описания результирующей схемы, показывают определенное уменьшение числа используемых элементов FPGA при реализации вторым способом.

Результаты синтеза(для ПЛИС Lattice ispGDX 2 Part LX 256 V ):

Таблица 1 – Результат синтеза в FSM редакторе

Таблица 2 – Результат синтеза тривиальным методом

DFF

IBUF

OBUF

AND2

INV

8 uses

2 uses

3 uses

16 uses

12 uses

DFF

IBUF

OBUF

AND2

INV

6 uses

2 uses

3 uses

12 uses

11 uses

Недостаток FSM -редактора A - HDL – генерация программного кода в поведенческом стиле, что делает невозможным предсказать результат синтеза. Структурное же описание схемы, полученной в результате тривиальной реализации, дает возможность предсказания результатов еще до синтеза – на этапе генерации программного кода, что дает возможность генерировать код для кристалла или числа вентилей FPGA заданной размерности.

При реализации схемы на SPLD прогнозируемая площадь кристалла рассчитывается по формуле:

S = 2*( L + R )* H + H *( N + R ), где S -площадь кристалла ПЛМ, L -число логических условий, N -число выходных функций графа, R -разрядность кода состояния, H -число всех возможных переходов автомата. [1]

При реализации схемы на FPGA анализ сводится к следующим формулам:

•  число D -триггеров используемых в схеме: K = N + R ;

•  максимальное число инверторов схемы: I = M + R , где M -количество состояний; минимальное же число можно определить путем склейки термов формул для Q i и D i (где Q i – формула для i -ого состояния, D i – формула для i -ого разряда кода состояния);

•  Максимальное число элементов 2И: , где T -число составляющих j -ого терма i -й формулы, F -число термов i -й формулы, минимальное же число определяется после минимизации формул, аналогичным образом.

Данные формулы рассмотрены для FPGA с инвертором, 2И-элементом и D -триггером в узле ( Xilinx CoolRunner XPLA 3, Cypress Delta 39 K и т.д.).

На основании выполненного анализа и сравнения возникает необходимость программной реализации методов генерации структурного кода граф-автоматов и применение оптимизации этого кода.

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

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

Рисунок 1 - Структура разрабатываемой САПР

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

•  Графический редактор, который реализует возможность графического отображения, редактирования и создания требуемой граф-схемы ( FSM ).

•  Компилятор, который дает возможность текстуального набора графа и приведение текстуального представления во внутренний язык программы.

•  Генератор кода с различными оптимизаторами, которые преобразуют внутренний код графа в конкретную (Мура или Мили) реализацию автомата.

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

Литература

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

•  Ю.Г. Карпов Теория автоматов. – С-Пб., Питер, 2002. – 206 с.

•  Е.А. Суворова, Ю.Е. Шейнин Проектирование цифровых систем на VHDL . – С-Пб., БХВ-Петербург, 2003. – 560 с.


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