Научная статья на тему 'РАЗРАБОТКА МЕТОДИКИ ПРОЕКТИРОВАНИЯ ЦИФРОВЫХ АВТОМАТОВ С ПАМЯТЬЮ НА ПЛИС'

РАЗРАБОТКА МЕТОДИКИ ПРОЕКТИРОВАНИЯ ЦИФРОВЫХ АВТОМАТОВ С ПАМЯТЬЮ НА ПЛИС Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
52
23
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ЦИФРОВЫЕ АВТОМАТЫ С ПАМЯТЬЮ / ПРОГРАММИРУЕМАЯ ЛОГИКА / ВРЕМЕННАЯ ДИАГРАММА / DIGITAL AUTOMATA WITH MEMORY / PROGRAMMABLE LOGIC / TIMING DIAGRAM

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Пирогов А.А., Пирогова Ю.А., Гвозденко С.А., Шардаков Д.В., Сёмка Э.В.

Программируемые логические интегральные схемы (ПЛИС) - это настраиваемые интегральные схемы, логика которых определяется программированием. ПЛИС производятся полностью в готовом виде, т.е. относятся к стандартной продукции, что сопровождается известными преимуществами - массовым производством и снижением затрат. Благодаря регулярной структуре ПЛИС реализованы с уровнем интеграции, близким к максимально эффективному. Использование ПЛИС позволяет получить устройства, которые могут менять конфигурацию, подстраиваясь под конкретную задачу, благодаря своей гибко изменяемой, программируемой структуре. При разработке сложных устройств в качестве компонентов для проектирования могут использоваться готовые блоки: IP-ядра или сложно-функциональные блоки (СФ-блоки). Применение программных СФ-блоков позволяет максимально эффективно использовать их в итоговом проекте, таким образом во многом снижаются затраты на проектирование. Цель работы - изучение методики описания триггеров на языке VHDL, применения встроенного схемного редактора Active HDL для формирования структур различных цифровых автоматов и верификации моделей на логическом уровне. В данном исследовании рассмотрены схемы генераторов псевдослучайных последовательностей, которые находят применение в задачах криптографии, где свойства программируемой структуры ПЛИС достаточно актуальны

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

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Пирогов А.А., Пирогова Ю.А., Гвозденко С.А., Шардаков Д.В., Сёмка Э.В.

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

DEVELOPMENT OF A PROCEDURE FOR DESIGNING DIGITAL AUTOMATES WITH MEMORY ON FPGA

Programmable logic integrated circuits (FPGAs) are custom integrated circuits whose logic is defined by programming. FPGAs are manufactured completely off-the-shelf, i.e. belong to standard products, which is accompanied by well-known advantages - mass production and cost reduction. Due to the regular structure, FPGAs are implemented with a level of integration close to the most efficient one. The use of FPGAs makes it possible to obtain devices that can change configuration, adjusting to a specific task, thanks to their flexible, programmable structure. When developing complex devices, ready-made blocks - IP-cores or complex-functional blocks (SF blocks) - can be used as components for design. The use of software SF blocks allows you to use them as efficiently as possible in the final project, largely reducing design costs. The purpose of the work is to study the technique of describing triggers in the VHDL language, using the built-in Active HDL schematic editor to form the structures of various digital automata and verifying models at the logical level. In this study, we considered schemes of pseudo-random sequence generators, which are used in cryptography problems, where the properties of the programmable FPGA structure are quite relevant

Текст научной работы на тему «РАЗРАБОТКА МЕТОДИКИ ПРОЕКТИРОВАНИЯ ЦИФРОВЫХ АВТОМАТОВ С ПАМЯТЬЮ НА ПЛИС»

DOI 10.36622/VSTU.2020.16.6.009 УДК 621.37

РАЗРАБОТКА МЕТОДИКИ ПРОЕКТИРОВАНИЯ ЦИФРОВЫХ АВТОМАТОВ

С ПАМЯТЬЮ НА ПЛИС

А.А. Пирогов1, Ю.А. Пирогова1, С.А. Гвозденко1, Д.В. Шардаков1, Э.В. Сёмка2

воронежский государственный технический университет, г. Воронеж, Россия 2Военный учебно-научный центр Военно-воздушных сил «Военно-воздушная академия им. проф. Н.Е. Жуковского и Ю.А. Гагарина», г. Воронеж, Россия

Аннотация: программируемые логические интегральные схемы (ПЛИС) - это настраиваемые интегральные схемы, логика которых определяется программированием. ПЛИС производятся полностью в готовом виде, т.е. относятся к стандартной продукции, что сопровождается известными преимуществами - массовым производством и снижением затрат. Благодаря регулярной структуре ПЛИС реализованы с уровнем интеграции, близким к максимально эффективному. Использование ПЛИС позволяет получить устройства, которые могут менять конфигурацию, подстраиваясь под конкретную задачу, благодаря своей гибко изменяемой, программируемой структуре. При разработке сложных устройств в качестве компонентов для проектирования могут использоваться готовые блоки: IP-ядра или сложно-функциональные блоки (СФ-блоки). Применение программных СФ-блоков позволяет максимально эффективно использовать их в итоговом проекте, таким образом во многом снижаются затраты на проектирование. Цель работы - изучение методики описания триггеров на языке VHDL, применения встроенного схемного редактора Active HDL для формирования структур различных цифровых автоматов и верификации моделей на логическом уровне. В данном исследовании рассмотрены схемы генераторов псевдослучайных последовательностей, которые находят применение в задачах криптографии, где свойства программируемой структуры ПЛИС достаточно актуальны

Ключевые слова: цифровые автоматы с памятью, программируемая логика, временная диаграмма

Введение

Программный комплекс Active HDL позволяет проводить разработку цифровых функциональных узлов на логическом уровне. Результатом моделирования в данном случае является RTL-модель устройства на языках описания оборудования VHDL или Verilog.

Модели возможно формировать при использовании трех разных маршрутов проектирования (рис. 1):

HDE - режим прямого программирования устройства на языках VHDL или Verilog.

FSM - режим функционального моделирования цифровых автоматов.

BDE - режим формирования схем устройств на логических элементах.

Functional simulation - верификация проекта на логическом уровне. Построение временных диаграмм работы сформированных функциональных узлов.

Далее следует отладка и физическая верификация проекта на физическом уровне с использованием отладочных плат на основе программируемых логических интегральных схем [1].

© Пирогов А.А., Пирогова Ю.А., Гвозденко С.А., Шардаков Д.В., Сёмка Э.В., 2020

При запуске система Active HDL предлагает создать или выбрать рабочую папку на диске для разрабатываемых моделей проекта. После этого в системе необходимо выбрать допустимый способ формирования нового проекта:

1. Создание пустого проекта и дальнейшее формирование его структуры.

2. Создание пустого проекта с иллюстрацией полного маршрута его проектирования и выбора типа проекта.

3. Добавление элементов к существующему проекту.

4. Импорт проекта из Active-CAD.

После выбора способа формирования

проекта в системе указывается язык программирования VHDL или Verilog, на котором будут описаны выходные RTL-модели проекта. Затем необходимо указать имя проекта. По умолчанию он будет привязан к созданной ранее рабочей папке. Интерфейс программы представляет собой набор следующих рабочих элементов:

1. Основное рабочее окно для формирования схем на логических элементах и описания проекта на языках VHDL или Verilog.

2. Дерево проекта, с набором входящих в его состав файлов функциональных узлов.

3. Главное меню и панель инструментов с ные ошибки и предупреждения, состояния вынесенными основными функциями. этапов моделирования.

4. Окно терминала, в котором выводится информация о статусе компиляции, возмож-

Рис. 1. Маршрут проектирования устройства в Active HDL

В режиме схемного редактора (BDE) схема устройства формируется с использованием следующего набора инструментов:

1. Встроенной библиотеки логических элементов, которая может быть дополнена новыми собственными компонентами. Каждый скомпилированный новый файл проекта может быть добавлен в библиотеку как отдельный ее компонент.

2. Инструмента построения линий межблочных связей и шин данных.

3. Инструмента установки портов ввода и вывода устройства. В процессе моделирования на входные порты подаются формируемые си-мулятором сигналы, а по состоянию выходных портов отслеживается поведение модели в целом.

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

После проведения компиляции проекта проводится его верификация на логическом уровне. Для этого в режиме Waveform необходимо добавить порты ввода и вывода устройства в меню Add Signals. Каждому входному порту назначается доступный режим симуляции. Для задания входных воздействий могут быть использованы следующие режимы:

1. Clock - задание прямоугольного импульса с установкой требуемой частоты или длительности.

2. Formula - задание сложного аперио-дичного воздействия.

3. Value - задание фиксированных состояний на вход (логический ноль или логическая единица).

4. Hotkey - задание входного воздействия с возможностью переключения входных состояний с использованием зарезервированных «горячих» клавиш клавиатуры.

На основе выполненных установок симу-лятор отрабатывает заданный промежуток времени и формирует на экране временную диаграмму работы устройства [2].

Проектирование базовых компонентов цифровых автоматов с памятью

В основе проектируемых автоматов с памятью были использованы универсальные JK-триггеры. Модель триггера и временная диаграмма работы модели представлены на рис. 2 и рис. 3. Триггер имеет входы синхронного сброса (K) и установки (J), вход синхроимпульса (Clk), вход сброса синхронного (Clr). Выходы у триггера взаимно инверсные (Q) и (notQ).

Исходное кодовое описание триггера на языке описания аппаратуры VHDL в данной работе было дополнено и сформирована модель JK-триггера с дополнительными асинхронными входами сброса (R) и установки (S). Данная модель понадобится в дальнейшем для нашей работы (рис. 3).

На рис. 4 представлена модель последовательно-параллельного регистра. Регистры представляют простые автоматы с памятью на

основе триггеров. Представленная модель регистра позволяет записать код числа в последовательном коде и единовременно считать

состояния всех триггеров, получив при этом его параллельный код.

У2

С1к 0

С1г поЮ

и

К

]к_1пддег

из

С1к О

С1г поЮ

и

К

1*

Б

№те 0 1 00 200 300 400 500 600 700 800 900 1000 1100

. пэ

_II I |_

К I I

С1г II II

0 I I I I

поЮ I I II

С1к I |_| |_| |_| |_| |_| |_| |_| ы ы ы

Рис. 2. Модель JK-триггера

Мате О 100 ^ 200 | 300 1 400 < 500 | 600 ( 700 | ВОО | 900 1 1000 ^ 1100 ( 1200 1 1300

в | |

я | |_

и _| |_

К | |

С1г I I I I

О _| |_ _| |_

по1С) |_ _| |_ _]

С [к I |_| \__\ |_| |_| |_| |_| |_| |_| |_| |_| |_| |_|

Рис. 3. Модель JK-триггера с асинхронными входами сброса и установки

Рис. 4. Последовательно-параллельный регистр на JK-триггерах

Временная диаграмма работы (рис. 5.) последовательно-параллельного регистра представлена на рисунке ниже. В регистр вводится один бит, который последовательно смещается по каждому такту синхроимпульса. На выходе

регистра (У) снимается последовательно полученный входной двоичный код. Параллельное чтение кодовой комбинации идет с выходов (ОШриЮ - ОШрШЭ).

Ыате 0 100 200 300 400 500 600 700 800 900 Пв

р I I I I

С1_в II II

СМриЮ I I I I

С)1Лр1Л1 I I II

0>Лр|Л2 | |

0|Лр>ЛЗ | |

У | |

С1.К I I I I I I I I I I I I I I I I I

Рис. 5. Временная диаграмма работы четырехразрядного последовательно-параллельного регистра

Далее представлена модель четырехразрядного двоичного счетчика прямого счета (рис. 6). Счетчик представляет собой устройство генерирования заданной последовательности кодов, обеспечивает подсчет импульсов.

В данном случае счетчиком происходит генерирование кодовых комбинаций от 00002 (010) до 11112 (1510). Переключение счетчика наступает при поступлении фронта сигнала синхроимпульса (С1к).

Рис. 6. Модель четырехразрядного двоичного счетчика

Временная диаграмма работы четырех- щего сброса устройства (С1г) счетчик форми-

разрядного двоичного счетчика представлена рует максимальное значение кода на 16 с мо-

на рис. 7. Из диаграммы видно, что после об- мента сброса импульс.

Ыате 0 200 400 600 800 1000 1200 1400 1600 1800 | I 1 | ! 1 1 ' 1 | 1 1 | 1 1 | 1 1 | 1 | 1 1 | 1 1 | ПБ

С1к

С1г |

СМриЮ 1 1111111111111111

С)1Лр1Л1 111111111

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

0>Лр|Л2 II 1 1 1

0|Лр>ЛЗ 1 1 1

Рис. 7. Временная диаграмма работы четырехразрядного двоичного счетчика

Проектирование генератора псевдослучайной последовательности Фибоначчи

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

Рассмотрим модель генератора псевдослучайной последовательности Фибоначчи трехразрядного двоичного кода, выполненного на основе регистра сдвига, с использованием JK-триггеров с асинхронными входами сброса и установки (рис. 8). Для конфигурации Фибоначчи функция обратной связи имеет следующий вид:

Б}- = Б]_1 ф , (1)

где SJ - состояние _)-й ячейки регистра сдвига генератора последовательности Фибоначчи.

Рис. 8. Генератор псевдослучайной последовательности Фибоначчи

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

На седьмом такте работы модели состояние выходного параметра вернулось к начальному и начиная со следующего будет идти повторение генерируемой кодовой комбинации

[3].

Ниже представлена временная диаграмма генератора последовательности Фибоначчи (рис. 9).

Таблица 1 Таблица кодовых комбинаций последовательности Фибоначчи

Номер шага Состояние Генерируемый бит

0 001 1

1 100 0

2 110 0

3 111 1

4 011 1

5 101 1

6 010 0

7 001 1

Из диаграммы видно, что переключение генератора происходит по фронту синхроим-

пульса (С1к), а полученный код на выходе (У) вых комбинаций последовательности Фибона-

модели соответствует исходной таблицы кодо- ччи.

Ыате 0 100 200 300 400 500 600 700 800 900 1000 1100 1200 , ПБ

С1г |

Б0 | |

Б2

У II I III

0|Лр|Л2 I I I I I I

01Лр1Л1 II I II

СМриЮ II I III

С1к I ы и I_I |_| |_| |_| |_| |_| |_| ы I_I

Рис. 9. Временная диаграмма генератора псевдослучайной последовательности Фибоначчи

Проектирование генератора Таблица 2

псевдослучайной последовательности Галуа

На рис. 10 представлен генератор псевдослучайной последовательности Галуа трехразрядного двоичного кода. Таблица кодовых комбинаций последовательности Галуа представлена ниже.

Таблица кодовых комбинаций

последовательности Галуа

Номер шага Состояние Генерируемый бит

0 001 1

1 101 1

2 111 1

3 110 0

4 011 1

5 100 0

6 010 0

7 001 1

Рис. 10. Генератор псевдослучайной последовательности Галуа

66

Внутреннее состояние регистра на седьмом шаге вернулось к исходному (рис. 11), следовательно, его период, так же как и в прошлом случае, равен 7. В отличие от конфигу-

рации Фибоначчи внутренние состояния регистра получились другие, но генерируемая последовательность совпадает с кодом Фибоначчи, только сдвинута на 4 такта.

Name 0 100 200 300 400 500 600 700 800 900 1000 1100 1200 1300 1400 1500 i i i i ii ill ii ill ii , ns

Clk

Clr II II

SO | |

S1

S2

Y 1 III 1 1

Output2 1 III 1 1

Outputl 1 III II

OutputO 1 1 1 1 1 1

Рис. 11. Генератор псевдослучайной последовательности Галуа

Анализируя временную диаграмму можно провести функциональную верификацию и сопоставить полученные результаты с заданной математической моделью или таблицей истинности [4].

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

Заключение

В результате проведенного исследования были получены модели различных цифровых автоматов - генераторов псевдослучайных последовательностей Фибоначчи и Галуа. Модели были построены с использованием специализированного программного обеспечения Active HDL с использованием встроенного редактора схем. Полученные результаты можно использовать в системах, которые могут быть сконфигурированы на базе ПЛИС, и в структурах сложно-функциональных (СФ - блоков).

Модели имеют открытую архитектуру, что позволяет адаптировать их и использовать для разных задач. Это актуально для генераторов псевдослучайных последовательностей, которые на основе данных моделей возможно программно конфигурировать в рамках задач криптографии.

Литература

1. Экспериментальное исследование сверхширокополосной антенны, построенной на основе модификации плоской линзы Люнеберга / С.А. Антипов, А.В. Ашихмин, В.В. Негробов, С.М. Фёдоров // Вестник Воронежского государственного технического университета. 2012. Т. 8. № 3. С. 113-118.

2. Башкиров А.В., Свиридова И.В., Муратов А.В. Эффективное многопороговое декодирование недвоичных кодов с предварительной оценкой ошибочности проверок // Вестник Воронежского государственного технического университета. 2015. Т. 11. № 3. С. 99-101.

3. Пирогов А.А. Методы повышения помехозащищенности и эффективности кодирования сетей связи абонентского доступа // Вестник Воронежского государственного технического университета. 2011. Т. 7. № 1. С. 162-163.

4. Методика проектирования синтезатора частот прямого цифрового синтеза на базе ПЛИС / А.А. Пирогов, Е.А. Бочаров, Э.В. Сёмка, О.Ю. Макаров // Вестник Воронежского государственного технического университета. 2018. Т. 14. № 6. С. 108-116.

Поступила 26.10.2020; принята к публикации 21.12.2020 Информация об авторах

Пирогов Александр Александрович - канд. техн. наук, доцент, Воронежский государственный технический университет (394006, Россия, г. Воронеж, ул. 20-летия Октября, д. 84), e-mail: pirogov.alx@gmail.com

Пирогова Юлия Александровна - магистрант, Воронежский государственный технический университет (394006, Россия, г. Воронеж, ул. 20-летия Октября, д. 84), e-mail: gvendilon@mail.ru

Гвозденко Сергей Анатольевич - аспирант, Воронежский государственный технический университет (394006, Россия, г. Воронеж, ул. 20-летия Октября, д. 84), e-mail: jgsar@mail.ru

Шардаков Дмитрий Вячеславович - аспирант, Воронежский государственный технический университет (394006, Россия, г. Воронеж, ул. 20-летия Октября, д. 84), e-mail: demon.shar@yandex.ru

Сёмка Элеонора Викторовна - преподаватель, Военный учебно-научный центр Военно-воздушных сил «Военно-воздушная академия им. проф. Н.Е. Жуковского и Ю.А. Гагарина» (394064, Россия, г. Воронеж, ул. Старых Большевиков, 54 «А»), e-mail: semka_elya@mail.ru

DEVELOPMENT OF A PROCEDURE FOR DESIGNING DIGITAL AUTOMATES WITH

MEMORY ON FPGA

A.A. Pirogov1, Yu.A. Pirogova1, S.A. Gvozdenko1, D.V. Shardakov1, E.V. Syemka2

Voronezh State Technical University, Voronezh, Russia 2Military Scientific Educational Center of Military-Air Forces "N.E. Zhukovsky and Ju.A. Gagarin

Military-Air Academy", Voronezh, Russia

Abstract: programmable logic integrated circuits (FPGAs) are custom integrated circuits whose logic is defined by programming. FPGAs are manufactured completely off-the-shelf, i.e. belong to standard products, which is accompanied by well-known advantages - mass production and cost reduction. Due to the regular structure, FPGAs are implemented with a level of integration close to the most efficient one. The use of FPGAs makes it possible to obtain devices that can change configuration, adjusting to a specific task, thanks to their flexible, programmable structure. When developing complex devices, ready-made blocks - IP-cores or complex-functional blocks (SF blocks) - can be used as components for design. The use of software SF blocks allows you to use them as efficiently as possible in the final project, largely reducing design costs. The purpose of the work is to study the technique of describing triggers in the VHDL language, using the built-in Active HDL schematic editor to form the structures of various digital automata and verifying models at the logical level. In this study, we considered schemes of pseudo-random sequence generators, which are used in cryptography problems, where the properties of the programmable FPGA structure are quite relevant

Key words: digital automata with memory, programmable logic, timing diagram

References

1. Antipov S.A., Ashikhmin A.V., Negrobov V.V., Fyedorov S.M. "Experimental study of an ultra-wideband antenna based on a modification of a flat Luneberg lens", Bulletin of Voronezh State Technical University (Vestnik Voronezhskogo gosudarstvennogo tekhnicheskogo universiteta), 2012, vol.8, no. 3, pp. 113-118.

2. Bashkirov A.V., Sviridova I.V., Muratov A.V. "Efficient multi-threshold decoding of non-binary codes with preliminary error estimation of checks", Bulletin of Voronezh State Technical University (Vestnik Voronezhskogo gosudarstvennogo tekhnicheskogo universiteta), 2015, vol.11, no. 3, pp. 99-101

3. Pirogov A.A. "Methods for increasing noise immunity and coding efficiency of communication networks of subscriber access", Bulletin of Voronezh State Technical University (Vestnik Voronezhskogo gosudarstvennogo tekhnicheskogo universiteta), 2011, vol.7, no. 1, pp. 162-163.

4. Pirogov A.A., Bocharov E.A., Syemka E.V., Makarov O.Yu. "Methodology for designing a direct digital synthesis frequency synthesizer based on FPGAs", Bulletin of Voronezh State Technical University (Vestnik Voronezhskogo gosudarstvennogo tekhnicheskogo universiteta), 2018, vol.14, no. 6, pp. 108-116.

Submitted 26.10.2020; revised 21.12.2020

Information about the authors

Aleksandr A. Pirogov, Cand. Sc. (Technical), Associate Professor, Voronezh State Technical University (84 20-letiya Oktyabrya str., Voronezh 394006, Russia), e-mail: pirogov.alx@gmail.com

Yuliya A. Pirogova, MA, Voronezh State Technical University (84 20-letiya Oktyabrya str., Voronezh 394006, Russia), e-mail: gvendilon@mail.ru

Sergey A. Gvozdenko, Graduate student, Voronezh State Technical University (84 20-letiya Oktyabrya str., Voronezh 394006, Russia), e-mail: jgsar@mail.ru

Dmitriy V. Shardakov, Graduate student, Voronezh State Technical University (84 20-letiya Oktyabrya str., Voronezh 394006, Russia), e-mail: demon.shar@yandex.ru

Eleonora V. Syemka, Assistant Professor, Military Scientific Educational Center of Military-Air Forces "N.E. Zhukovsky and Ju.A. Gagarin Military-Air Academy" (54 "A" Starykh Bol'shevikov str., Voronezh 394064, Russia), e-mail: semka_elya@mail.ru

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