Научная статья на тему 'Реализация композиционного микропрограммного устройства управления на FPGA'

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

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

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — А А. Баркалов, P Вишневский, К H. Ефименко

Предложен метод синтеза КМУУ, позволяющий сократить число функций автомата адресации микрокоманд, которые зависят от логических условий и внутренних переменных автомата, для дальнейшей реализации на FPGA микросхеме. Метод основан на преобразовании адреса выхода ОЛЦ в код класса псевдоэквивалентных ОЛЦ. Применение данного метода обеспечивает уменьшение числа LUT-элементов в FPGA микросхеме.

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

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — А А. Баркалов, P Вишневский, К H. Ефименко

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

The method of compositional microprogram control unit (CMCU) design permitting to decrease the amount of functions of addressing FSM depending on logic conditions and internal variables ifs proposed. Method is oriented on the application in the basis of FPGA. The method is based on the transformation of OLC output address in the code of the class of pseudoequivalent OLC. The application of proposed method permits to decrease the amount of LUT-elements of FPGA, needed for implementation of CMCU.

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

КЕРУВАННЯ У ТЕХШЧНИХ СИСТЕМАХ

УПРАВЛЕНИЕ В ТЕХНИЧЕСКИХ СИСТЕМАХ

CONTROL _IN TECHNICAL SYSTEMS

УДК 681.324

А. А. Баркалов, P. Вишневский, К. H. Ефименко

РЕАЛИЗАЦИЯ КОМПОЗИЦИОННОГО МИКРОПРОГРАММНОГО УСТРОЙСТВА УПРАВЛЕНИЯ НА FPGA

Предложен метод синтеза КМУУ, позволяющий сократить число функций автомата адресации микрокоманд, которые зависят от логических условий и внутренних переменных автомата, для дальнейшей реализации на FPGA микросхеме. Метод основан на преобразовании адреса выхода ОЛЦ в код класса псевдоэквивалентных ОЛЦ. Применение данного метода обеспечивает уменьшение числа LUT-элементов в FPGA микросхеме.

ВВЕДЕНИЕ

Устройство управления (УУ) является одной из основных частей любой цифровой системы [1]. Успехи микроэлектроники привели к появлению «систем-на-кристалле», произвольная логика в которых, как правило, реализуется на FPGA (field-programmable gate array) [2, 3]. В этой связи возникает необходимость разработки новых и совершенствования известных методов синтеза УУ, ориентированных на этот базис.

Характерной особенностью FPGA является наличие логических элементов табличного типа, так называемых LUT-элементов (look-up table). Число входов LUT-элементов ограничено и не превышает 6 [2, 3], что вызывает необходимость функциональной декомпозиции систем булевых функций, задающих закон функционирования УУ [4]. Один из путей уменьшения числа LUT-элементов в схеме УУ - уменьшение

© Баркалов А. А., Вишневский Р., Ефименко К. Н., 2005

числа функций с большим числом аргументов. Эта задача может быть решена путем перехода к двухуровневой структуре УУ, в которой система выходных функций (микроопераций) определена более чем на 50% возможных термов. В этом случае для реализации системы микроопераций целесообразно использовать блоки ЕАВ (embedded array block), входящие в состав современных систем на кристалле [2, 3]. При таком подходе управляющая память, реализованная на основе ЕАВ, хранит микрокоманды, а произвольная логика их адресации реализуется на FPGA. Ограниченность ресурсов ЕАВ вызывает необходимость уменьшения разрядности микрокоманд. Всем этим целям идеально отвечают композиционные микропрограммные устройства управления (КМУУ), управляющая память которых не содержит адресов переходов [5]. В настоящей работе предлагается метод синтеза КМУУ с минимально возможным числом выходов схемы адресации микрокоманд.

ОСНОВНЫЕ ОПРЕДЕЛЕНИЯ

Пусть алгоритм управления цифровой системы задан в виде граф-схемы алгоритма (ГСА) Г [6], опе-

раторные вершины которой образуют множество В = (Ь|, ..., Ьк}. В вершине Ь^ е В записан набор одновременно выполняемых микроопераций (микрокоманда) У(Ь^) с У, где У = (у1, ..., уВ условных вершинах ГСА Г записываются элементы множества логических условий X = (х^ ..., х^}. Кроме операторных и условных вершин ГСА Г содержит начальную Ь0 и конечную вершины ЬЕ. Пусть Е - множество дуг ГСА Г.

Введем ряд определений [5], необходимых для дальнейшего изложения материала.

Определение 1. Операторной линейной цепью (ОЛЦ) ГСА Г называется конечная последовательность операторных вершин ад = (Ь^, ..., ЬдР ) такая, что для любой пары соседних компонент кортежа ад существует дуга <Ьдг, Ьд1+{> е Е, где г - номер компоненты кортежа ад (г = 1, ..., Рд - 1).

Определение 2. Входом ОЛЦ ад называется вершина Ьд е В, такая, что существует дуга <Ь^ Ьд> е Е, где Ь - условная или начальная вершина ГСА Г, или операторная вершина, не входящая в ОЛЦ ад.

Определение 3. Выходом ОЛЦ ад называется вершина Ьд е В такая, что существует дуга <Ьд, е е Е, где Ь{ - условная или конечная вершина ГСА Г, или операторная вершина, не входящая в ОЛЦ ад.

Обозначим через Пд с В множество операторных вершин, входящих в ОЛЦ ад е С, где С = = (а1, ..., ае} - множество ОЛЦ ГСА Г, удовлетворяющее условию

Бд п Бд = 0(д * д; д, д е (1, ..., О});

Рисунок 1 - Структурная схема КМУУ U1

имеет R разрядов, где R = ]log2M[. Для кодирования состояний am е А используются переменные тг е т = = (т|, ..., Tr}, регистр RG имеет входы типа D. Счетчик СТ хранит адреса A(bk) микрокоманд, представляемых переменными Tr е T = (Г|, ..., Tr }, где R| = = ]log2K[. Микрокоманды Y(bk) хранятся в управляющей памяти, имеющей в случае унитарного кодирования микроопераций [7] 2 1(N + 2) бит. Один из дополнительных разрядов используется для хранения сигнала y0, по которому осуществляется режим адресации (2), второй - для хранения сигнала yK, по которому происходит завершение функционирования устройства. По сигналу Start содержимое RG и CT обнуляются, что соответствует исходному состоянию КМУУ, триггер Т устанавливается в единицу, что позволяет считывать микрокоманды из СМ. При переходах внутри ОЛЦ ад е С сигнал y0 = 1, при этом состояние автомата Si не меняется. Если выход текущей ОЛЦ достигнут, то y0 = 1 и автомат S1 формирует функции возбуждения регистра T = (Y1, ..., Tr} и счетчика Ф = (Ф1, ..., ФRl}

B = D1 и D2 и ... и DG

Dg ф 0 (g = 1, ..., G).

(1)

Ф = Ф(т, X), T = T(T, X).

(3)

Пусть для каждой ОЛЦ ад е С выполнена естественная адресация микрокоманд

A(bgl + i) = A(bgi) + 1, (i = 1, Fg - 1),

Jgl

(2)

где А(Ьд) - адрес микрокоманды, соответствующей вершине Ьд е В.

В этом случае ГСА Г может быть интерпретирована КМУУ с базовой структурой (рис. 1), называемым в дальнейшем КМУУ и.

Здесь комбинационная схема СС и регистр ИС образуют автомат адресации микрокоманд 81, а счетчик СТ, управляющая память СМ и триггер Т образуют микропрограммное устройство управления 82 с естественной адресацией микрокоманд [7], что соответствует условию (2). Регистр ИС хранит код К(ат) текущего состояния ат е А, где А = (а\, ..., ам} - множество внутренних состояний автомата адресации, и

Функции Ф и формируют в регистре код К(а5) состояния перехода автомата 81 и адрес входа очередной ОЛЦ ад е С в счетчике соответственно. При достижении микрокоманды У(Ь^) с У такой, что <Ьк, Ье> е Е, формируется сигнал уК =1, триггер Т обнуляется и функционирование КМУУ и прекращается.

Такие УУ имеют ряд положительных качеств [5], делающих целесообразным их применение в системах на кристалле:

1. Число функций с числом аргументов до Ь + К ограничено параметром ^ = К + К1, что позволяет уменьшить число ЕиТ-элементов в схеме УУ по сравнению, например, с реализацией УУ в виде микропрограммного автомата [6].

2. Управляющая память содержит только микрооперации уп е У и не содержит адреса переходов, что при принятой стратегии кодирования микроопераций

128

ISSN 1607-3274 «Радюелектронжа. 1нформатика. Управлшня» № 2, 2005

[7] минимизирует требуемое число выходов блоков ЕАВ.

3. Согласно условию (1), число микрокоманд в СМ равняется К, что является минимально возможным параметром для микропрограммных устройств управления [7]. Это позволяет минимизировать емкость используемых блоков ЕАВ.

Итак, использование модели КМУУ для интерпретации ГСА позволяет уменьшить число ЬиТ-эле-ментов в схеме УУ и использовать минимально возможные ресурсы блоков ЕАВ для реализации системы микроопераций. В настоящей работе предлагается метод уменьшения числа выходов схемы СС, что приводит к дальнейшему уменьшению числа ЬиТ-элементов в схеме УУ.

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

Пусть алгоритм управления цифровой системы задан ГСА Г1 (рис. 2).

Используем результаты работы [5] и найдем для ГСА Г1 множество ОЛЦ С = {а1, ..., а6|, где а = = <Ь1, Ь2>, а2 = <Ьз>, а3 = <Ь4, Ь5, Ь6>, а4 = = <Ь7, Ь8>, а5 = <Ьд>, аб = <Ью>. Очевидно, множество С удовлетворяет условию (1). Выполним адресацию микрокоманд (2) и построим таблицу содержимого управляющей памяти (табл. 1) КМУУ С/^Г^, здесь С/1 (Г1) означает, что КМУУ С используется для интерпретации ГСА Г1.

Здесь Рд означает ]-й вход ОЛЦ ад е С (/ = = 1, ..., Гд), Од - выход ОЛЦ ад е С. Сигнал у0 введен во все вершины, кроме выходов ОЛЦ ад е С, для

организации режима адресации (2). Сигнал ук введен во все выходы ОЛЦ, связанные с конечной вершиной ЬЕ ГСА Г1, для организации режима останова.

Таблица 1 -КМУУ и1(Г1)

жимое управляющей памяти

л(Ьк) У(Ьк) Комментарии Л(Ьк) У(Ьк) Комментарии

0000 У0 У1 У2 Ь1 V 0101 У2 Ьб О3

0001 У3 Ь2 О1 0110 У0 У2 У 4 Ь7 141

0010 У1 У2 Ь3 121, О2 0111 У3 Ь8 О4

0011 У0 У3 У 4 4Ь I со 1000 У1 У3 Ук Ь9 151, О5

0100 У0 У 5 Ь5 1001 У2 У 4 УК Ь10 161, Об

Анализ ГСА Г1 показывает, что переходы для микрокоманд, соответствующих выходам О2, О3, О4, совпадают, аналогичный факт справедлив для выходов О5, Об. Это свойство ГСА можно использовать для уменьшения аппаратурных затрат в схеме СС КМУУ.

Назовем ОЛЦ ад, ат е С, выходы которых связаны с входом одной и той же вершины ГСА, псевдоэквивалентными ОЛЦ ГСА Г. Отметим, что псевдоэквивалентные ОЛЦ аналогичны псевдоэквивалентным состояниям автомата Мура [8]. Зададим отношение р на множестве С такое, что ад р ат, если и только если ад, ат - псевдоэквивалентные ОЛЦ. Отношение р рефлексивно, симметрично, транзитивно и, следовательно, определяет разбиение Пс на множестве ОЛЦ С: Пс = {В1, ..., В1}. Поставим в соответствие классу В2 е Пс двоичный код К(В^) разрядности

^2 = ]1О82/[.

(4)

Используем для кодирования классов В2 е Пс переменные тг е т, |т| = ^2.

В настоящей работе предлагается основанное на кодировании классов псевдоэквивалентных ОЛЦ КМУУ и2 (рис. 3).

Здесь преобразователь адреса СА формирует функции

т = т(Т), (5)

Рисунок 2 - Исходная граф-схема алгоритма Г1

Рисунок 3 - Структурная схема КМУУ ^2

реализуя тем самым преобразование адресов выходов ОЛЦ ag е С в коды К(В^) классов псевдоэквивалентных ОЛЦ ВI е Пс- Схема СС формирует функции

Ф = Ф(т, X),

(6)

что позволяет уменьшить число выходов схемы СС до ¿2 = Отметим, что при выполнении условия

= -

(7)

число входов схемы СС для КМУУ и и и совпадает. Таким образом, предлагаемый метод позволяет уменьшить число выходов схемы СС и сохранить неизменным число входов при выполнении условия (7). В настоящей работе предлагается метод синтеза КМУУ и 2.

МЕТОД СИНТЕЗА КОМПОЗИЦИОННОГО

МИКРОПРОГРАММНОГО УСТРОЙСТВА УПРАВЛЕНИЯ и2

Предлагаемый в работе метод синтеза включает следующие этапы:

1. Формирование множества ОЛЦ, адресация микрокоманд и формирование содержимого управляющей памяти. Этот этап выполняется по известной методике [5], для ГСА Г1 вся необходимая информация уже имеется, так как таблицы содержимого УП КМУУ и1(Г1) и и2(Г1) совпадают.

2. Формирование разбиения множества ОЛЦ на классы псевдоэквивалентных ОЛЦ. Этот этап выполняется тривиально: ОЛЦ ад е С, выходы которых связаны с входом одной и той же вершины ГСА Г, принадлежат одному классу эквивалентности отношения р. Для ГСА Г1 имеем Пс = {В1, В2, В3}, где В1 = = {а1}, В2 = {а2, аз, а4}, В3 = {а5, аб}.

3. Кодирование классов псевдоэквивалентных ОЛЦ. Этот этап необходим для формирования системы (5). Очевидно, кодированию подлежат классы В2 е П'с, где П'с сПс - множество классов Вг е Пс таких, что выходы ОЛЦ ад е Вг не включают сигнал Ук Для кодирования классов Вг е П'с достаточно

-2 = ]^2А[ (8)

разрядов, где /1 = |П'С|.

Для КМУУ и2 П'с = {В1, В2}, /1 = 2, -2 = 1, т = = {т1}. Пусть К(В1) = 0, К(В2) = 1.

4. Формирование таблицы переходов КМУУ. Эта таблица является основой для формирования системы функций (6) и последующего синтеза схемы СС. Таблица переходов КМУУ и 2 содержит следующие столбцы: Вг, К(Вг), / А(/д), ХН, ФН, Н, где Вг е П'с; /у - вход ОЛЦ ад е С, в который имеется переход из

выхода ОЛЦ ад е Вг под действием сигнала Хн; Фн сФ - множество функций возбуждения счетчика СТ, принимающих единичное значение для записи в СТ адреса А(/д) входа Н = 1, Н - номер перехода (номер строки таблицы переходов).

Для КМУУ и2(Г1) таблица переходов содержит Н =5 строк, адреса входов берутся из табл. 1.

Таблица 2 - Таблица переходов КМУУ ^(Г^

Вг К(Вг) V А(//) ХН Фн Н

/21 0010 %1 Оз 1

В\ 0 /з1 0011 х 1 х 2 ПзП4 2

/ 4 0110 х 1 х 2 О2Оз з

В2 1 /51 1000 Хз О1 4

/61 1001 х3 О О4 5

5. Формирование таблицы преобразователя адреса. Эта таблица является основной для формирования системы (5) и включает столбцы Од, А (Од), В,, К(В^), Тд, д. Здесь А(Од) - адрес выхода ОЛЦ ад е е В,, Тд с т - переменные, принимающие единичное значение в коде К(В^), д - номер строки (д < О). Для КМУУ и2(Г1) эта таблица имеет 4 строки (табл. 3).

Таблица 3 - Преобразователь адреса КМУУ ^(Г^

Од А(Од) Вг К(В2) тд д

О1 0001 В1 0 - 1

О2 0010 В2 1 т1 2

Оз 0101 В2 1 т1 з

О4 0111 В2 1 т1 4

Адреса выходов ОЛЦ ад е С берутся из табл. 1. 6. Формирование систем функций Ф и т. Система функций (6) формируется по таблице переходов КМУУ и2 в виде

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

Н _

= УСгНЕ?Хк (г = 1Д),

Й=1

(9)

где Сгн - булева переменная, равная единице, если и только если в Н-й строке таблицы записана переменная Фг = 1; Ен - конъюнкция переменных тг е т, соответствующая коду К(В^) класса Вг е П'с из Н-й строки таблицы переходов (Н = 1, ..., Н). Система функций (5) формируется по таблице преобразователя адреса в виде

тг = V Сг„ Ag(r = 1,-2),

д=1

(10)

где СГд - булева переменная, равная единице, если и только если в д-й строке таблицы записана переменная

130

1607-3274 «Радюелектронжа. 1нформатика. Управлшня» № 2, 2005

ф

г

О

тг =1; д - номер строки (д = 1, ..., О), Ag - конъюнкция переменных Тг е Т, соответствующая адресу А(Од).

Для КМУУ и2(Г1) имеем, например, П = т^^ V v(Tl£з), Т1 = Т1Т2Т3Т4 V Т1Т2Т4, (с учетом минимизации).

7. Синтез логической схемы КМУУ и2. Синтез сводится к реализации систем ф и т на ЕРОА и реализации управляющей памяти на ЕАВ. Первая из этих задач достаточно рассмотрена в литературе [4] и выходит за рамки данной работы. Вторая задача решается тривиальным образом.

При выполнении условия

Яз < R

(11)

где Я3 = ]log2G[, число входных переменных системы (5) может быть уменьшено. Так, из табл. 1 следует, что выход Oi однозначно определяется набором 000, 02 - 001, O3 - 010, 04 - 011, то есть система (5) существенно зависит от переменных Tr е T с T, где \T | = Я3. Это позволяет представить систему (5) в виде

т = т(Т),

(12)

что приводит к уменьшению числа ЬиТ-элементов в схеме преобразователя адреса.

Рисунок 4 - Карта Карно для функции t1 КМУУ ^(Г^

Для нашего примера Т' = {Т1, Т2, Т3}, Л3 = 3 и функция т задана картой Карно (рис. 4), где несущественным наборам 1010-1111 соответствуют «*». Адреса выходов ОЛЦ ад е В2 г П' с также относятся к несущественным наборам. Из этой карты имеем т1 = Т2 V Т3, что существенно проще первоначальной формулы из п. 6.

ЗАКЛЮЧЕНИЕ

Предлагаемый в работе метод синтеза КМУУ позволяет сократить число функций, реализуемых на ЬиТ-элементах схемы адресации микрокоманд, от ¿1 = = К + (КМУУ с базовой структурой) до ¿2 = ^1. Число переменных обратной связи, поступающих в схему формирования функций возбуждения памяти, в КМУУ и2 не больше, чем в КМУУ Преобразование адреса выхода ОЛЦ в код класса псевдоэквива-

лентных ОЛЦ выполняется схемой преобразователя адреса. Однако эта схема не вносит задержки в общее время такта системы (устройство управления, операционный автомат), так как преобразование адреса выполняется параллельно с выполнением микрокоманды в операционном автомате и не зависит от новых зна-чений логических условий. Дальнейшая оптимизация схемы возможна при выполнении условия (11), когда число переменных для кодирования ОЛЦ меньше разрядности адреса микрокоманды. Учет этого факта позволяет сократить число LUT-элементов в схеме преобразователя адреса. Исследования авторов показали, что предлагаемый метод всегда приводит к схеме с меньшим числом элементов, чем в комбинационной схеме КМУУ U1. Максимальный выигрыш достигается при выполнении условия (11) в случае, когда число переменных, кодирующих классы псевдоэквивалентных ОЛЦ, меньше числа переменных, кодирующих состояния автомата адресации микрокоманд в КМУУ U1. В этом случае выигрыш достигает 35-40%.

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

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

2. Salcic Z. VHDL and FPLDS in digital systems design, prototyping and customization. - Kluwer Academic Publis-hess, 1998. - 549 pp.

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

4. Синтез цифровых устройств / Под редакцией Т. Лубы. -Варшава: ВКЛ, 2003. - 206 с.

5. Баркалов А. А. Синтез устройств управления на программируемых логических устройствах. - Донецк: ДонНТУ, 2002. - 262 с.

6. Баранов С. И. Синтез микропрограммных автоматов. -Л.: Машиностроение, 1978. - 234 с.

7. Баркалов А. А., Палагин А. В. Синтез микропрограммных устройств управления. - Киев: ИК НЛН Украины, 1997. - 136 с.

8. Баркалов А. А. Принципы оптимизации логической схемы микропрограммного автомата Мура // Кибернетика и системный анализ. - 1998, № 1. - С. 65-72.

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

Запропонований метод синтезу КМПК, що дозволяв скоротити число функцш автомата адресацИ мтроко-манд, як залежать в1д ло?Ачних умов i внутрШтх зм1н-них автомата, для подальшоЧ реалiзацi'i на FPGA мтро-схемi. Метод засновано на перетворент адреси виходу ОЛЦ в код класу nсевдоеквiвалентних ОЛЦ. Застосуван-ня даного методу забезпечуе зменшення числа LUT-еле-ментiв в FPGA мiкросхемi.

The method of compositional microprogram control unit (CMCU) design permitting to decrease the amount of functions of addressing FSM depending on logic conditions and internal variables ifs proposed. Method is oriented on the application in the basis of FPGA. The method is based on the transformation of OLC output address in the code of the class of pseudoequivalent OLC. The application of proposed method permits to decrease the amount of LUT-elements of FPGA, needed for implementation of CMCU.

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