АВТОМАТИЧЕСКИЙ СИНТЕЗ КОМБИНАЦИОННОГО АВТОМАТА С ПОМОЩЬЮ STATE MACHINE EDITOR СИСТЕМЫ QUARTUSII

Аннотация


В системе проектирования программируемых логических интегральных схем (ПЛИС) QuartusII фирмы «Альтера» имеется опция State Machine для автоматического синтеза схемы по графу конечного автомата через промежуточный этап получения программы на языке VHDL. Опции непосредственного ввода таблицы истинности в числовом виде с целью последующего автоматического синтеза схемы автором не были обнаружены, а синтез с помощью опций языков программирования VHDL и других не входил в круг интересов автора, поэтому предпринята попытка использования для этих целей опций автоматического синтеза посредством State Machine QuartusII. Исследуется автоматический синтез комбинационного автомата в системе QuartusII с помощью State Machine Editor и языка VHDL. Оказывается, эта опция позволяет синтезировать не только конечный автомат с памятью, содержащий более двух состояний, но и комбинационный автомат. В случае комбинационного автомата граф содержит всего одно состояние. Логические функции, описывающие конечный автомат, являются метками множества дуг этого состояния. Метки получают из соответствующей таблицы истинности, которая должна быть получена перед использованием State Machine Editor QuartusII. Символы логических операций, используемые при задании таблицы переходов-выходов конечного автомата и отображаемые после синтеза средством Map Viewer, имеют существенные отличия. Анализируются логические функции, реализуемые логическими ячейками LUT (Look Up Table), и устанавливаются особенности полученной схемы автомата с помощью средства Map Viewer.

Полный текст

Введение. В системе проектирования программируемых логических интегральных схем (ПЛИС) QuartusII фирмы Альтера [1, 2] имеется опция State Machine для автоматического синтеза схемы по графу конечного автомата через промежуточный этап получения программы на языке VHDL. Вызывает интерес исследование возможности синтеза более простого автомата - комбинационного. Поскольку опции непосредственного ввода таблицы истинности в числовом виде с целью последующего автоматического синтеза схемы автором не были обнаружены, а синтез с помощью опций языков программирования VHDL и др. не входил в круг интересов автора, то предпримем попытку использования для этих целей опций автоматического синтеза посредством State Machine QuartusII. Автоматический синтез автомата, заданного в виде State Machine File. Как говорится, не мудрствуя лукаво, попробуем автоматически синтезировать не что иное, как двоичный сумматор [1, 2] (рис. 1). Рис. 1. Таблица истинности сумматора Логические функции, соответствующие таблице (рис. 1) имеют вид: Попробуем выполнить автоматический синтез схемы соответствующего комбинационного автомата - полного сумматора по высокоуровневому описанию в виде графа автомата [3, 4]. Запускаем опцию State Machine и создаём граф из одной единственной вершины (рис. 2). Рис. 2. Задание графа из одной вершины в State Machine Таблицу переходов (из состояния 1 в состояние 1 - других нет!) в State Machine задаём с использованием символов следующих логических операций: | - «ИЛИ» (вертикальная черта | в английском алфавите нажимать обратный слэш с шифтом); & - «И»; ~ - «НЕ». Делаем следующим образом (рис. 3). Рис. 3. Таблица переходов комбинационного автомата Тогда итоговый граф будет выглядеть следующим образом (рис. 4). Рис. 4. Граф комбинационного автомата с логической функцией переходов из состояния ё в состояние 1 Таблицу истинности в State Machine задаём так (рис. 5). Рис. 5. Задание таблицы истинности Итак, входные наборы приходится повторять два раза - столько функций. Конечно, гораздо удобнее было бы задавать в числовом виде, а не формулами. Компиляция комбинационного автомата, заданного в виде State Machine File. Получаем в начале VHDL-файл (рис. 6). Рис. 6. Фрагмент VHDL-файла, созданного по графу в State Machine Проводим компиляцию VHDL-файла (рис. 7). Flow Status Quartus II Version Revision Name Top-level Entity Name Family Device Timing Models Met timing requirements Total logic elements Total combinational functions Dedicated logic registers Total registers Total pins Total virtual pins Total memory bits Embedded Multiplier 9-bit elements Total PLLs Successful - Thu Feb 19 18:41:10 2015 9.0 Build 132 02/25/2009 SJ Web Edition Lab10 Lab10 Cyclone II ET2C5AF256A7 Final Yes 2/4,608 (<1%) 2/4,608 (<1%) 0/4,608 (0%) 0 7/158 (4%) 0 0/119,808 (0%) 0/26 (0%) 0/2 (0%) Рис. 7. Результаты компиляции VHDL-файла, созданного по графу в State Machine Далее просматриваем результаты с помощью средства Map Viewer (рис. 8). На рис. 8 указаны шестнадцатеричные коды настройки логических элементов (ячеек) LOGIC CELL COMB. Каждая логическая ячейка содержит постоянное запоминающее устройство ПЗУ, называемое производителями LUT (Look Up Table), вероятно, потому, что туда загружается таблица истинности требуемой логической функции [5-10]. При выделении соответствующей ячейки отображается логическая функция (рис. 9,10). Рис. 8. Map Viewer схемы автомата, созданной по графу State Machine Рис. 9. Map Viewer с отображением логической функции p Рис. 10. Map Viewer с отображением логической функции s Вызывает некоторое недоумение различие символов операций с теми, что были использованы при настройке графа State Machine. Так, инверсия на рис. 9, 10 обозначена восклицательным знаком, дизъюнкция - решёткой. Очевидно, что $ на рис. 10 - это сумма по модулю два (Исключающее ИЛИ). Расшифровка шестнадцатеричных кодов логических функций комбинационной схемы, автоматически синтезированной в State Machine File. Расшифруем логическую функцию. Так, для настройки 0096 получаем (рис. 11). Рис. 11. Таблица истинности функции s, настройка 0096 Видим, что по умолчанию задан активный уровень сигнала сброса Reset - единичный. Таким образом, действительно задана функция сложения по модулю два - функция суммы: Расшифруем логическую функцию и для настройки 00Е8 получаем (рис. 12). Рис. 12. Таблица истинности функции p, настройка 00Е8 Таким образом, действительно задана мажоритарная логическая функция - функция переноса: Так и есть, функции соответствуют рис. 1 с учётом нулевого сигнала сброса. Выводы. Таким образом, использование графа автомата с одним состоянием позволяет провести автоматический синтез схемы комбинационного автомата по таблице истинности, задаваемой фактически в виде формул соответствующих конъюнкций. Причём её необходимо повторять столько раз, сколько имеется выходных функций. Символы логических операций, используемые при задании графа и отображаемые после синтеза средством Map Viewer, имеют существенные отличия. В дальнейшем целесообразно установить имеющиеся ограничения на количество входных переменных и выходных функций при подобном задании комбинационного автомата, а также попытаться найти возможности задания таблиц истинности в более удобном - числовом виде, возможно, и с использованием языков описания аппаратных средств типа VHDL.

Об авторах

С. Ф Тюрин

Пермский национальный исследовательский политехнический университет

Список литературы

  1. Аляев Ю.А., Тюрин С.Ф. Дискретная математика и математическая логика. - М.: Финансы и статистика, 2006. - 357 с.
  2. Тюрин С.Ф., Аляев Ю.А. Дискретная математика: практическая дискретная математика и математическая логика. - М.: Финансы и статистика, 2010. - 394 с.
  3. Тюрин С.Ф., Громов О.А., Греков А.В. Реализация цифровых автоматов в системе Quartus фирмы Altera: лабораторный практикум. - Пермь: Изд-во Перм. нац. исслед. политехн. ун-та, 2011. - 133 с.
  4. Quartus II Help v11.1 > enum_encoding VHDL Synthesis Attribute [Электронный ресурс]. - URL: http://quartushelp.altera.com/11.1/ mergedProjects/hdl/vhdl/vhdl_file_dir_enum_encoding.htm (дата обращения: 12.01.2015).
  5. Цыбин С. Программируемая коммутация ПЛИС: взгляд изнутри [Электронный ресурс]. - URL: http://www.kit-e.ru/articles/plis/ 2010_11_56.php (дата обращения: 16.12.2014).
  6. Тюрин С.Ф. Расшифровка кодов настроек автомата, заданного в виде схемы системы QUARTUS II // Проектирование и технология электронных средств. - 2015. - № 4. - С. 25-28.
  7. Тюрин С.Ф. Анализ настроек логических элементов при проектировании автомата в системе QUARTUSII // В мире научных открытий. - 2015. - № 4 (64). - С. 437-453.
  8. Тюрин С.Ф. Дерево транзисторов для реализации систем логических функций // Вестник Пермского национального исследовательского политехнического университета. Электротехника, информационные технологии, системы управления. - 2015. - № 2 (14). - С. 37-45.
  9. Tyurin S.F., Grekov A.V., Gromov O.A. The principle of recovery logic FPGA for critical applications by adapting // World Applied Sciences Journal. - 2013. - № 26(3) - P. 328-332. doi: 10.5829/idosi.wasj.2013.26.03.13474
  10. Tyurin S.F., Gromov O.A. A residual basis search algorithm of fault-tolerant programmable logic integrated circuits // Russian Electrical Engineering. - 2013. - 84 (11). - P. 647-651. doi: 10.3103/S1068371213110163

Статистика

Просмотры

Аннотация - 49

PDF (Russian) - 39

Ссылки

  • Ссылки не определены.

© Тюрин С.Ф., 2015

Creative Commons License
Эта статья доступна по лицензии Creative Commons Attribution-NonCommercial 4.0 International License.

Данный сайт использует cookie-файлы

Продолжая использовать наш сайт, вы даете согласие на обработку файлов cookie, которые обеспечивают правильную работу сайта.

О куки-файлах