AUTOMATIC SYNTHESIS OF COMBINATIONAL CIRCUITS USING QUARTUSII STATE MACHINE EDITOR

Abstract


The system design of programmable logic integrated circuits (FPGAs) QuartusII firm Altera have the option State Machine for automatic synthesis scheme the graph of a finite automaton through the intermediate step of receiving a program in VHDL. Options direct input truth table as a figure for subsequent automatic synthesis of circuits by the author have not been found, and the synthesis via the options of programming languages VHDL and others not within the interests of the author, therefore, attempt to use for these purposes the options of automatic synthesis by the State Machine QuartusII. The paper investigates the automatic synthesis of a combinational finite state machine using QuartusII by the State Machine Editor and language VHDL. It turns out that this option allows to synthesize not only the state machine with the memory containing more than two states, but the combination machine. In this case, the graph of a finite automaton contains only one state. Logic function describing the state machine are marks set of arcs that state. Tags prepared from the corresponding truth table, which must be obtained before using the State Machine Editor QuartusII. Symbols of logical operations used when specifying a finite state machine and displayed after synthesis tool Map Viewer are substantial differences. Are presented the results of a study the LUT FPGA truth tables.

Full Text

Введение. В системе проектирования программируемых логических интегральных схем (ПЛИС) 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.

About the authors

S. F Tyurin

Perm National Research Polytechnic University

References

  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

Statistics

Views

Abstract - 19

PDF (Russian) - 30

Refbacks

  • There are currently no refbacks.

Copyright (c) 2015 Tyurin S.F.

Creative Commons License
This work is licensed under a Creative Commons Attribution-NonCommercial 4.0 International License.

This website uses cookies

You consent to our cookies if you continue to use our website.

About Cookies