научная статья по теме Анализ настроек логических элементов при проектировании автомата в системе QuartusII Биология

Текст научной статьи на тему «Анализ настроек логических элементов при проектировании автомата в системе QuartusII»

DOI: 10.12731/wsd-2015-4-22 УДК 681.32

АНАЛИЗ НАСТРОЕК ЛОГИЧЕСКИХ ЭЛЕМЕНТОВ ПРИ ПРОЕКТИРОВАНИИ АВТОМАТА В СИСТЕМЕ QUARTUSII

Тюрин С.Ф.

В настоящее время так называемая программируемая логика, как промежуточный вариант между полностью программной (гибкой) и полностью аппаратной (жёсткой) реализацией, широко применяется при разработке цифровой аппаратуры. Одним из вариантов такой логики, связи и функции которой программируются, являются ППВМ -программируемые пользователем вентильные матрицы. Такие микросхемы чаще всего называют программируемыми логическими интегральными схемами (ПЛИС) типа FPGA (Field - Programmable Gate Array). Основой логических элементов (ЛЭ) FPGA являются блоки памяти - LUT (Look Up Table), в которые загружаются соответствующие таблицы истинности. Кроме того при конфигурировании FPGA загружаются настройки матриц коммутации ЛЭ.

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

подготовке специалистов. Более того, автор встречался с мнением, что фирмы - производители не раскрывают конфигурационную информацию.

В связи с этим в статье предпринята попытка анализа настроек логических элементов (ЛЭ) фирмы Альтера в системе QuartusII, бесплатно предоставляемой для обучения. Описывается процесс получения BDF (BlockDiagram / Schematic File) - схемы автомата - микропрограммного устройства управления. Как оказалось, по крайней мере, функции логических элементов доступны для декодирования с помощью средства Map Viewer. Устанавливаются особенности конфигурирования LUT, например, порядок следования переменных (база переменных) в каждом логическом элементе может быть различным.

Расшифровка шестнадцатеричных кодов настроек позволяет специалистам-инженерам более вдумчиво и детально анализировать проекты на основе ПЛИС, что способствует повышению качества подготовки кадров.

Ключевые слова: логический элемент - ЛЭ LUT (Look Up Table); программируемая логическая интегральная схема - ПЛИС; FPGA (Field - Programmable Gate Array), BDF (Block Diagram / Schematic File), система QuartusII, настройки LUT.

DECIPHERING LUT FPGA CONFIGURATION OF THE FINITE STATE MACHINE WITH QUARTUSII

Tyurin S.F.

A field-programmable gate array (FPGA) as one of the options of programmable logic occupies an intermediate position between the hardware and software and are widely used in the development of digital equipment. FPGAs contain programmable logic components called «logic cells» or «logic element» LE and a reconfigurable interconnects. The basis of such logic elements are LUT- Look Up Table , in which loaded the truth table logic function. When this setting is also loaded matrix switching LE. Development projects sufficiently well described in available sources, but a detailed analysis of the resulting data configuration usually not considered, that is not conducive to quality training. It is believed that the company manufacturers do not disclose information about the configuration file. The article attempts to analyze the settings of logic elements (LE) from Altera system Quartusll. Created a finite state machine (FSM) through a system QuartusII. Describes the process of obtaining BDF FSM. Decrypted configuration of the LUT FPGA. The author has found that at least the functions of logic elements available for decoding by using the Map Viewer. Set configuration features LUT, for example, the order of the variables may be different. Deciphering hexadecimal settings allows professionals-engineers more thoughtful and detailed analysis of projects which can improve the training of engineers.

Keywords: logic element LE; LUT FPGA; configuration of the LUT FPGA; deciphering; finite state machine - FSM; BDF - Block Diagram / Schematic File; Quartusll, the training of engineers.

Введение

Логика современных программируемых логических интегральных схем (ПЛИС) [1.. .7] типа FPGA ( field-programmable gate array) реализована в виде конфигурируемых логических блоков (КЛБ)[1,6], состоящих из настраиваемых логических элементов ЛЭ, соединяемых между собой и со схемами ввода-вывода посредством программируемых локальных и глобальных матриц соединений. Каждый логический элемент ЛЭ содержит постоянное запоминающее устройство ПЗУ, называемое производителями LUT (Look Up Table), вероятно от того, что туда загружается таблица истинности требуемой логической функции. Кроме того, ЛЭ включают и элементы памяти (триггеры).

LUT представляет собой мультиплексор - селектор (MS 16-1) на передающих МОП транзисторах, например, с четырьмя адресными входами (имеются уже LUT на 5,6 и даже 7 адресных входов). Входы данных LUT настраиваются так называемыми конфигурируемыми ячейками памяти - КЯ - ячейке статической памяти SRAM [1, 2]. Фирма Altera разработала среду (систему) программирования QuartusII [8.9] для своих микросхем ПЛИС, которая позволяет проектировать цифровые автоматы, используя в качестве их высокоуровневого описания (Design File) готовые схемы -BDF (Block Diagram / Schematic File) файлы, описания на языках VHDL, Verilog, AHDL и др., а также описание в виде графа автомата - State Machine File. Вызывает интерес вопрос формирование конфигурационного файла хотя бы с точки зрения программирования LUT - расшифровка настроек логических элементов. Дело в том, что в специальных приложениях требу-

ется разработка отказоустойчивых ПЛИС [10...16], для чего необходимо детальное знание процесса размещения, конфигурирования проекта.

Получение схемы автомата в виде BDF

Построим микропрограммное устройство управления (МПУУ) [17] на «жесткой» логике по некоторой заданной схеме алгоритма - СА (рис. 1).

Рис. 1. Схема алгоритма (СА) работы МПУУ

Выполним синтез схемы методом, изложенным в [17.25], получим систему уравнений:

y2(t +1) = d2(t) = Yj; Yi(t +j) = di(t) = У2 v Yixi; zi = У2У1; z2 = У2У1v yixi = (У2v xi)yi; (1)

z3 = У2У1х1;

Z4 = У2У1Х2; Z5 = У2У1Х2-

По уравнениям (1) создаём схему на «жёсткой» логике в QuartusII [17.19] (см. рис. 2).

Выполняем компиляцию проекта. Получаем RTL ( Register transfer level - уровень регистровых передач) файл (рис. 3):

Рис. 3. RTL файл

A J-—«eg ¿. 1 Я—

<> : л—

1: ft с .

t-^—

1 : Л, о 1 u: H ■ u !

If t \\ w 8l

Jl T? j H ■

.c

X

li 1 ъ i\1 * • J .

r- 1

1

ii я: , iH'

-и s ; г

5s it Й 0 t | L;

Рис. 2. Схема автомата в виде BDF (Block Diagram / Schematic File) Quartus 2

Компилятор «убрал» лишние инверторы, а так 6 логических элементов и получается - одна функция переходов

Yi(t +1) = djCt) = у2 v ylXl

и пять функций z. Кроме того имеются два элемента памяти -два триггера. Сброс осуществляется по нулевому уровню сигнала на входе reset.

Анализ настроек логических элементов

Проанализируем Map Viewer схемы автомата - то есть схему в реальных логических элементах (рис. 4):

41

reset I >-

Рис. 4. Map Viewer схемы автомата

Таким образом, компиляция по схеме BDF (Block Diagram / Schematic File) требует 6 логических элементов - все на 3 входа и два триггера У1,У2. Проверим настройки, используя стандартный LUT на 4 переменных. Первый блок - настройка 88FF (напишем снизу таблицы истинности вверх), проверим (рис. 5):

D с в А f(DCBA)

Y2 XI Y1

0 0 0 1

о 0 0 1 1

о 0 1 0 1

0 1 1 1

1 0 0 1

1 0 1 1

1 1 0 1

0 1 1 1 1

0 0 0 0

0 0 1 0

0 1 0 0

0 1 1 1

1 0 0 0

1 0 1 0

1 1 0 0

1 1 1 1

Рис. 5. Реализация функции управления первым триггером -настройка LUT88FF

Таким образом, действительно реализуется логическая функция управления первым триггером (функция переходов)

Yi(t +1) = djCt) = у2 v ylXl

Одна из выходных функций - z1 (рис. 4) имеет инверсию -кружок, функция подписана Проверим настройку

этого логического элемента ЕЕЕЕ (рис. 6):

D с в А f(DCBA)

Y1 Y2

0 0 0 0 0

0 0 0 1 1

0 0 1 0 1

0 0 1 1 1

0 1 0

0 1 1 1

0 1 1 0 1

0 1 1 1 1

1 0 0

1 0 1 1

1 0 1 0 1

1 0 1 1 1

1 1 0

1 1 1 1

1 1 1 0 1

1 1 1 1 1

Рис. 6. Реализация функции zl- настройка LUTЕЕЕЕ

Так и есть - функция инверсная, очевидно, это связано с реализацией выходных буферов ПЛИС. Map Viewer при наведении курсора на логический элемент показывает реализуемую логическую функцию (рис. 7):

Рис. 7. Реализация логической функции z2

Аналогично можно расшифровать и остальные логические функции.

Выводы

Таким образом, компилятор системы QuartusII оптимизирует схему автомата, заданную в виде BDF: «убирает» инверторы и «упаковывает» логические функции в логические элементы (LOGIC CELL) - LUT. Настройка логических элементов выводится опцией Map Viewer. Коды нумеруются со старших разрядов таблицы истинности - снизу вверх. Схема оптимизируется ещё раз Map Viewer и настройки могут изменится за счёт изменения входов логического элемента, но сами функции остаются прежними. Кроме того, порядок следования переменных в каждом логическом элементе может быть различным. Расшифровка шест-надцатеричных кодов настроек позволяет специалисту-инженеру более детально анализировать проекты на основе ПЛИС, что способствует повышению качества подготовки кадров и улучшению перспектив создания надёжных ПЛИС в нашей стране.

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

1. С. Цыбин. Программируемая коммутация ПЛИС: взгляд изнутри. [Электронный ресурс]. - URL: http://www.kit-e.ru/articles/ plis/2010_11_56.php (дата обращения 16.12.2014).

2. Eric J. McDonald Runtime FPGA Partial Reconfiguration // IEEE A&E SYSTEMS MAGAZINE. 2008. July. Pp. 10-15.

3. Yervant Z. Gest editors' introduction: Design for Yield and reliability / Z. Yervant, G. Dmytris // IEEE Design & Test of Computers. May-June 2004. Pp. 177-182.

4. Sadrozinski, Hartmut F.-W.; Wu, Jinyuan (2010). Applications of Field-Programmable Gate Arrays in Scientific Research. Taylor & Francis. ISBN 978-1-4398-4133-4.

5. Kuon, I.; Rose, J. (2006). «Mea

Для дальнейшего прочтения статьи необходимо приобрести полный текст. Статьи высылаются в формате PDF на указанную при оплате почту. Время доставки составляет менее 10 минут. Стоимость одной статьи — 150 рублей.

Показать целиком