УДК 004.3
Мирошкин А. Н.
Канд. техн. наук, доцент, ГВУЗ «Донецкий национальный технический университет», Украина,
Е-mail: [email protected]
РАСШИРЕНИЕ ФОРМАТА МИКРОКОМАНД ПРИ РЕАЛИЗАЦИИ УСТРОЙСТВА УПРАВЛЕНИЯ НА ГИБРИДНЫХ FPGA_
В статье предлагается метод синтеза композиционного микропрограммного устройства управления в базисе гибридных FPGA. Предлагается использование кодов классов псевдоэквивалентных операторных линейных цепей для уменьшения аппаратурных затрат в схеме и снижения общей стоимости реализации устройства управления. Приведен пример применения предложенного метода синтеза. Показано, что экономия аппаратурных ресурсов достигает 30 % при сохранении временных характеристик устройства.
Ключевые слова: композиционное микропрограммное устройство управления, расширение формата микрокоманд, LUT элемент, гибридные FPGA, снижение аппаратурных затрат, псевдоэквивалентные ОЛЦ.
ВВЕДЕНИЕ
Композиционные микропрограммные устройств управления ( КМУУ) являются эффективным средством реализации линейных алгоритмов управления [1, 2]. При реализации схем КМУУ возникает задача уменьшения аппаратурных затрат, которая является актуальной для синтеза любых устройств управления [3]. Методы решения этой задачи во многом зависят от особенностей элементного базиса [4].
В настоящее время активно развивается базис программируемых логических интегральных схем (ПЛИС) типа гибридных FPGA (Field-Programmable Gate Array) [5, 6]. В состав таких ПЛИС входят элементы табличного типа (LUT, look-up table) и встроенные блоки программируемых логических матриц (ПЛМ, PLA, programmable logic array). Примером могут служить микросхемы APEX20K [7], которые включают блоки PLA, имеющие 32 входа ( S = 32), 16 выходов ( t = 16) и 32 терма ( q = 32). Подобные FPGA не включают встроенных блоков памяти, на которых обычно реализуется система выходных функций КМУУ [8]. В настоящей работе предлагается метод синтеза КМУУ в базисе гибридных FPGA, основанный на идеях, изложенных в работах [9, 10].
Целью исследования является уменьшение аппаратурных затрат в схеме КМУУ при его реализации в базисе гибридной FPGA за счет введения в формат микрокоманд кодов классов псевдоэквивалентных операторных линейных цепей ( ПОЛЦ). Задачей исследования является разработка метода синтеза КМУУ, позволяющего уменьшить количество макроячеек ПЛМ в схеме формирования функций возбуждения памяти. При этом алгоритм управления представляется в виде граф-схемы алгоритма ( ГСА) [3].
1 ОСОБЕННОСТИ КМУУ С РАЗДЕЛЕНИЕМ КОДОВ
Обозначим в некоторой ГСА Г множество вершин B = {bo, bE }u B1 u B2 и множество дуг E, соединяющих
© Мирошкин А. Н., 2014 166 doi 10.15588/1607-3274-2014-1-24
эти вершины. Начальную вершину обозначим Ь0, конечную - bE, множество операторных вершин - В-, множество условных вершин - В2. Операторная вершина bq е В-
содержит набор микроопераций У{bqУ , где
У = {у-,..., уN} - множество микроопераций (выходных сигналов), вырабатываемых устройством управления. Ус -ловная вершина Ьр е В2 содержит один элемент множества логических условий X = {,..., х¿} (входных сигналов). Под линейной понимается ГСА, в которой не менее 75 % от общего числа вершин являются операторными.
Операторная линейная цепь (ОЛЦ) является последовательностью операторных вершин граф-схемы алгоритма. Сформируем множество ОЛЦ С = {а!,..., а^}. При этом каждая пара соседних вершин ОЛЦ а g е С соединяется дугой еI е Е [2]. Каждая ОЛЦ аg е С имеет произвольное число входов ^ и только один выход Og. Формальные определения ОЛЦ, их входов и выходов приведены в работе [2]. Отметим, что каждая вершина bq е В-
соответствует микрокоманде Ы1Г., которая хранится в
ч
управляющей памяти (УП) по адресу Лq. Для адресации микрокоманд достаточно
R = [log2 (M )] бит,
(1)
6 С состоит из F g
где M = . Пусть каждая ОЛЦ 1 операторных вершин, и пусть Fmax = max((,..., Fq).
Поставим в соответствие каждой ОЛЦ
6 С
ный код
К (а g )
g! разрядности
R1 = flog2 (q ),
двоич-
а
g
ISSN 1607-3274 . Радюелектронжа, шформатика, управлшия. 2014. № 1
а каждой компоненте Ьц е В1 - двоичный код К (Ьд) разрядности
К2 = Г1сё2 (^шах )!• (3)
Для кодирования ОЛЦ используем элементы тг е т, а для кодирования их компонент - элементы Тг е Т, при этом |т| = К-1 и |Т| = Кодирование компонент выполняется в естественном порядке, то есть
При таком подходе адрес микрокоманды MI опреде-
ляется как
4bs i J=к1К i-iJ+1
(4)
где g = 1, G ; i = 1, Fq . Если для ГСА Г выполняется условие
R1 + R2 = R
(5)
то для ее интерпретации может быть использована модель КМУУ с разделением кодов (рис. 1), которую обозначим и 1 •
В КМУУ и схема адресации микрокоманд (САМ) реализует систему функций возбуждения счетчика СТ (6) и регистра Яв (7):
Ф = Ф(т, X); Т = Т(х, X).
(6) (7)
4q )= K (a g )* K (bq),
(8)
Рис. 1. Структурная схема КМУУ U1
где вершина bq входит в ОЛЦ a g е C, а символом «*»
ч &
обозначается операция конкатенации.
По сигналу Start в RG и CT заносится начальный адрес микропрограммы, а триггер выборки ТВ устанавливается в единичное состояние, разрешая этим выборку команд из УП. Если считанная микрокоманда не соответствует выходу ОЛЦ, то одновременно с микрооперациями Y (bq) формируется сигнал уо, по которому к содержимому CT прибавляется единица, формируя тем самым адрес следующей компоненты текущей ОЛЦ. Если микрокоманда соответствует выходу ОЛЦ, сигнал у0 не формируется. При этом адрес входа следующей ОЛЦ формируется схемой САМ. При достижении окончания микропрограммы формируется сигнал уг, триггер ТВ обнуляется, и выборка команд из УП прекращается.
Число термов в схеме САМ может быть уменьшено путем введения преобразователя кодов ОЛЦ в коды классов псевдоэквивалентных ОЛЦ [2]. ОЛЦ {ai, a j } с C
называются псевдоэквивалентными, если их выходы связаны с входом одной и той же вершины ГСА Г. Следует заметить, однако, что реализация такого преобразователя требует дополнительных аппаратурных ресурсов микросхемы FPGA.
В настоящей работе предлагается метод синтеза КМУУ в базисе гибридных FPGA, основной целью которого является уменьшение аппаратурных затрат в схеме устройства управления.
2 ОСНОВНАЯ ИДЕЯ ПРЕДЛАГАЕМОГО МЕТОДА
Пусть ОЛЦ a g е Q, если a g е Q и ее выход не связан с входом конечной вершины ГСА Г. Найдем разбиение nC = {¿>1,..., Bi } множества C на классы ПОЛЦ.
Закодируем классы Bi е П с двоичными кодами K (Bi) разрядности
Ri = riog2 (I). (9)
В работах [9, 10] предлагается ввести в формат микрокоманд поле K (Bi). При этом управляющая память реализуется на встроенных блоках памяти. Однако в случае гибридных FPGA такие блоки отсутствуют. Функцию блоков встроенной памяти могут выполнять LUT элементы, которые можно рассматривать как блок памяти
с Sl входами и одним выходом. Очевидно, LUT элемент
имеет 2 L ячеек памяти.
Пусть для данной ГСА Г выполняется отношение
Sl > R. (10)
S
ТВ Fetch Е Управляющая
Память
R
Ye
Vo
Z Y
Рис. 2. Структурная схема КМУУ U2
В КМУУ U2 схема САМ реализуется в виде совокупности блоков PLA, называемой PLAer. Схема УП реализуется из совокупности элементов LUT, называемой LUTer. Блоки CT и RG также реализованы на LUT элементах.
Классы Bi е Пс закодированы переменными zr, образующими множество Z = (zlv.., zri }. Блок PLAer реализует функции
Ф = Ф^, X) ;
¥ = ¥(Z, X ). Блок LUTer реализует функции
Y = Y (t,t) ;
Z = Z (t,T ) >"0 = >о(т,т ).
(11) (12)
(13)
(14)
(15)
В настоящей работе предлагается метод синтеза КМУУ и 2, включающий следующие этапы:
1. Формирование множеств С, С и Пс для ГСА Г.
2. Кодирование ОЛЦ, их компонент и классов В1 е Пс.
3. Формирование содержимого блока ЬШег.
4. Формирование таблицы блока РЬАег.
5. Синтез логической схемы КМУУ
3 ПРИМЕР ПРИМЕНЕНИЯ ПРЕДЛОЖЕННОГО МЕТОДА
Пусть ГСА Г содержит О = 7 ОЛЦ: С = {,..., а7}, где а 7 £ С1. В множестве С выделены 1=3 класса ПОЛЦ:
Пс ={81, В2, Вз}, где В =К}, В2 ={а2, аз}, В3 = {а4, а5, а6}. ОЛЦ аг- сформированы из следующих последовательностей операторных вершин:
а1 = (¿ь ¿2, Ь3), а 2 = (b4, ¿5, ¿6, ¿7), а3 = (¿8, ¿9), а 4 = (¿10, ¿1Ъ Ь12), а5 = (¿13, ¿14, b15, Ь16),
а6 = (617, ¿18), а7 = (¿19, ¿20). Согласно (2) для кодирования ОЛЦ достаточно Л1 = 3 переменных из множества т = {т1, Т2, Т3}. Максимальное количество компонент Ятах = 4, для их кодирования согласно (3) достаточно ^2 = 2 переменных из множества Т = {7\, 72 }. В общем случае для кодирования М = 20 операторных вершин согласно (1) достаточно Я = 5 двоичных разрядов, следовательно, условие (5) выполняется, и применение метода разделения кодов целесообразно. При этом для кодирования 1=3 классов ПОЛЦ согласно (9) необходимы Я} = 2 переменные, которые формируют множество Т = {?1,22}.
Закодируем ОЛЦ а ё е С и их классы произвольным образом: ^(04) = 000, ..., К (а7 ) = 110; К (В1 )= 00, ..., К (В3) = 10. Для выполнения условия (4) присвоим первой компоненте каждой ОЛЦ а ^ е С код 00, второй - 01, третьей - 10, четвертой - 11. Это позволит определить
адреса А (рд) микрокоманд КМУУ и 2 (Ц), показанные в
табл. 1. Здесь и далее запись и^ (Гу) обозначает КМУУ иг-, которое интерпретирует ГСА Гу.
Из табл. 1 имеем, например, А(Ьб )= 00110, А(618 ) = 10101 и т. д.
Формат микрокоманд КМУУ и2 включает поля >>0, УЕ , ЯУ , ЯВ , где поле ЯУ содержит код набора микроопераций, а поле ЯВ - код класса В1 е Пс . Если у00 = 1, то содержимое поля ЯВ игнорируется.
Содержимое блока ЬЦТег КМУУ и2 (Ц) показано в табл. 2. Принцип формирования содержимого блока ЬШег тривиален. В строку с адресом А(Ьд) записывается набор микроопераций У (¿д). Если вершина ¿д е В1 не является
выходом ОЛЦ а ё е С, то в строку с адресом ^¿д) записывается микрооперация У0. В противном случае в эту строку записывается код К (Вг-), где а g е Вг. Если вершина ¿д е в1 связана с конечной вершиной ГСА, то в строку с адресом А(Ьд) заносится микрооперация Уе .
ISSN 1607-3274 . Радюелектронжа, шформатика, управлшня. 2014. № 1
В табл. 2 дано символьное содержимое блока ЬЦТег, а переход к битовым строкам не представляет сложностей.
Пусть переходы из выходов ОЛЦ а ^ е представлены
следующей системой обобщенных формул переходов [2]:
Bi ^ Х1Й4 V XiX2p6 v Xi Xrjb^ ;
b2 ^ x3x4b10 v x3 x4b13 v x3x5b19 v x3 x5b16;
B3 ^ Х5Й11 V X5Х3Й17 V X5 Х3Й8.
(16)
Подобная система является основой для формирования таблицы блока РЬАег со столбцами В1, К (В1), Ьд,
Л), Хь, ^к , Ф к, к . Назначение столбцов ясно из
табл. 3, задающей переходы для класса В3 е П^.
Адреса микрокоманд берутся з табл. 1. Отметим, что ¥ = {,В2,В3], Ф = {4,£>5}. Общее число строк
Н2 (Г]) в таблице блока КМУУ и 2 (Г^) совпадает с числом термов в системе обобщенных формул переходов.
Таблица 1. Адреса микрокоманд кмуу и 2 (г1)
Т1Т2Т3 000 001 010 011 100 101 110
00 h b4 b8 b10 b13 b17 b19
01 b2 b5 b9 b11 b14 b18 b20
10 b3 b6 * b12 b15 * *
11 * b7 * * b16 * *
В нашем примере, Н2(Г) = 10. Отметим, что Н (Г1) = 20 , где Н1 (Г]) обозначает число строк в таблице блока РЬАег КМУУ и,, интерпретирующей ГСА Гу-.
Системы (11)-(12) формируются по таблице переходов. Так, из табл. 3 можно построить фрагменты ДНФ:
d1 = z1 z2 X5x3;
d2 = z1 z2 x5 v z1 z2 x5 x3;
D3 — Z1Z2 X5 v Z1Z2 X5 X3.
При выполнении условий
S > L + R1 + R3;
t > R1 + R2;
q > H2(rj),
(17)
(18)
(19)
(20)
блок PLAer тривиальным образом реализуется на одной макроячейке PLA. Если эти отношения нарушеются, то требуется несколько макроячеек. Для уменьшения числа макроячеек PLA в схеме блока PLAer можно использовать известные методы [11].
При выполнении условия (10) каждая функция из систем (12)-(14) реализуется на одном элементе LUT. Такое решение является оптимальным. При этом таблица блока LUTer рассматривается как таблица истинности функций (13)-(15).
Таблица 2. Содержимое блока LUTer КМУУ U2 (Ц )
t1t2t3 000 001 010 011 100 101 110
00 У0 Y (b1 ) У0 Y (b4 ) У0 Y (b8 ) У0 Y (¿10 ) У0 Y (b13 ) У0 Y (b17 ) У0 Y (b19 )
01 У0 Y (b2 ) У0 Y (b5 ) Z2 Y (b9 ) У0 Y(bu) У0 Y (b14 ) Z1 Y (b18 ) Уе Y (b20 )
10 Y (b3 ) У0 Y (b6 ) * Z1 Y(b12 ) У0 Y (b15 ) * *
11 * Z2 Y (b7 ) * * Z1 Y(b16) * *
Таблица 3. Фрагмент таблицы блока PLAer КМУУ U2 (Ц )
B, K (B, ) bq A(bq ) Xh ^h Ф h h
z1 z2 t1 t2 t3 T1 T2
bu 0 1 1 0 1 X5 D2 D3 D5 1
B3 1 0 b17 1 0 1 0 0 x5x3 D D3 - 2
b8 0 1 0 0 0 x5 x3 D2 - 3
ЗАКЛЮЧЕНИЕ
Предлагаемый метод расширения формата микрокоманд за счет введения поля с кодом класса псевдоэквивалентных ОЛЦ ориентирован на уменьшение числа макроячеек PLA в схеме формирования адреса микрокоманд. При этом число тактов интерпретации алгоритма управления совпадает с соответствующим значением для базовой структуры КМУУ U\ с разделением кодов.
Уменьшение числа термов в ДНФ функций возбуждения памяти может привести к уменьшению числа уровней в комбинационной части КМУУ Это в свою очередь приводит к повышению быстродействия цифровой системы в целом. Рассмотренные нами примеры показали, что число макроячеек PLA в зависимости от их параметров уменьшается на значение до 30 % по сравнению с КМУУ U. Напомним, что применение этого
метода целесообразно только для линейных ГСА при выполнении условия (5).
Научная новизна предложенного метода состоит в использовании классов псевдоэквивалентных ОЛЦ для уменьшения числа макроячеек PLA в схеме адресации микрокоманд. Практическая значимость метода заключается в уменьшении числа макроячеек при реализации схемы КМУУ, что позволяет получить схемы, обладающие меньшей стоимостью, чем известные аналоги.
Отметим, что при нарушении условий (18)-(20) использование изложенного подхода невозможно, а структура КМУУ и соответствующий метод синтеза нуждаются в модификации, на что и направлены дальнейшие направления исследований.
СПИСОК ЛИТЕРАТУРЫ
1. Barkalov, A. Logic Synthesis for Compositional Microprogram Control Unit / A. Barkalov, L. Titarenko. -Berlin : Springer, 2008. - 272 p.
2. Synthesis of compositional microprogram control unit with dedicated area of inputs / Alexander Barkalov, Larysa Titarenko, Jacek Bieganowski, A.N. Miroshkin // W: Design of digital systems and devices / eds M. Adamski, A. Barkalov, M. Wegrzyn. - Berlin: Springer-Verlag, 2011. (Lecture Notes in Electrical Engineering; 79). - P. 193-214.
3. Баркалов, А. А. Синтез устройств управления на программируемых логических устройствах / А. А. Баркалов. - Донецк, ДНТУ, 2002. - 262 с.
4. Соловьев, В. В. Проектирование цифровых схем на основе программируемых логических интегральных схем / Соловьев В. В. - М. : Горячая линия-ТЕЛЕКОМ, 2001. -636 с.
5. Kabiani, A. The Hybrid Field Programmable Architecture / A. Kabiani, S. Brown // IEEE Design & Test of Computers. -1999. - V. 16, No. 4. - P. 74-83.
6. Singh, S. K. Design flow of reconfigurable embedded system architecture using LUTs/PLAs / S. K. Singh, R. K. Singh // 2nd IEEE International Conference on Parallel Distributed and Grid Computing (PDGC). - 6-8 Dec. - 2012. - P. 385-390.
7. Altera Corporation APEX20K PLD Family Data Sheet (2004) [электронный ресурс]. - Режим доступа: www.altera.com/ literature/ds/apex. pdf
8. Баркалов, А. А. Синтез композиционных микропрограммных устройств управления / А. А. Баркалов, Л. А. Тита-ренко. - Харьков : Коллегиум, 2007. - 302 с.
9. Баркалов, А. А. Расширение формата микрокоманд в микропрограммном устройстве управления с разделением кодов / А. А. Баркалов, Л. А. Титаренко, А. Н. Мирош-кин // Радиоэлектроника и информатика. - № 2 (41), апрель-июнь. - 2008. - С. 40-45.
10. Баркалов, А. А. Расширение формата микрокоманд в композиционном микропрограммном устройстве управления с элементаризацией операторных линейных цепей / А. А. Баркалов, А. А. Красичков, А. Н. Мирошкин // Радюелектронш i комп'ютерш системи. - 2010. - № 7. -С. 301-305.
11. Баранов, С. И. Цифровые устройства на проектируемых БИС с матричной структурой / С. И. Баранов, В. А. Скляров. - М. : Радио и связь, 1986. - 272 с.
Стаття надшшла до редакцй 03.02.2014.
Мiрошкiн О. М.
Канд. техн. наук, доцент, ДВНЗ «Донецький нацюнальний техшчний ушверситет», Украша
РОЗШИРЕННЯ ФОРМАТУ М1КРОКОМАНД ПРИ РЕАЛВАЦП ПРИСТРОЮ КЕРУВАННЯ НА Г1БРИДНИХ FPGA
У статп пропонуеться метод синтезу композицшного мжропрограмного пристрою керування в базис пбридних FPGA. Пропонуеться використання юадв клаыв псевдое^валентних операторних лшшних ланцюпв для зменшення апаратурних вит-рат в схемi та зниження загально! вартост реалiзацii пристрою керування. Наведений приклад використання запропонованого метода синтезу. Показано, що економiя апаратурних витрат досягае 30 % при збереженш часових характеристик пристрою.
Ключовi слова: композицшний мжропрограмний пристрш керування, розширення формату мжрокоманд, LUT елемент, пбридш FPGA, зниження апаратурних витрат, псевдое^валентш ОЛЛ.
Miroshkin A. N.
Ph.D. in computer engineering, аssistant professor at Computer Engineering Department, Donetsk National Technical University, Ukraine
EXTENSION OF MICROINSTRUCTION FORMAT FOR CONTROL UNIT IMPLEMENTATION ON HYBRID FPGA
A synthesis method of compositional microprogram control unit on hybrid FPGA (that contain table elements, and programmable logic arrays) is proposed. The main purpose of the method is hardware amount reduction in the control unit circuit. Usage of classes codes of pseudoequivalent operational linear chains for hardware amount reducing in the circuit and overall cost reducing of the control device is proposed. An example of the proposed synthesis method application is given. It is shown that depending on the basis circuit
ISSN 1607-3274 . PagioeneKTpomKa, rn^opMaTHKa, ynpaBmHHA. 2014. № 1
parameters and characteristics of the control algorithm hardware resource saving can reach 30 % in comparison to the costs of basic circuit control device implementation. Time characteristics of control units of modified and base structured are equivalent.
Keywords: compositional microprogram control unit, microinstruction format extension, LUT element, hybrid FPGA, reduction of hardware amount, pseudoequivalent OLC.
REFERENCES
1. Barkalov A., Titarenko L. Logic Synthesis for Compositional Microprogram Control Unit. Berlin, Springer, 2008, 272 p.
2. Synthesis of compositional microprogram control unit with dedicated area of inputs / Alexander Barkalov, Larysa Titarenko, Jacek Bieganowski, A.N. Miroshkin, W: Design of digital systems and devices / eds M. Adamski, A. Barkalov, M. Wegrzyn. Berlin, Springer-Verlag, 2011. (Lecture Notes in Electrical Engineering; 79), pp. 193-214.
3. Barkalov A. A. Sintez ustrojstv upravleniya na programmiruemyx logicheskix ustrojstvax. Doneck, DNTU, 2002, 262 p.
4. Solov'ev V.V. Proektirovanie cifrovyx sxem na osnove programmiruemyx logicheskix integral'nyx sxem. Moscow, Goryachaya liniya-TELEKOM, 2001, 636 p.
5. Kabiani A., Brown S. The Hybrid Field Programmable Architecture, IEEE Design & Test of Computers, 1999, V.16, No. 4, pp. 74-83.
6. Singh S. K., Singh R. K. Design flow of reconfigurable embedded system architecture using LUTs/PLAs. 2nd IEEE
International Conference on Parallel Distributed and Grid Computing (PDGC), 6-8 Dec. 2012, pp. 385-390.
7. Altera Corporation APEX20K PLD Family Data Sheet (2004) [e'lektronnyj resurs], Rezhim dostupa: www.altera.com/ literature/ds/apex.pdf3
8. Barkalov A. A., Titarenko L. A. Sintez kompozicionnyx mikroprogrammnyx ustrojstv upravleniya. Xar'kov, Kollegium, 2007, 302 p.
9. Barkalov A. A., Titarenko L. A., Miroshkin A. N., Barkalov A. A. Rasshirenie formata mikrokomand v mikroprogrammnom ustrojstve upravleniya s razdeleniem kodov, Radioe'lektronika i informatika, No. 2 (41), aprel'iyun', 2008, pp. 40-45.
10. Barkalov A. A., Krasichkov A. A., Miroshkin A. N. Rasshirenie formata mikrokomand v kompozicionnom mikroprogrammnom ustrojstve upravleniya s e'lementarizaciej operatornyx linejnyx cepej, Radioelektron. i komp 'yut. sistemi, 2010, No. 7, pp. 301-305.
11. Baranov S. I., Sklyarov V. A. Cifrovye ustrojstva na proektiruemyx BIS s matrichnoj strukturoj. Moscow, Radio i svyaz', 1986, 272 p.