Научная статья на тему 'Реализация на FPGA микропрограммных автоматов Мили, интерпретирующих вертикализованные алгоритмы управления'

Реализация на FPGA микропрограммных автоматов Мили, интерпретирующих вертикализованные алгоритмы управления Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
73
13
i Надоели баннеры? Вы всегда можете отключить рекламу.

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — А. А. Баркалов, И. Я. Зеленева, В. А. Бойков

Предложены структуры и метод синтеза МПА Мили по вертикализованной граф-схеме алгоритма, ориентированный на уменьшение числа табличных элементов для дальнейшей реализации автомата на программируемых вентильных матрицах.

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — А. А. Баркалов, И. Я. Зеленева, В. А. Бойков

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Structures and designing methods for MPA Mealy according to vertical control algorithm, oriented to reducing of LUT-elements number for next realization on the FPGA, has been proposed.

Текст научной работы на тему «Реализация на FPGA микропрограммных автоматов Мили, интерпретирующих вертикализованные алгоритмы управления»

УДК 681. 324

А. А. Баркалов, И. Я. Зеленева, В. А. Бойков

РЕАЛИЗАЦИЯ НА РРйД МИКРОПРОГРАММНЫХ АВТОМАТОВ МИЛИ, ИНТЕРПРЕТИРУЮЩИХ ВЕРТИКАЛИЗОВАННЫЕ АЛГОРИТМЫ УПРАВЛЕНИЯ

Предложены структуры и метод синтеза МПА Мили по вертикализованной граф-схеме алгоритма, ориентированный на уменьшение числа табличных элементов для дальнейшей реализации автомата на программируемых вентильных матрицах.

ВВЕДЕНИЕ

Согласно принципу микропрограммного управления, любая цифровая система может быть представлена как композиция управляющего (УА) и операционного (ОА) автоматов [1, 2]. В настоящее время имеется возможность реализации цифровых систем, включающих сотни миллионов эквивалентных вентилей, используя микросхемы типа «система-на-кристалле» [3-6]. В таких микросхемах произвольная логика реализуется на программируемых вентильных матрицах (FPGA, field-programmable logic array), содержащих табличные элементы (LUT, look-up table) с ограниченным числом входов [6]. Логическая схема УА отличается нерегулярностью структуры и не может быть реализована в виде стандартного ядра (IP-core, intellectual property). В этой связи возникает задача реализации схемы УА с минимальным числом LUT-элементов. Как правило, чем больше аргументов содержит функция, тем больше LUT-элементов требуется для ее реализации [6, 7]. В настоящей работе предлагаются структуры логических схем микропрограммных автоматов (МПА) Мили, позволяющие уменьшить число функций с большим числом аргументов. Предлагаемые методы являются альтернативой методов, основанных на кодировании полей совместимых микроопераций.

АНАЛИЗ МЕТОДОВ РЕАЛИЗАЦИИ

МИКРОПРОГРАММНЫХ АВТОМАТОВ

МИЛИ С КОДИРОВАНИЕМ ПОЛЕЙ

СОВМЕСТИМЫХ МИКРООПЕРАЦИЙ

Пусть алгоритм управления цифровой системой задан в виде граф-схемы алгоритма (ГСА) Г [1], операторные вершины которой образуют множество О(Г) = = Oi, ..., Ок}. В операторной вершине Оk е О(Г) записывается набор одновременно выполняемых мик-

© Баркалов А. А., Зеленева И. Я., Бойков В. А., 2005

роопераций (микрокоманда) У( О^) с У, где X = = {у1, ..., уN - множество микроопераций. В условных вершинах ГСА Г записываются элементы множества логических условий X = ..., х^}. Пусть ГСА Г отмечена состояниями автомата Мили [1, 2], образующими множество А = {в1, ..., ам}. Поставим в соответствие каждому состоянию ат е А двоичный код К(ат) разрядности К = ]^2-М[, используя для кодирования элементы множества внутренних переменных Т = {71 ..., Тд}. Поведение МПА может быть задано прямой структурной таблицей (ПСТ) со столбцами [1]: ат, К(ат), а, К(а,), Хн, Ун, Фн, Н. Здесь ат - исходное состояние МПА; а, - состояние перехода автомата; Xн - входной сигнал, определяющий переход <ат, а,> и равный конъюнкции некоторых элементов множества X; У^ с У - выходной сигнал на переходе <ат, а,>; сФ - набор функций возбуждения памяти из множества Ф = {ф1, ..., фд}, принимающих единичное значение для переключения памяти МПА из К(ат) в К(а,); Н = 1, ..., Н - номер перехода.

Логическая схема автомата задается системой функций

Ф = Ф(Т, X), (1)

У= У(Т, X), (2)

формируемой по ПСТ. Термы функций (1)-(2) представляют собой конъюнкции

Н

Рн = АНтХн (Н =1, ..., Н), (3)

ЛН

где Ат - конъюнкция внутренних переменных, соответствующая коду К(ат) исходного состояния ат е А из Н-й строки ПСТ (Н = 1, ..., Н). Система (1)-(2) является основой для построения одноуровневой схемы МПА Мили, называемой Р-автоматом.

На рис. 1 представлена структура цифровой системы, включающей Р-автомат Мили, операционный автомат и регистр К У, необходимый для обеспечения устойчивости работы системы <УА, ОА> [1]

Здесь Р-подсхема формирует функции (1) и (2), память МПА представлена регистром КО, Уд - микро-

Рисунок 1 - Структурная схема цифровой системы с Р-автоматом Мили

Рисунок 2 - Структурная схема РВ-автомата Мили

операции, поступающие в ОА с выхода регистра микроопераций КУ. Регистры КО и КУ реализуются с использованием В-триггеров, связанных с выходами ЬиТ-элементов БРОД [3, 6].

Пусть Х(Г^) Е X - множество логических условий, образующих терм Г^, (^ = 1, • ••, Н). Образуем множество Г = Фи Yи обозначим через Х(/г) множество логических условий, входящих в дизъюнктивные нормальные формы функции / е Г, (г = 1, •.., N + К). В Р-автомате Р-подсхема имеет ^ = К + N выходов и каждая из функций / е Г имеет Я = Ьг + К аргументов, где Ьг = |Х(/г)|, г =1, •.., N + К. Для автоматов средней сложности [6, 7] К и 8, N и 50, Ь и 30, |Х(Г^)| < < 10. Таким образом, даже для этого случая Р-подсхе-ма реализует до пятидесяти восьми функций, каждая из которых имеет до тридцати восьми аргументов. Это приводит к значительным аппаратурным затратам в Р-подсхеме, а необходимость функциональной декомпозиции [7] систем функций (1) и (2) в силу ограниченности числа входов ЬиТ-элементов приводит к увеличению числа уровней в Р-подсхеме и к уменьшению быстродействия цифровой системы.

Для уменьшения аппаратурных затрат в схемах МПА Мили на БРОД могут быть использованы методы структурной редукции [1, 4, 6], в частности, метод кодирования полей совместимых микроопераций. Напомним, что микрооперации уп, ут е У называются совместимыми, если выполняется условие

Уп е У(Ок) ^ Ут £ У(Ок), (к = 1, •.., К). (4)

Метод основан на нахождении разбиения Пу = = {У1, •.., У1} множества У на классы совместимых микроопераций с целью минимизировать параметр

где Гг = ]^2(| Уг\ + 1) [ - число двоичных переменных, необходимых для максимального кодирования микроопераций уп е Уг, (г = 1, •.., I). Каждой микрооперации ставится в соответствие код К(уп) разрядности т,, (г =1, •.., I). Кодирующие переменные для всех классов Уг е Пу образуют множество 2, включающее К2 элементов.

Теперь МПА Мили может быть реализован как РВ-автомат (рис. 2), в котором Р-подсхема реализует систему (1) и функции

г = г(т, х).

(6)

К2 =

г = 1

(5)

Система микроопераций У реализуется в виде

У = У(г), (7)

для чего используется В-подсхема, содержащая I дешифраторов, г-й дешифратор соответствует классу У1 е Пу и имеет тг входов.

Такой подход позволяет уменьшить число функций, зависящих от термов (3), до ¿2 = К + К2. В настоящей работе прелагается метод уменьшения числа выходов Р-подсхемы, основанный на вертикализации исходной ГСА Г [2]. Уменьшение числа функций, реализуемых Р-подсхемой, дает потенциальную возможность уменьшения числа ЬиТ-элементов, образующих Р-подсхему.

ОСНОВНАЯ ИДЕЯ МЕТОДА

Назовем ГСА Г вертикальной ГСА, если

|У(Ок)\< 1, (к =1, •.., К), (8)

то есть, если в каждой ее операторной вершине записано не более одной микрооперации. Характерным свойством вертикальных ГСА является полная совместимость микроопераций, при которой ПУ = У. Это позволяет закодировать микрооперации Уп е У двоичными

а) б) в)

Рисунок 3 - Отмеченная ГСАГ^ до (а) и после (б, в) вертикализации

кодами К(уп) разрядности К3 = и использо-

вать только один дешифратор для реализации О-под-схемы. Отметим, что в общем случае произвольная ГСА Г не является вертикальной. В настоящей работе предлагается использовать процедуру вертикализации произвольной ГСА Г [2] для достижения полной совместимости микроопераций.

Рассмотрим фрагмент ГСА Г1 (рис. 3, а), которая не удовлетворяет условию (8).

Процесс вертикализации заключается в «расщеплении» каждой вершины Оь е О(Г) на Ыь = |У(0ь)| опе-

Л

раторных вершин 0к, ..., 0к , удовлетворяющих условию:

\у(оь)|< 1, а = 1, ..., Ыь),

У(у(Оь) = 0, (г */, г, / е {1, ..., Мк}). (9)

Как следует из (9), каждая вершина 0'к содержит по одной уникальной микрооперации из вершины 0ь, (г = 1, ..., Ыь, Ь =1, ..., К).

В настоящей работе предлагается два варианта отметки полученной ГСА, которую мы назовем вертика-лизованной граф-схемой алгоритма (ВГСА) и обозначим у (Г):

- ВГСА у(Г) отмечается с использованием стандартной процедуры построения отмеченной ГСА автомата Мили [1];

- ВГСА у(Г) сохраняет отметки, присвоенные исходной ГСА Г.

Применение этих процедур к ГСА Г1 приводит к фрагментам ВГСА у(Г[), показанным на рис. 3, б и рис. 3, в соответственно. Назначение сигнала уо будет рассмотрено ниже.

Очевидно, автомат Мили, интерпретирующий ВГСА у(Г), требует больше времени для выполнения алгоритма управления по сравнению с МПА Мили, интерпретирующим исходную ГСА Г. Кроме того, после-

довательное выполнение микроопераций уп е у(0ь) не всегда возможно из-за наличия зависимости по данным. Для устранения этих недостатков в работе предлагается преобразование последовательности Рь микроопераций, соответствующих микрокоманде У(0ь) исходной ГСА, в параллельный код и запуск ОА только после формирования в регистре ИУ всех микроопераций уп е У(0ь), (ь = 1, ..., К). Для такого преобразования триггеры регистра ИУ должны синхронизироваться локальными синхросигналами, что возможно во всех современных ЕРОЛ [3, 5]. Сигнал у о будет использоваться для запуска операционного автомата.

В настоящей работе предлагаются три структуры логической схемы МПА Мили, интерпретирующего ВГСА У(Г).

СТРУКТУРЫ ЛОГИЧЕСКОЙ СХЕМЫ МПА

МИЛИ

1

Предлагаемые структуры, обозначенные РОу-РОу,представлены в табл. 1. Здесь РОу-автомат Мили интерпретирует отмеченную ВГСА У(Г), соответствующую фрагменту на рис. 3, б, а РОу- и РОу-автоматы - на рис. 3, в. Во всех предлагаемых структурах микрооперации уп е У формируются Оо-подсхе-мой, состоящей из одного дешифратора. Сигнал запуска операционного автомата уо формируется либо непосредственно Р-подсхемой (РО у-автомат), либо специальным преобразователем кодов СС (РОу- и

РО у-автоматы). у1

В РОу-автомате Р-подсхема формирует функции (1), (6) и уо = уо(Т, X), для чего требуется

¿3 = К4 + К3 + 1

(1о)

выходов. Здесь К4 = ]1с^М1[, где М\ - мощность множества состояний РОу~автомата, определяемая как

мх = м + £ (мк -1). ь = 1

Таблица 1 - Структурные схемы автоматов Мили, интерпритирующих вертикализованные граф-схемы алгоритмов

№ п/п

Обозначение

Структурная схема

РВ

2.

РВ

3.

РВ

1

Для синтеза схемы РВу-автомата необходимо построить его ПСТ, закодировать микрооперации Уп е е У К3-разрядными кодами К(Уп) и преобразовать исходную ПСТ, заменив микрооперации Уп е У переменными гт е 2, принимающими единичные значения в коде К(уп). Недостатком такого подхода является возможность увеличения разрядности кодов состояний по сравнению с эквивалентным РВ-автоматом. Достоинство метода - минимально возможная разрядность кодов микроопераций.

2

В РВу-автомате Р-подсхема формирует только функции (1) и (6), а сигнал уо формируется схемой СС. Для синтеза схемы необходимо выполнить естественную адресацию микроопераций в последовательностях Рк, (к = 1, •, К):

(ук = Рг Рк &Укт = Рг + 1 Рк = 1 )"

>К(укт) = К(укп) + 1. (12)

Здесь индекс к в обозначениях микроопераций подчеркивает тот факт, что микрооперация уп е У должна иметь разные коды для разных микрокоманд

У(Ок) Е У. Для выполнения условия (12) необходимо

к

кодировать микрооперации уп е У0, где

N = N = Е Nk.

к

(13)

При этом код К(уп) будет иметь К5 = раз-

рядов и число выходов Р-подсхемы определяется как

¿4 = К + К5.

(14)

Код К(укп) хранится в счетчике СТ, содержимое которого увеличивается на единицу при у о = 1. Если уо = 1, то состояние РВ^-автомата не меняется. Недостатком такого подхода является увеличение числа выходов дешифратора Во по сравнению с N и необходимость формирования микроопераций уп е У в виде

J СпиУп, =1> ^ N),

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

(15)

где Спк - булевская переменная, равная единице, если и только если уп е У(Ок). Представление (15) вызывает необходимость объединения соответствующих выходов дешифратора Во. Преимущество такого подхода -сохранение разрядности кодов состояний, что упрощает функции (1) и (6) по сравнению с РВ У-автоматом.

3

В РВу-автомате также формируются микрооперации укп е У, но код К(укп) представляется в виде конкатенации

K( ykn) = K (Yn) *C (ykn),

(16)

где * - знак конкатенации, К(Ук) - код микрокоманды У(Ок) разрядности К6 = ]^2О[, О - число микрокоманд в ГСА Г, С(укп) - код микрооперации укп е У(Ок) разрядности К7 = ^Мо[, Мо = шах(^, • .., Nn). Код К(Ук) формируется в регистре микрокоманды ИМ1 при помощи функций

Т = T, X),

(17)

боров. Очевидно, выходные функции уп е У также формируются по закону (15).

ЗАКЛЮЧЕНИЕ

Использование вертикализации исходной граф-схемы алгоритма, интерпретируемой автоматом Мили, позволяет добиться полной совместимости всех микроопераций и уменьшить аппаратурные затраты по сравнению с кодированием полей совместимых микроопераций. Проведенные авторами исследования по реализации схем предложенных автоматов РВу-РВу в базисе БРОД показали, что применение предложенных методов всегда позволяет уменьшить число ЬиТ-

элементов в схеме в сравнении с РВ-автоматом. При-1

менение РВу-автомата наиболее эффективно, если

число переменных, кодирующих внутренние состо-1

яния, для РВ- и РВу-автоматов совпадает. В против-

2 3

ном случае более эффективны РВу- и РВу-автоматы. Применение РВ3у-автомата целесообразно, если разрядности кодов микроопераций в РВу- и РВу-автома-тах совпадает, в противном случае РВ2у-автомат требует меньше ЬиТ-элементов. Однако конкретный выбор зависит от характеристик исходной граф-схемы алгоритма. Как показали исследования авторов, лучшая в конкретных условиях модель автомата Мили, интерпретирующего вертикализованную граф-схему алгоритма, позволяет уменьшить на 24-32 % число ЬиТ-элементов в сравнении с автоматами, использующими принцип кодирования полей совместимых микроопераций.

формируемых Р-подсхемой.

Код С( упк ) формируется в счетчике СТ, содержимое которого увеличивается на единицу при уо = 1 и обнуляется при уо = о. При этом режим адресации (12) реализуется путем выполнения операции

C( ykm) = C (УП) + 1

(18)

где уП = prßn, ykm = Pri + 1ßn> (i = 1> Nk - 1; n = 1, ..., K).

Сигнал уо формируется схемой СС в виде

Уо = Уо(х,2).

(19)

В этом случае число выходов Р-подсхемы является минимально возможным и равным

t5 = R + R6,

(20)

причем, число входов Р-подсхемы также минимально. Недостатком такого подхода является увеличение разрядности кода микрооперации К(уп) до К6 + К7 > К5. Однако такая избыточность позволяет минимизировать функции упк е Уо за счет наличия несущественных на-

ПЕРЕЧЕНЬ ССЫЛОК

1. Баркалов А. А. Синтез операционных устройств. - Донецк: РВА ДонНТУ, 2003. - 306 с.

2. Баркалов А. А., Палагин А. В. Синтез микропрограммных устройств управления. - Киев: Институт кибернетики им. В. М. Глушкова НАН Украины, 1997. - 135 с.

3. Грушвицкий Р. И., Мурсаев А. X., Угрюмов Е. П. Проектирование систем на микросхемах программируемой логики. - СПб.: БХВ - Петербург, 2002. - 608 с.

4. Соловьев В. В. Проектирование цифровых систем на основе программируемых логических интегральных схем. - М.: Горячая линия - Телеком, 2001. - 636 с.

5. Bursky D. Embedded Logic and Memory Fund Home in FPGA // Electronic Design. - 1999. - № 14. - P. 43-56.

6. De Micheli G. Synthesis and Optimization of Digital Circuits. - McGraw-Hill: NY, 1994. - 574 p.

7. Sasao T. Switching theory for logic synthesis.- Kluwer Academic Publishers. - 1999. - 362 p.

Надшшла 20.10.05 Шсля доробки 20.10.05

Запропоновано структури та метод синтезу МПА MiAi по вертикал1зованш граф-схем1 алгоритму, ор1енто-ваний на зменшення числа табличних елементiв для по-дальшог реалiзацi'i автомата на програмованих логiчних матрицях.

Structures and designing methods for MPA Mealy according to vertical control algorithm, oriented to reducing of LUT-elements number for next realization on the FPGA, has been proposed.

y

n

i Надоели баннеры? Вы всегда можете отключить рекламу.