Научная статья на тему 'Оптимизация схемы автомата Мура, реализуемой в базисе ПЛИС'

Оптимизация схемы автомата Мура, реализуемой в базисе ПЛИС Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
355
36
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
АВТОМАТ МУРА / ПЛИС / ГСА / ПСЕВДОЭКВИВАЛЕНТНЫЕ СОСТОЯНИЯ / ЗАМЕНА ЛОГИЧЕСКИХ УСЛОВИЙ

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Баркалов А. А., Мальчева Р. В., Солдатов К. А.

В статье предлагается метод, предназначенный для уменьшения числа входных переменных и промежуточных термов в реализуемых системах булевых функций. Предложенный метод основан на расширении кодов состояний перехода и замене логических условий. Применение предложенного метода позволяет до 20 % уменьшить общее число макроячеек в блоках БЛУ и БФП.

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

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Баркалов А. А., Мальчева Р. В., Солдатов К. А.

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

Текст научной работы на тему «Оптимизация схемы автомата Мура, реализуемой в базисе ПЛИС»

товуваних у шифрах. Представляється як одне з перспективних рішень з побудови суперблоку перетворення FI шифру MISTY1, яке примітно тим, що реалізує за один цикл диференціальні показники випадкової підстановки відповідного степеня.

Ключові слова: доказова безпека, диференціал, суперблок, випадкова підстановка.

Lysytska I. V.

COMPARING oN EFFECTIVENESS OF SUPERBOXES some MODERN SIPHERS

New method of assessment indicators provable security block symmetric ciphers sets out. With application of this method are

analyzed for differential properties superblock three ciphers: cipher AES, the reduced version cipher Muhomor and cipher MISTY1. The results of computational experiments to determine the values of AMDP and MADP AES superblock are presented. Demonstrated that the resistance of large ciphers and, in particular cipher Rijndael (AES) is independent of the differential properties of S-blocks used in the ciphers. It seems like one of the promising solutions for building superblocks transformation FI cipher MISTY1, which is noteworthy that sells for one cycle of differential performance random permutation corresponding degree.

Key words: of provable security, differential, superblock, random permutation.

УДК 004.3

Баркалов А. А.1, Мальчева Р. В.2, Солдатов К. А.3

1Д-р техн. наук, проф. Университета Зеленогурского (Польша) 2Канд. техн. наук, доцент Донецкого национального технического университета 3Аспирант Донецкого национального технического университета

ОПТИМИЗАЦИЯ СХЕМЫ АВТОМАТА МУРА, РЕАЛИЗУЕМОЙ В БАЗИСЕ ПЛИС

В статье предлагается метод, предназначенный для уменьшения числа входных переменных и промежуточных термов в реализуемых системах булевых функций. Предложенный метод основан на расширении кодов состояний перехода и замене логических условий. Применение предложенного метода позволяет до 20 % уменьшить общее число макроячеек в блоках БЛУ и БФП.

Ключевые слова: автомат Мура, ПЛИС, ГСА, псевдоэквивалентные состояния, замена логических условий.

ВВЕДЕНИЕ

Практически любая цифровая система включает в свой состав устройство управления (УУ) [1]. При реализации схем УУ часто используется модель микропрограммного автомата Мура [2]. В настоящее время программируемые логические интегральные схемы (ПЛИС) [3] широко применяются для реализации схем УУ Существуют два основных класса ПЛИС: CPLD (Complex Programmable Logic Devices) и FPGA (Field-Programmable Gate Arrays) [4, 5]. Для уменьшения числа макроячеек ПЛИС в схеме УУ необходимо уменьшать число входных переменных и промежуточных термов в реализуемых системах булевских функций (СБФ) [6]. В настоящей работе предлагается метод решения этой задачи для микропрограммного автомата (МПА) Мура. Метод основан на расширении кодов состояний перехода и замене логических условий.

Целью исследований является оптимизация схемы МПА Мура за счет расширения кодов состояний перехода и замены логических условий.

Задачей исследований является разработка метода синтеза МПА Мура, позволяющего уменьшить число макроячеек ПЛИС в схеме автомата. При этом алгоритм управления представляется в виде граф-схемы алгоритма (ГСА) [1].

© Баркалов А. А., Мальчева Р. В., Солдатов К. А., 2012

ОБЩИЕ ПОЛОЖЕНИЯ И ОСНОВНАЯ ИДЕЯ ПРЕДЛОЖЕННОГО МЕТОДА

Пусть автомат Мура задан прямой структурной таблицей (ПСТ) со столбцами [1]: ат, К(ат), а, К(а), ХИ, Ф, И. Здесь ат - исходное состояние МПА; К(ат) - код состояния ат е А разрядности Ка = |~1°ё2 М], для кодирования состояний используются внутренние переменные из множества Т = {Т1,...,Тк }; а$, К(а$) - соответственно состояние перехода и его код; X, - входной сигнал, определяющий переход < ат, а$ >, и равный конъюнкции некоторых элементов (или их отрицаний) множества логических условий X = {*1,...,XI}; Ф, - набор функций возбуждения триггеров памяти МПА, принимающих единичное значение для переключения памяти из К(ат) в К(а3), ФИ Е Ф = фкА }; И = 1,...,Н - номер перехода. В столбце ат записывается набор микро-

операций Уд, формируемых в состоянии ат е А, где

Уд Е У ={Уl,...,Уы}, д = 1,. .,Q. Эта таблица является основой для формирования систем функций:

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

У = У(Т), (2)

задающих логическую схему МПА. Системы (1)-(2) являются основой для реализации схемы МПА Мура, структура которой показана на рис. 1. Условимся обозначать этот МПА символом U1.

В МПА U1 блок формирования функций возбуждения памяти (БФП) реализует систему (1). Блок формирования микроопераций (БФМ) реализует систему (2). Память состояний МПА реализуется на регистре (Рг), состоящем из D-триггеров [5]. По сигналу Start в Рг записывается нулевой код начального состояния «1 е A. По сигналу Clock содержимое Рг меняется в зависимости от функций (2).

При реализации схемы U в базисе FPGA схема БФП реализуется на элементах табличного типа (LUT, look-up table). Для реализации БФП используются встроенные блоки памяти (EMB, embedded memory block) [7, 8]. При реализации схемы U в базисе CPLD схема БФП реализуется на макроячейках программируемой матричной логики (PAL, programmable array logic). Для реализации схемы БФМ могут использоваться макроячейки PAL, либо внешние программируемые ПЗУ Отметим, что существуют микросхемы CPLD, в которых имеются встроенные EMB. К таким CPLD относятся, например, микросхемы Delta 3K [9]. В данной статье мы рассматриваем случай реализации БФМ на программируемых ПЗУ, которые могут быть как встроенными, так и внешними.

Для оптимизации числа термов в системе (1) предлагается использовать наличие классов псевдоэквивалент-ных состояний автомата Мура [10]. Число блоков ППЗУ можно уменьшить, если входными переменными БФМ будут адресные разряды наборов микроопераций (НМО) [11]. Число входов схемы БФП можно уменьшить за счет замены логических условий Xi е X некоторыми переменными Pg е P, где |Р| << |i| [2]. Все эти идеи положены в основу предлагаемого метода. Обозначим предлагаемый МПА символом U2.

МЕТОД СИНТЕЗА АВТОМАТА U2

Одной из особенностей МПА Мура является наличие псевдоэквивалентных состояний [2], то есть состояний с одинаковыми переходами под воздействием одинаковых входных сигналов. Такие состояния соответствуют операторным вершинам [1] алгоритма управления, выходы которых связаны со входом одной и той же вершины алгоритма.

Пусть П a = {Bj,..., Bj} - разбиение множества А на классы псевдоэквивалентных состояний. Закодируем

Рис. 1. Структурная схема МПА Мура Uj

классы В, еП а двоичными кодами К (В,) разрядности: Кв =Г1сё2 11. (3)

Пусть исходная ГСА Г включает Q попарно различных наборов микроопераций (НМО) Уд с У. Закодируем набор Уд двоичным кодом К(Уд) разрядности:

Ку =Г1оЕ2 Ql. (4)

Пусть операторная вершина Ь ГСА Г соответствует состоянию ат е В, и пусть в ней записан набор микроопераций Уд. Тогда код состояния ат е А можно представить в виде конкатенации кодов:

К (ат) = К (В, )* К (Уч), (5)

где * - знак конкатенации.

Пусть X (ат) с X - множество логических условий, определяющих переходы из состояния ат е А . Пусть Ьт =| X(ат)| и О = шах(^1,...,Ьт). Тогда логические условия *1 е X можно заменить некоторыми переменными р е Р, где | Р |= О [12].

Пусть X (В,) с X - множество логических условий, определяющих переходы из состояний ат е В,, где В, е П а . В силу определения псевдоэквивалентных состояний справедливо равенство X (В,) = X(ат), где ат е В,. Таким образом, логические условия хI е X можно заменить переменными Р& е Р для классов состояний.

Представление кодов состояний в виде (5) и замена логических условий позволяет получить МПА Мура и (рис. 2), предлагаемый в данной работе. Как видно из рис. 2, автомат и включает блок замены логических условий (БЛУ) и блоки БФП и БФМ. Рассмотрим особенности модели и.

Блок БЛУ осуществляет замену логических условий *1 е X. Для этого формируется система функций:

Р = Р^, т). (6)

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

Блок БФП реализует систему функций:

Ф = Ф(Р, т). (7)

Число функций системы (7) определяется как Кв + Ку. Отметим, что в общем случае Ка < Кв + Ку. Однако блок

Рис. 2. Структурная схема МПА Мура U2

БФП в автомате и имеет Ка + Ь входов, а в автомате и' -только Кв + О. Кроме того, переход к классам В, е П а позволяет значительно уменьшить число термов в функциях (7) по сравнению с (1).

Блок БФМ реализует систему функций:

У = У (г), (8)

где переменные 2к е 2 используются для кодирования наборов микроопераций. При этом | г |= Ку < Ка. Если выполняется условие:

Ку < Ка , (9)

то число блоков ППЗУ в схеме БФМ автомата и2 уменьшается в т раз, где:

т = 2Ка-Ку . (10)

Сравнение автоматов и1 и и2 показывает, что автомат Ц2 обладает меньшим быстродействием. Это связано с наличием блока БЛУ Таким образом, предлагаемый метод применим, если он обеспечивает заданное быстродействие управляемой цифровой системы.

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

1. Формирование разбиения Па и кодирование классов В, еПа.

2. Формирование таблицы переходов МПА по системе обобщенных формул перехода.

3. Кодирование НМО и определение расширенных кодов состояний ат е А.

4. Формирование таблицы блока замены логических условий.

5. Формирование прямой структурной таблицы автомата и2.

6. Формирование таблицы блока БФМ.

7. Реализация схемы автомата в заданном элементном базисе.

Рассмотрим пример применения предложенного метода.

ПРИМЕР ПРИМЕНЕНИЯ ПРЕДЛОЖЕННОГО МЕТОДА

Пусть для некоторой ГСА Г1 получено разбиение П А, где П а = {В1,..., В7}. Пусть А = {а!,..., а^} и В1 = {а^},

В2 = ^^.^ “бК В3 = {‘а7, а8} , В4 = {а9,..., «пЬ В5 = {а13» а14},

Вб = {а15}, В7 = {а1б, а17, а18}. Таким образом, М=18, Ка=5, 1=7, Кв=3. Пусть в ГСА Г1 имеется Q=12 попарно различных НМО, тогда Ку=4. Закодируем наборы уд с у тривиальным образом: К(У1)=0000, К(У2)=0001, ... , К(У12)=1011. Закодируем классы В, еП а следующим образом: К(В1)=000, ... , К(В7)= 110. Пусть фрагмент системы обобщенных формул перехода [2] имеет следующий вид:

В2 ^ *з“7 V ХзХ4а9 V Хз Х4а^ ,

В3 ^ Х5а9 V Х5Хба1б V Х5 Хба14 . (11)

Система типа (11) является основой для построения таблицы переходов МПА, имеющей столбцы

В,, ат, X,, И . Здесь X, - конъюнкция логических условий, определяющая переход из состояний а$ е В, в состояние ат е А, И = 1, Н - номер перехода. Для фрагмента (11) таблица переходов имеет 6 строк (табл. 1).

Связь табл. 1 и фрагмента (11) очевидна. Пусть в состоянии а7 формируется НМО У3, в состоянии а9 - У5 ,

в состоянии «14 - У8, в состоянии «16 - Уб. Это позволяет определить расширенные коды данных состояний: К(а7)=0100010, К(а9)=0110100, К(а14)=1000111, К (а16)=1100101. В этих кодах первые три разряда совпадают с кодом К(В,), где ат е В,, а последние четыре разряда определяются кодом НМО.

Пусть для ГСА Г1 Ь=14, при этом X(B1)={x1,x2},

X(B2)={Xз, Х4}, X(Bз)={:x5, *6}, X(B4)={x1, Х5, Хт}^^^

х9, х10}, X(B6)={x3, х11, х12}, X(B7)={x13, х14}. Как следует из анализа этих множеств О=3 и Р={ррр2,р3}. Таблица блоков БЛУ имеет 7 строк и 4 столбца (табл. 2).

Из табл. 2 следует система (6). Например, из анализа столбца Р1 можно получить функцию:

Р1 = *1(В1 VВ4) V*з(В2 VВ6) VХ8В5.

Используя коды классов В, е П а можно получить окончательное выражение:

р — Т3 V Х^ Т1Т2Т3 V Х3 Т2Т3 V Х3Т1 Т2 Т3 V Т2 Т3.

Отметим, что подобные функции тривиально реализуются на мультиплексоре [12]. Как известно, мультиплексор является стандартным библиотечным элементом САПР [7-9].

Прямая структурная таблица МПА П2 строится, как расширение таблицы переходов столбцами К(В.), Ща^), ФН и заменой столбца Хь столбцом РН. В столбце ФН записываются функции Бг є Ф, принимающие единичные значения на Н-м переходе МПА. Для нашего примера табл. 1 преобразовывается в табл. 3 тривиальным образом.

Таблица 1. Фрагмент таблицы переходов автомата Мура

В> ат Хн Н В, ат Хн Н

В2 а7 Х3 1 В3 а9 Х5 4

а9 Х3 Х4 2 аіб Х5 Х6 5

а14 Х3 Х4 3 а14 Х5 Х6 6

Таблица 2. Таблица блока замены логических условий

В. р, Р? Р3 І В. Р1 Р2 Р3 І

В, Х, Х? - 1 В 5 Х8 Х9 Х10 5

В2 Х3 Х4 - 2 В6 Х3 Х11 Х12 6

В3 - Х5 Х6 3 В7 - Х13 Х14 7

В4 Хі Х5 Х7 4 - - - -

Таблица З. Фрагмент прямой структурной таблицы МПА U2

Bi K(B) am K(am) Ph Фн h

a7 0100010 Pl D2D6 1

B2 001 a9 0110100 P1P2 D2D3D5 2

al4 1000111 Pl P2 D1D5D6D7 3

a9 0110100 P2 D2D3D5 4

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

B3 010 al6 1100101 P2P3 D1D2D5D7 5

al4 1000111 P2 P3 D1D5D6D7 6

Эта таблица является основой для формирования системы (7). Так, с учетом минимизации, из табл. 3 можно получить функцию:

А1 = т1 т2т3 Р1Р2 ^1т2 т3 Р2 .

Таблица блока БФМ строится тривиальным образом, и этот этап в данной статье не рассматривается. Последний этап метода связан с применением промышленных САПР фирм-производителей ПЛИС [7-9]. Этот этап мы также здесь не рассматриваем.

ЗАКЛЮЧЕНИЕ

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

Использование метода замены логических условий позволяет уменьшить число входных переменных в функциях возбуждения памяти. Это особо важно для минимизации числа ШТ-элементов при реализации схемы на ПЛИС типа ЕРвА.

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

Проведенные авторами исследования показали, что применение предложенного метода позволяет до 20 % уменьшить общее число макроячеек в блоках БЛУ и БФП по сравнению с этим параметром для блока БВП автомата и1. Кроме того, число блоков памяти в БФМ практически всегда уменьшалось в два раза. Отметим, что время цикла МПА Ц2 в 1,5 раза больше, чем для эквивалентного автомата и1.

Научная новизна предложенного подхода заключается в использовании расширенного представления кодов состояний и замены логических условий для уменьшения числа макроячеек ПЛИС и блоков ППЗУ в схеме автомата Мура.

Практическая значимость метода заключается в уменьшении стоимости схемы МПА Мура по сравнению с известными в литературе аналогами.

СПИСОК ЛИТЕРАТУРЫ

1. Baranov, ,. Logic and System Design of Digital Systems / Baranov S. - Tallinn : TUT Press, 200В. - з2В pp.

2. Barkalov, A. Logic Synthesis for FSM-based Control Units / A. Barkalov, L. Titarenko. - Berlin : Springer, 2009. - 2зз pp.

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

4. Maxfield, C. The Design Warrior’s Guide to FPGAs / Max-field C. - Amsterdam : Elsevier, 2004. - 541 pp.

5. Соловьёв, В. В. Логическое проектирование цифровых систем на основе программируемых логических интегральных схем / В. В. Соловьёв, А. С. Климович. - М. : Горячая линия-Телеком, 200В. - з76 с.

6. DeMicheli, G. Synthesis and Optimization of Digital circuits / DeMicheli G. - New York : McGraw Hill, 1994. - 541 pp.

7. FPGA, CPLD, and ASIC from Altera [Electronic resource]: база данных содержит сведения о микросхемах ПЛИС фирмы Altera. - Электрон. дан. - Режим доступа : http://www.altera.com. - Загл. с экрана.

В. FPGA and CPLID Solutions from Xilinx, Inc [Electronic resource]: база данных содержит сведения о микросхемах ПЛИС фирмы Xilinx. - Электрон. дан. - Режим доступа: www.xilinx.com. - Загл. с экрана.

9. Cypress Semiconductor [Electronic resource]: база данных содержит сведения о микросхемах ПЛИС фирмы Cypress. - Электрон. дан. - Режим доступа: www.cypress.com. - Загл. с экрана.

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

11. Баркалов, А. А. Матричная реализация автомата Мура с расширением кодов состояний перехода/ А. А. Баркалов, Р. В. Мальчева, К. А. Солдатов // Научные труды Донецкого национального технического университета. Серия «Информатика, кибернетика и вычислительная техника» (ИКВТ-2010). Выпуск 11 (164). - Донецк : ГВУЗ «Дон-НТУ». - 2010. - С. 79-В3.

12. Baranov, ,. Logic Synthesis for Control Automata / Baranov S. -New York : Kluwer Academic Publishers, 1994. - 312 pp.

Стаття надійшла до редакції 23.01.2012. Баркалов О. О., Мальчева Р. В., Солдатов К. А. ОПТИМІЗАЦІЯ СХЕМИ АВТОМАТА МУРА, ЩО РЕАЛІЗУЄТЬСЯ В БАЗИСІ ПЛІС

У статті пропонується метод, призначений для зменшення числа вхідних змінних і проміжних термів в реалізованих системах булевих функцій. Запропонований метод заснований на розширенні кодів станів переходу і заміні логічних умов. Застосування запропонованого методу дозволяє до 20 % зменшити загальну кількість макрокомірок в блоках БЛУ та БФП.

Ключові слова: автомат Мура, ПЛІС, ГСА, нсевдоекві-валентні стани, заміна логічних умов.

Barkalov A. A., Malcheva R. V., Soldatov K. A. OPTIMIZATION OF MOORE FINITE STATE MACHINE IMPLEMENTED ON THE PROGRAMMABLE LOGIC This article is proposed a method which is designed to reduce the number of input variables and intermediate terms of Boolean functions. The method is based on the extended codes of states and replacement of logic conditions. Application of the proposed method allows up to 20% reduction in the total count of macrocells in blocks BLC and BFM.

Key words: Moore FSM, Programmable Logic, GSA, pseudoequivalent states, replacement of logic conditions.

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