УДК 681. 324
А. А. Баркалов, А. А. Красичков, В. А. Бойков
ОПТИМИЗАЦИЯ СХЕМЫ МИКРОПРОГРАММНОГО АВТОМАТА МИЛИ НА FPGA
Предложен метод оптимизации автомата Мили кодированием полей совместимых микроопераций. Метод основан на вертикализации исходной граф-схемы алгоритма, которая обеспечивает полную совместимость всех микроопераций управляющего алгоритма. Для улучшения быстродействия цифровой системы на базе такого автомата предложено преобразование унитарного кодирования микроопераций в параллельный код микроинструкций.
ВВЕДЕНИЕ
В настоящее время появилась возможность реализации цифровой системы, используя одну микросхему типа «система-на-кристалле» (SoC, system-on-chip) [1]. Как правило, произвольная логика в SoC реализуется на FPGA (field programmable gate array), которые состоят из элементов табличного типа (LUT, look-up table) [2] с ограниченным числом входов. Такое ограничение приводит к необходимости использования функциональной декомпозиции [3] систем реализуемых булевых функций, что снижает быстродействие цифровой системы. Важной частью любой цифровой системы является устройство управления, которое может быть реализовано в виде микропрограммного автомата (МПА) Мили [4]. Стремление к уменьшению числа LUT-элементов в схеме МПА при сохранении заданного быстродействия системы приводит к реализации МПА в виде многоуровневой структуры [5]. Одним из таких методов является кодирование полей совместимых микроопераций [6], при котором система микроопераций реализуется на дешифраторах. В настоящей работе предлагаются две структуры схем МПА Мили, основанных на вертикализации [6] исходного алгоритма управления и позволяющих уменьшить число дешифраторов до одного.
ПОСТАНОВКА ЗАДАЧИ
Пусть алгоритм управления цифровой системы представлен в виде граф-схемы алгоритма (ГСА) Г [4], вершины которой содержат микрооперации (МО) из множества У = {у ..., уы} и логические условия (ЛУ) из множества X = {хр _, }• Микрооперации у^ у{ е У называются совместимыми микрооперациями (СМО), если они всегда находятся в разных вер-
шинах ГСА Г. Пусть Пу = {У^ _, У7} - разбиение множества У на классы СМО. Закодируем микрооперации у1п е У; двоичными кодами К(у1п) разрядности Ог = ]^2(| У;| + 1) [ и используем элементы множества X = {г 1,___, г0} для такого кодирования, где
О = Ор + О2 + _ + ОГ В этом случае МПА Мили реализуется в виде РБ-автомата (рис. 1), в котором схема Б состоит из I дешифраторов и г-й дешифратор реализует микрооперации угп е Уг (г = 1, _, I).
Здесь регистр ИО хранит коды К(ат) состояний МПА Мили ат е А = {а1; _, ам} разрядности Я = = ]^2 М [, регистр необходим для организации устойчивой работы цифровой системы [7]. Схема Р реализует систему функций возбуждения триггеров ИО
и систему функций
Ф = Ф(T, X)
Z(T, X),
(1)
(2)
использующих для формирования микроопераций Y
Y = Y (Z). (3)
Здесь T = {Ti,___, TR} - множество внутренних переменных, используемых для кодирования состояний am е A. По сигналу Start в RG записывается код начального состояния a.\ е A, по сигналу Clock происходит смена кодов состояний в RG, по сигналу Clockl микрооперации Y записываются в RS и стабильные МО Ys поступают в различные блоки цифровой системы.
Рисунок 1 - Структурная схема PD-автомата Мили
© Баркалов А. А., Красичков А. А., Бойков В. А., 2006
А. А. Баркалов, А. А. Красичков, В. А. Бойков: ОПТИМИЗАЦИЯ СХЕМЫ МИКРОПРОГРАММНОГО АВТОМАТА МИЛИ НА РРОА
Основным достоинством РБ-автомата, по сравнению с одноуровневой схемой Р-автомата, где
Ф = Ф(Т, X), У = У(Т, X),
(4)
(5)
является уменьшение числа функций, зависящих от переменных Т и X. Как правило, для реализации системы (5) требуется гораздо больше ЬиТ-элементов, чем для реализации системы (3). Кроме того, дешифраторы являются регулярными библиотечными элементами, что упрощает процесс проектирования МПА. Недостатком РБ-автомата, по сравнению с Р-автоматом, является потенциальная возможность увеличения времени такта за счет введения дополни-тельного уровня.
В настоящей работе предлагается ряд структур схемы РБ-автомата, которые основаны на вертикализации [6] исходной ГСА Г.
ОСНОВНАЯ ИДЕЯ МЕТОДА ОПТИМИЗАЦИИ
Граф-схема алгоритма Г называется вертикальной ГСА (ВГСА), если каждая ее операторная вершина содержит не более одной микрооперации [6]. В этом случае все микрооперации уп е У являются попарно совместимыми и для их кодирования достаточно
Рисунок 2 - Фрагмент ГСА Г^ до (а) и после (б, в) вертикализации
раций уп е У(Ьк) не всегда возможно из-за возможной зависимости МО по данным [6]. Первый недостаток можно уменьшить, а второй можно устранить, для чего в работе предлагается преобразование последовательности вк в параллельный код У(Ь^) и запуск операционного автомата системы только после формирования всех микроопераций уп е У(Ьк) (к = 1, ..., К). Признаком окончания формирования микроопераций уп е У(Ьк) служит сигнал у0 = 1. Параллельный код последовательно загружается в регистр для чего используется возможность локальной синхронизации триггеров, входящих в состав 8оС [ 1].
О = ]1о82^ [
(6)
элементов множества X.
В общем случае произвольная ГСА Г не является вертикальной, однако, полная совместимость МО может быть достигнута за счет вертикализации ГСА Г и формирования вертикализированной ГСА У(Г) [6]. Процесс вертикализации заключается в ращеплении операторной вершины Ьк е В на Пк операторных вершин, где Пк = |У(Ьк)|. Здесь В - множество операторных вершин ГСА Г, У(Ьк)с У - набор микроопераций, содержащихся в вершине Ьк е В, |В| = К.
На рис. 2, а показан фрагмент ГСА Г1 и два способа отметки состояний вертикализованной ГСА V (Г 1) (рис. 2, б, в).
В обоих случаях вершине Ь5 соответствует последовательность вершин Р5 = < ь5, Ь^, Ь3>, но в одном случае (метод [/1) вводятся новые состояния МПА Мили (рис. 2, б), а во втором случае (метод [/2) сохраняется исходная отметка (рис. 2, в). Назначение сигнала у0 рассмотрим несколько позже.
Автомат Мили, синтезированный по ВГСА V(Г), требует больше времени для выполнения алгоритма управления, чем МПА, синтезированный по ГСА Г. Кроме того, последовательное выполнение микроопе-
ПОЛУЧЕННЫЕ СТРУКТУРЫ МПА МИЛИ
На рис. 3 показана структурная схема РБгавтомата Мили, основанная на методе и 1. В этом случае схема Р реализует системы (1), (2) и функцию у0 = Уо(Т, X), для чего требуется
ь1 = я1 + о +1
(7)
выходов. Здесь Л1 = где Ы\ - число состо-
яний РБ-автомата:
м 1 = м + £ (Пк -1).
к = 1
(8)
Рисунок 3 - Структурная схема РВ^-автомата Мили
Рисунок 4 - Структурная схема PD-автомата Мили
Дешифратор D0 имеет Q входов и N выходов. Схема синхронизации RG, RS и операционного автомата здесь не показана. Отметим, что в общем случае M\ > M и R1 > R.
На рис. 4 показана структурная схема PD2-автомата Мили, основанная на методе U2.
В этом случае схема P реализует системы (1) и (2), схема СС (Combinational circuit) формирует сигнал
Уо = Уо(т),
(9)
где т - выходы счетчика CT (Counter), формирующего коды микроопераций yn e Y(bk) (k = 1, ..., K). Микрооперации формируются дешифратором Do в виде
Y = Y (т),
(10)
а функции Z используются как функции возбуждения CT.
Теперь схема P имеет
t2 = R + Q1
(11)
выходов, где О1 > О - число переменных, необходимое для уникального кодирования микроопераций уп е е У(Ьк) (к = 1,., К).
Параметр О1 может быть найден следующим образом. Из принципа организации РБ2-автомата следует, что внутри каждой последовательности Рп коды микроопераций должны возрастать на единицу. Например, если О1 = 4, то для последовательности Р5 при коде К (у5) = 0100 код К (у5) = 0101 и код К (у 3) = = 0110. Таким образом, кодированию подлежат микрооперации из множества У0, объединяющего микрооперации уникальных микрокоманд (наборов микроопераций). Это следует из того, что при равенстве У (Ь;) = У (Ьу) одинаковые микрооперации из множеств У(Ь;) и У(Ьу) могут иметь одинаковые коды. Пусть ГСА Г имеет / уникальных наборов микроопераций, тогда множество У0 ВГСА V(Г) содержит
N
J
I'
j = 1
(12)
элементов. Следовательно, О =
Очевидно, что схема управления регистром в РБ2-автомате сложнее, чем в РБ^автомате, так как выходы дешифратора, соответствующие микрооперации уп е У с разными верхними индексами должны быть объединены по схеме «ИЛИ» или с использованием трехста-бильных буферов. Отметим, что рост числа кодирующих переменных X в РБ2-автомате компенсируется уменьшением числа входов схемы Р по сравнению с РБ-автоматом Мили. Кроме того, принцип кодирования микроопераций в РБ2-автомате позволяет использовать методы оптимизации схемы СС, аналогичные методам оптимизации композиционных микропрограммных устройств управления [5].
ЗАКЛЮЧЕНИЕ
Предлагаемые в работе методы организации схем автоматов Мили позволяют уменьшить число ЬиТ-эле-ментов схемы по сравнению с РБ-автоматом, основанным на кодировании полей совместимых микроопераций. Предлагаемые методы основаны на вертикали-зации исходной граф-схемы алгоритма, что позволяет использовать только один дешифратор для реализации системы микроопераций. Проведенные авторами исследования показали, что применение РБ-автомата эффективно, если = Я, то есть при совпадении числа переменных обратной связи автоматов. В противном случае более эффективно применение модели РБ2-ав-томата Мили. Отметим, что конкретный выигрыш зависит от характеристик самой ГСА, определяющих параметры ^ и ¿2. Как показали исследования авторов, лучшая в конкретных условиях модель автомата Мили (РБ1 или РБ2) позволяет на 24-32 % уменьшить число ЬиТ-элементов по сравнению с РБ-автоматом.
Уменьшение аппаратурных затрат в данном случае сопровождается увеличением времени выполнения алгоритма управления по сравнению с РБ-автоматом. Предложенный в работе метод преобразования последовательности микроопераций в параллельный код, соответствующий микрооперациям для конкретной операторной вершины ГСА, позволяет уменьшить влияние вертикализации на производительность цифровой системы.
ПЕРЕЧЕНЬ ССЫЛОК
1. Грушвицкий Р. И., Мурсаев А. X,, Угрюмое Е. П. Проектирование систем на микросхемах программируемой логики. - Петербург: БХВ, 2002. - 636 с.
2. Salcic Z. VHDL and FPGAs in digital systems design, prototyping and customization. - Kluwer Academic Publishers, 1998. - 576 p.
3. Sasao T. Switching theory for logic synthesis. - Kluwer Academic Publishers, 1999. - 355 p.
4. Baranov S. Logic Synthesis for Control Automata. - Kluwer Academic Publishers, 1994. - 405 p.
А. А. Голдобин : КВАЗИГОМОМОРФНОЕ ПРЕОБРАЗОВАНИЕ ГИПЕРГРАФОВ В АВТОМАТИЗАЦИИ ПРОЕКТИРОВАНИЯ УСТРОЙСТВ УПРАВЛЕНИЯ
5. Баркалов А. А. Синтез устройств управления на программируемых логических устройствах. - Донецк: Дон-НТУ, 2002. - 262 с.
6. Баркалов А. А., Палагин А. В. Синтез микропрограммных устройств управления - Киев: ИК НАН Украины, 1997. - 136 с.
7. Баркалов А. А. Синтез операционных устройств. - Донецк: ДонНТУ, 2003. - 306 с.
Надшшла 6.02.06
Запропоновано метод оптим1зацп автомата М1л1 ко-дуванням полей сумгсних мгкрооперацш. Метод засновано на вертикал1зацп вих(дноЧ граф-схеми алгоритму, яка за-безпечить повну сум1стсть ус\х м1крооперацт керуючого алгоритму. Для полгпшення швидкодп цифрово'( системи
на 6a3i такого автомату запропоновано перетворення уттарного кодування мiкрооперaцiй до паралельного коду мiкроiнcтрукцiй.
The method of Mealy FSM with encoding of the fields of compatible microoperations is proposed. Method is based on verticalization of initial flow-chart of algorithm that provides the total compatibility of all microoperations of control algorithm. The transformation of serial hot-one code of microoperation into parallel code of microinstruction is proposed to improve the performance of a digital system with such control unit.
УДК 681.3
А. А. Голдобин
КВАЗИГОМОМОРФНОЕ ПРЕОБРАЗОВАНИЕ ГИПЕРГРАФОВ В АВТОМАТИЗАЦИИ ПРОЕКТИРОВАНИЯ УСТРОЙСТВ
УПРАВЛЕНИЯ
Предлагается эффективный метод разработки схемных устройств управления. Преимуществом модифицированной алгебры абстрактных автоматов является простота перехода от описания граф-схемы алгоритма к гиперграфу переходов параллельного автомата посредством квазигомоморфного преобразования ориентированных гиперграфов. Новизна метода заключается в использовании для преобразования специального операторного пространства.
ВВЕДЕНИЕ
Возможности современных систем автоматизации проектирования (САПР) цифровых устройств на программируемых логических интегральных схемах (ПЛИС) позволяют резко сократить сроки разработки изделий, значительно повысить качество проекта. Для описания компонентов проекта может быть использован один или несколько языков описания аппаратуры [1-4]. Широкое распространение получил язык VHDL (IEEE 1076-1993).
Использование открытых спецификаций и библиотек готовых инженерных решений имеет целью унифицировать процесс автоматизированного проектирования. Существуют условия для внедрения проблем-ноориентированных пакетов прикладных программ, снабженных программным интерфейсом, который обеспечивает интеграцию в современные САПР ПЛИС.
Одной из актуальных проблем, стоящих перед специалистами в области синтеза цифровых устройств на ПЛИС, является задача оптимизации аппаратурных
© Голдобин А. А., 2006
затрат в схемах устройств управления (УУ). Практическая ценность решения этой задачи заключается в получении УУ с меньшей стоимостью. Для оценки стоимости реализации комбинационной части цифровых устройств обычно применяют цену по Квайну.
Цена по Квайну [5] равняется суммарному числу входов всех элементов комбинационной схемы, реализующей булеву функцию (БФ). Цена по Квайну равна сумме переменных, входящих в дизъюнктивную нормальную форму (ДНФ) БФ, плюс количество импли-кант.
В настоящей работе предлагается эффективный метод разработки схемных устройств управления. Общая методология проектирования сходна применению математического аппарата алгебры абстрактных автоматов [6]. Преимуществом модифицированной алгебры абстрактных автоматов (МА3) является простота перехода от описания граф-схемы алгоритма (ГСА) к гиперграфу переходов параллельного автомата посредством квазигомоморфного преобразования ориентированных гиперграфов. Новизна метода заключается в использовании для преобразования специального операторного пространства.
Следует отметить, что гомоморфизм графов относится к классу ОТ-трудных задач. Суть гомоморфного преобразования [7] заключается в отождествлении двух несмежных вершин р и q - замене их одной вершиной, соединенной с теми вершинами, с которыми были соединены р и q.