Тип работы:
Предмет:
Язык работы:


ОПТИМИЗАЦИЯ КОМПОНЕНТОВ МНОГОМОДУЛЬНЫХ СИСТЕМ НА ОСНОВЕ РЕШЕНИЯ АВТОМАТНЫХ УРАВНЕНИЙ

Работа №192474

Тип работы

Магистерская диссертация

Предмет

физика

Объем работы74
Год сдачи2019
Стоимость4845 руб.
ПУБЛИКУЕТСЯ ВПЕРВЫЕ
Просмотрено
2
Не подходит работа?

Узнай цену на написание


ВВЕДЕНИЕ 4
1 Основные определения и обозначения 11
1.1 Конечные автоматы 11
1.2 Отношения между автоматами 13
1.3 Аппаратная реализация конечного автомата 15
1.4 Синхронная композиция автоматов 16
2 Покомпонентная оптимизация синхронной композиции автоматов 25
2.1 Минимизация полностью определенных детерминированных
автоматов 25
2.2 Построение сетевого эквивалента хвостового компонента 30
2.3 Минимизация частичных детерминированных автоматов 35
2.4 Особенности программной реализации конечных автоматов и
автоматных сетей 44
3 Оптимизация компонентов многомодульной синхронной композиции на
основе итеративного выделения «окон» в последовательной композиции компонентов 48
4 Экспериментальные результаты 52
4.1 Оптимизация автоматной сети на основе минимизации полностью
определенных детерминированных компонентов 52
4.2 Оптимизация компонентов автоматной сети на основе «безразличных» входных последовательностей компонента 54
ЗАКЛЮЧЕНИЕ 59
СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ 61
ПРИЛОЖЕНИЕ А Пример преобразования из формата .fsm в формат .v 64 ПРИЛОЖЕНИЕ Б Отчет о патентных исследованиях


Актуальность проблемы. Автоматная модель [1] используется для описания систем, которые переходят из состояния в состояние под действием входных воздействий, производя при этом выходные реакции. Соответственно, понятие автомата используется в различных областях для описания поведения различных управляющих систем, работающих в режиме «запрос-ответ». Описав поведение некоторой системы автоматом, можно оптимизировать реализацию системы, что в настоящее время становится все более актуальной задачей, особенно для систем с ограниченными вычислительными возможностями. Общим трендом является стремление сделать такие системы меньше, надежнее, и оптимизация компонентов относительно различных параметров направлена именно на это. Примером может служить Internet of Things (IoT,«интернет вещей») [2], в котором активно используются различные компоненты, которые можно было бы эффективно оптимизировать [2].
Оптимизация многомодульных систем часто осуществляется итеративно. В общем случае для оптимизации компонента в композиции можно использовать решение автоматного уравнения вида A• X =. A• B[3], где автомат А описывает совместное поведение остальных компонентов и часто называется контекстом. Однако сложность решения такого уравнения является очень высокой [4]. С другой стороны, известно [3], что можно выделить «окно», в котором находится последовательная композиция, а затем оптимизировать хвостовой компонент данной композиции, и в этом случае сложность оптимизации будет существенно ниже. В работе [5] применяется также «оконный подход», но выделяются «окна», где композиция не обязательно последовательная, что вносит дополнительные сложности в оптимизацию компонента; также в работе [5] практически не обсуждается оптимизация относительно числа состояний оптимизируемого компонента, а обсуждается оптимизация относительно других критериев: линий связи, отказоустойчивости относительно определенных неисправностей (fault-tolerance) и др., тогда как мы обсуждаем оптимизацию относительно числа элементов в логической схеме компонентов, т.е. оптимизацию относительно аппаратных реализаций автоматных сетей. В работе [6] описывается оптимизация сетей из структурных автоматов с использованием внутренних «безразличных» последовательностей (don't-cares)на основе решения задачи выполнимости булевых формул; мы же в нашей работе опираемся на построение сетевого эквивалента для хвостового компонента по алгоритму, представленному в [7]. Работа [8] также затрагивает тему оптимизации, но в ней авторы рассматривают не только входные «безразличные» последовательности, но и выходные «безразличные» последовательности, нахождение которых значительно более трудоемко. В работе [9] обсуждается оптимизация на основе решения автоматных уравнений и показывается, что иногда эффективнее решать не одно автоматное уравнение, а систему таких уравнений. Таким образом, исследования, проводимые в данной работе по оптимизации компонентов автоматных композиций, являются актуальными.
Целью работы является разработка метода оптимизации на основе выделения «окон» в композиции конечных автоматов, содержащих последовательную композицию компонентов системы, для последующей минимизации аппаратных реализаций выделенных компонентов.
Для достижения поставленной цели необходимо решить следующие задачи.
Задачи: исследование методов покомпонентной оптимизации дискретных управляющих систем, поведение которых описано синхронной композицией автоматов; анализ достоинств и недостатков различных методов; разработка метода оптимизации на основе выделения «окон» в композиции конечных автоматов, содержащих последовательную композицию компонентов системы; разработка метода итеративного выделения таких «окон» в синхронной композиции конечных автоматов; проведение экспериментов по оптимизации аппаратных реализаций компонентов многомодульных систем, заданных конечными автоматами.
Методы исследования. Для достижения поставленной цели в работе используется аппарат дискретной математики, в частности, методы теории автоматов.
Научная новизна.
Предложен новый метод для покомпонентной оптимизации автоматных сетей, основанный на итеративном выделении «окон» в многомодульной системе, которые содержат последовательную композицию компонентов, и построении сетевого эквивалента хвостового компонента.
Основные положения, выносимые на защиту.
1. Экспериментальная оценка сложности реализации конечного автомата и его минимальной формы с использованием ПЛИС.
2. Метод итеративного выделения «окон» в композиции конечных автоматов, которые содержат последовательную композицию компонентов, и экспериментальные результаты по оптимизации компонентов последовательной композиции.
Достоверность результатов. Все научные положения и выводы, содержащиеся в работе, основаны на утверждениях, доказанных с использованием аппарата классической теории автоматов.
Практическая ценность. Предложенный в работе метод может быть использован при логическом проектировании многокомпонентных дискретных систем, а именно для оптимизации компонентов таких систем.
Апробация работы. Основные положения и результаты, представленные в работе, обсуждались на двух конференциях, в частности, на конференции с международным участием «Новые информационные технологии в исследовании сложных структур» («ICAM») на Алтае и на Всероссийской конференции студенческих научно-исследовательских инкубаторов («СНИИ») в Томске. По результатам работы опубликовано 2 работы в изданиях, индексируемых в базе данных РИНЦ [10][11].
Структура и объем работы. Магистерская диссертация разделена на 4 главы.
Во введении обсуждаются актуальность и цель работы, сформулированы положения, выносимые на защиту.
Первая глава содержит основные определения и обозначения, которые используются в работе. Первая глава содержит определения конечного автомата, синхронной композиции автоматов; описывается аппаратная реализация конечных автоматов.
Конечный автомат (или просто автомат) представляет собой преобразователь последовательностей в одном алфавите в последовательности в другом алфавите [12]. Такая модель позволяет описать поведение систем, которые переходят из состояния в состояние под действием входных символов и производят при этом выходные символы; в этом случае часто говорят, что система реализует некоторую последовательностную функцию, отображая последовательности в одном (входном) алфавите в последовательности в другом (выходном) алфавите. Автомат называется полностью определенным, если из каждого его состояния по каждому входному символу возможен переход в некоторое состояние. Достаточно часто рассматривают инициальные автоматы, т.е. автоматы, в которых выделено начальное состояние. Инициальные полностью определенные автоматы называются эквивалентными, если эти автоматы в начальных состояниях под воздействием любой входной последовательности выдают одинаковые выходные последовательности.
При синтезе сложных (в том числе дискретных) управляющих систем важную роль играет представление системы в виде композиции других, более простых, в некотором смысле, подсистем. В настоящей работе рассматриваются системы, поведение которых можно описать синхронной композицией полностью определенных детерминированных автоматов [3]; в синхронной композиции обработка каждого входного сигнала происходит за один такт, и такая композиция обычно используется при описании поведения систем из аппаратных или аппаратно-программных компонентов. Аппаратной реализацией конечного автомата в нашей работе является логическая схема из адаптивных логических модулей (Adaptive Logic Module, ALM), которые представляют собой базовые логические элементы платформы Altera Cyclone V GX [13].
В настоящей работе рассматривается два подхода к покомпонентной оптимизации синхронной композиции автоматов. В первом случае компоненты оптимизируются как «самостоятельные» конечные автоматы независимо от других компонентов; в этом случае компонент можно заменить на любой эквивалентный ему автомат, и при этом чаще всего используется приведенная форма автомата-компонента. Однако известно [3], что поведение автоматной сети может остаться прежним, даже если автомат-компонент заменяется на неэквивалентный ему автомат. Поэтому компоненты можно оптимизировать в зависимости от поведения других компонентов; для такой оптимизации обычно привлекается явное или неявное решение автоматных уравнений.
Во второй главе рассматриваются вышеупомянутые подходы к покомпонентной оптимизации синхронной композиции автоматов. Для первого подхода в главе описывается алгоритм минимизации полностью определенных детерминированных автоматов. В другом случае компоненты оптимизируются в зависимости от поведения других компонентов. Для второго подхода в главе описываются алгоритм построения сетевого эквивалента хвостового компонента и алгоритм минимизации частичных детерминированных автоматов. Все вышеупомянутые алгоритмы были реализованы программно; данная глава также содержит описание особенностей программных реализаций.
В третьей главе рассматривается минимизация компонентов в композиции автоматов, поскольку, как отмечено выше, поведение автоматной сети может остаться прежним, даже если автомат-компонент заменяется на неэквивалентный ему автомат (подобный пример приведен в разделе 2.2). Поэтому компоненты можно оптимизировать в зависимости от поведения других компонентов; для такой оптимизации обычно привлекается явное или неявное решение автоматных уравнений. Общее решение автоматного уравнения вида A• X = A• B[3], где автомат А описывает совместное поведение всех компонентов, за исключение оптимизируемого компонента B, можно рассматривать как резервуар для выбора оптимального решения (относительно заданного критерия оптимизации). Однако сложность решения такого уравнения является очень высокой [4], и для понижения сложности такой покомпонентной оптимизации достаточно часто используется так называемый оконный подход (window approach) [3], который показал себя достаточно эффективным относительно различных критериев оптимизации. Поскольку в нашей работе мы оптимизируем компоненты относительно последующей аппаратной минимизации, то достаточно эффективным является итеративное выделение «окна», в котором находится последовательная композиция двух компонентов. В этом случае общее решение уравнения для хвостового компонента строится достаточно просто и является детерминированным частичным автоматом, минимальная форма которого, реализованная аппаратно, может заменить данный компонент без изменения внешнего поведения всей системы.
Последовательность «окон» можно выделять итеративно, т.е. выделить «окно», провести оптимизацию хвостового компонента, а затем выделить еще одно «окно», головным компонентом которого будет первое «окно», а хвостовым - соседний последовательный модуль, который не был оптимизирован. Такой алгоритм итеративного построения «окон» представлен в данной главе.
В четвертой главе описываются экспериментальные результаты. Для аппаратной реализации компонентов автоматной сети использовалась платформа Altera Cyclone V GX [13].
В ходе выполнения данной работы была исследована сложность аппаратных реализаций компонентов сети как независимых автоматов, так и в зависимости от поведения соседних компонентов. Экспериментально показано, что минимизация автомата-компонента не всегда приводит к оптимизации соответствующей аппаратной реализации, т.е. примерно в 5% случаев исходный неминимальный автомат имеет в реализации большее число базовых элементов аппаратной платформы. Однако в 95% случаев минимизация компонента приводит к уменьшению числа базовых элементов в его аппаратной реализации в среднем примерно на 20%. Соответственно, при оптимизации автомата как компонента сети представляется полезным прибегнуть к такой минимизации перед следующим шагом оптимизации на основе выделения «окон» с последовательной композицией и построения сетевого эквивалента хвостового компонента последовательной композиции. Сетевой эквивалент строится по алгоритму, описанному в разделе 2.2; минимизация сетевого эквивалента осуществляется с помощью алгоритма, описанного в разделе 2.3. Экспериментально показано, что в 80% случаев минимизация сетевого эквивалента приводит к более простой реализации по числу базовых элементов. Также показано, что предложенный в главе 3 подход к покомпонентной итеративной оптимизации представляется действенным для автоматных сетей.
В заключении кратко приводятся полученные в диссертации результаты, а также обсуждаются перспективы дальнейших научных исследований.


Возникли сложности?

Нужна помощь преподавателя?

Помощь в написании работ!


В процессе работы рассмотрены задачи оптимизации FPGA реализаций компонентов синхронной композиции конечных автоматов, которая широко используется для представления дискретных систем в виде композиций других, более простых в некотором смысле подсистем. В частности, предложен алгоритм выделения «окон» в композиции, содержащих последовательную композицию из двух компонентов. Проведены эксперименты по оптимизации компонентов автоматной сети как независимых автоматов, так и в зависимости от соседних компонентов. Показано, что в некоторых достаточно редких случаях независимая минимизация конечного автомата не приводит к оптимизации аппаратной реализации соответствующего компонента сети, однако в большинстве случаев представляется полезным прибегнуть к такой минимизации перед итеративной оптимизацией. Также показано, что построение сетевого эквивалента хвостового компонента по алгоритму, описанному в главе 2, в большинстве случаев приводит, по крайней мере, к оптимизации числа переходов в хвостовом компоненте, что в свою очередь приводит к оптимизации FPGA реализации данного компонента. Показано, что предложенный в главе 3 подход к покомпонентной итеративной оптимизации представляется действенным для автоматных сетей; для последовательных сетей наиболее действенной оказывается оптимизация компонентов близких к хвостовому компоненту в сети, поскольку поведение их сетевого эквивалента обуславливается конфигурацией всей схемы.
В дальнейшем планируется изучить влияние свойств автоматов на сложность их аппаратных реализаций; рассмотреть различные виды композиций с обратными связями и влияние топологии композиции на предложенный метод покомпонентной оптимизации.
Автор выражает искреннюю благодарность асп. РФФ ТГУ Широковой Екатерине Владимировне за полезные дискуссии и помощь в подготовке диссертации.



1. Евтушенко Н.В., Петренко А.Ф., Ветрова М.В. Недетерминированные автоматы: анализ и синтез. Ч. 1. Отношения и операции: Учебное пособие. — Томск: Томский государственный университет, 2006. — 142 с.
2. XiaF, YangL.T., WangL., VinelA. Internet of Things. — International Journal of Communication Systems, Volume 25. — 2012. — №9. — С. 1101-1102.
3. Евтушенко Н.В., Рекун М.В., Тихомирова С.В. Недетерминированные автоматы: анализ и синтез. Ч. 2. Решение автоматных уравнений: Учебное пособие. — Томск: Томский государственный университет, 2009. — 111 с.
4. T. Villa, N. Yevtushenko, R.K. Braytuon, A. Mishchenko, A. Petrenko, A.L. Sangiovanni-Vincentelli. The Problem of the Unknown Component: from Theory to Applications. — Springer, 2011. — 323 с.
5. Тихомирова С.В. Оптимизация многокомпонентных дискретных систем на основе решения автоматных уравнений: Диссертация на соискание ученой степени кандидата технических наук. — Том. Гос. Ун-т, 2008.
6. A. Mishchenko, R.K. Brayton. SAT-based complete don’t-care computation for network optimization. — The Proceedings of the Design, Automation and Test in Europe Conference, Volume 01. — Март 2005. — С. 412-417.
7. Ветрова М.В. Разработка алгоритмов синтеза и тестирования конечно-автоматных компенсаторов: Диссертация на соискание ученой степени кандидата технических наук. — Том. Гос. Ун-т, 2003.
8. J.-K. Rho, F. Somenzi. Don’t care sequences and the optimization of interacting finite state machines. — IEEE Trans. Comp. Aided Des., Volume 13. — 1994. — №7. — С. 865-874.
9. N. Yevtushenko, S. Zharikova, M. Vetrova. Multi component digital circuit optimization by solving FSM equations. — Proceedings of the Euromicro Symposium on Digital Systems Design, DSD ’03. — 2003. — С. 62-68.
10.,Шварцкоп В.А. К покомпонентной оптимизации синхронной композиции автоматов. — Новые информационные технологии в исследовании сложных структур: материалы Двенадцатой конференции с международным участием. 4-8 июня 2018 г. — Томск: Издательский Дом Томского государственного университета, 2018. — С. 92.
11. Шварцкоп В.А, Широкова Е.В. Оптимизация компонентов дискретной системы на основе анализа соседних модулей. — Труды Шестнадцатой Всероссийской конференции студенческих научно-исследовательских инкубаторов. — Томск, 13-15 мая 2019 г. [Принята к печати]
12. Гилл А. Введение в теорию конечных автоматов. — М.: Наука, 1966. — 272 с.
13. Сайт фирмы Altera [Электронный ресурс] Cyclone V, URL:
https://www.altera.com/products/fpga/cyclone-series/cyclone-v/overview.html(Дата обращения: 20.06.2018)
14. Сайт Verilog.com[Электронный ресурс] Verilog Resources, URL: http://www.verilog.com/(Дата обращения: 24.06.2018)
15. Сайт фирмы Altera [Электронный ресурс] Cyclone V Device Overview, URL: https://www.altera.com/en_US/pdfs/literature/hb/cyclone-v/cv_51001.pdf(Дата обращения: 24.06.2018)
16. Агибалов Г. П., Оранов А. М. Лекции по теории конечных автоматов. — Томск: Изд-во Томск. Ун-та, 1984. — 186 с.
17. Сайт университета Беркли [Электронный ресурс] ABC: A System for
Sequential Synthesis and Verification, URL:
https://people.eecs.berkeley.edu/~alanmi/abc/(Дата обращения: 24.06.2018)
18. J. Hartmanis, R. E. Stearns. Algebraic Structure Theory of Sequential Machines.
— Prentice-Hall, 1966. — 219 с.
19. J.E. Hopcroft. Introduction to automata theory, languages, and computation / John E. Hopcroft, Rajeev Motwani, Jeffrey D. Ullman. — Addison-Wesley, 2001. — 521 с.
20. Евтушенко Н.В., Жарикова С.В. Решение автоматных уравнений в различных приложениях. — Вестник КрасГУ, серия «Физико-математические науки». — 2004. — №3. — С. 35-39.
21.Закревский А. Д., Поттосин Ю. В., Черемисинова Л. Д. Логические основы проектирования дискретных устройств. — М.: ФИЗМАТЛИТ, 2007. — 592 с.
22. A. Simao, A.D.B. Alberto. Iterative minimization of partial Finite State Machines.
— Central European Journal of Communication Science, Volume 3. — 2013. — №2. — С. 91-103.
23. H. Higuchi, Y. Matsunaga. A fast state reduction algorithm for incompletely specified finite state machine. — DAC ’96: Proceedings of the 33rd annual conference on Design automation (Las Vegas, Nevada, United States). — ACM, 1996. — С. 463-466.
24. J.M. Pena, A.L. Oliveira. A new algorithm for the reduction of incompletely specified finite state machines. — ICCAD ’98: Proceedings of the 1998 IEEE/ACM international conference on Computer-aided design (San Jose, California, United States). — ACM, 1998. — С. 482-489.
25.S. Goren, F.J. Ferguson. On state reduction of incompletely specified finite state machines. — COMPUT ELECTR ENG. — 2007. — №33. — С. 58-69.
26. Страуструп, Б. Язык программирования C++ / Бьерн Страуструп: пер. с англ. Под ред. Н.Н. Мартынова. — Москва: Бином, 2011. — 1136 с.
27. Документация фреймворка Qt [Электронный ресурс] Qt Documentation, URL: https://doc.qt.io/(Дата обращения: 18.05.2019)


Работу высылаем на протяжении 30 минут после оплаты.




©2025 Cервис помощи студентам в выполнении работ