СТРУКТУРА ВСТРАИВАЕМЫХ ИНФОРМАЦИОННЫХ СИСТЕМ НА ПЛИС XILINX Алюшин А.В.,Архангельский В.Г.

НИЯУ МИФИ


Номер: 1-5
Год: 2016
Страницы: 10-15
Журнал: Актуальные проблемы гуманитарных и естественных наук

Ключевые слова

ПЛИС, встраиваемые информационные системы, структура ПЗУ, защита информации, FPGA, microblaze, information security

Просмотр статьи

⛔️ (обновите страницу, если статья не отобразилась)

Аннотация к статье

Рассмотрена структура встраиваемых информационных систем (ВИС) с расширенными функциональными возможностями и с защитой информации о её реализации на основе AES-шифрования.

Текст научной статьи

Программируемые логические интегральные схемы (ПЛИС) на основе SRAM являются перспективной элементной базой ВИС, современного сетевого оборудования (10 - 400 Гбит/с) и предоставляют разработчикам следующие возможности (на примере ПЛИС XILINX): - реализацию MCS (Micro controller System) -систем в составе ПЛИС на основе параметризируемых функциональных блоков IP (Intellectual Property); - реализацию высокопроизводительных спецпроцессоров на массивах логических элементов, функциональных ячеек, ядер DSP (Digital Signal Processor); - начальную инициализацию блоков внутренней памяти ПЛИС пользовательскими данными, кодом прикладного программного обеспечения (ПО); - защиту конфигурационной программы ПЛИС от несанкционированного доступа с целью копирования, тиражирования, декомпиляции, подмены и т.п. шифрованием на основе алгоритма AES (Advanced Encryption Standard). AES-шифрование конфигурационной программы ПЛИС XILINX характеризуется: - использованием симметричного 128-битового блочного шифрования с 256-битным ключом (1,1х1077 возможных комбинаций); - шифрованием на основе программного модуля BitGen (входит в состав XILINX ISE) и дешифрованием на основе аппаратного модуля в составе ПЛИС; - хранением 256-битного ключа в специализированном внутреннем микромощном SRAM-регистре ПЛИС с питанием от внешнего бесперебойного источника энергии. Данный подход позволяет защитить информацию как об аппаратной части ВИС (структура системы, используемые элементы и связи между ними), так и о программных модулях и пользовательских данных MCS. При этом информационная защита распространяется только на те программные модули пользовательского ПО и пользовательские данные, код которых был использован для начальной инициализации блоков внутренней памяти ПЛИС на этапе синтеза её конфигурационной программы. Максимальный объем защищенного кода ПО и пользовательских данных определяется доступным для MB объемом внутренней блочной памяти ПЛИС. Основные параметры некоторых современных ПЛИС XILINX представлены в табл. 1 [1-3]. Несмотря на значительный суммарный объем внутренней блочной BRAM памяти ПЛИС, существует ряд ограничений на объем используемой локальной памяти в MCS-системе. Например, максимальный объем памяти C_MEMSIZE для хранения программного кода в IP-блоке BRAM контроллера составляет 256 Кбайт (версия Таблица 1 - Параметры ПЛИС XILINX ПЛИС Кол-во логических ячеек Кол-во DSP-ядер Кол-во блоков BRAM Объем памяти BRAM, Kb Серия ПЛИС XC6VLX760 758 784 864 1 440 25 920 Virtex-6 XC6VSX475T 476 160 2 016 2 128 38 304 Virtex-6 XC6VHX565 566 784 864 1824 32 832 Virtex-6 XC7A200T 215 360 740 730 13 140 Artix-7 XC7K480T 477 760 1 920 1 910 34 380 Kintex-7 XC7VX1140T 1 139 200 3 360 3 760 67 680 Virtex-7 XC7VH870T 876 160 2 520 2 820 50 760 Virtex-7 XCKU115 1 160 880 5 520 4 320 75 900 Kintex UltraScale XCVU190 1 879 920 1 800 7 560 132 900 Virtex UltraScale XCVU440 4 407 480 2 880 5 040 88 600 Virtex UltraScale lmb_bram_if_cntrl - 3.10c) [4]. Увеличение объема доступной для MB памяти расширяет функциональные возможности ВИС при сохранении всех возможностей по защите информации. Стандартная организация MCS-системы на ПЛИС представлена на рис. 1 [5]. Рис. 1. Обобщенная структура MCS-системы на ПЛИС Работа процессора MB с локальной памятью основывается на гарвардской архитектуре. Доступ к данным и инструкциям осуществляется по отдельным шинам соответственно D-LMB (Data-LMB) и I-LMB (Instruction-LMB) с раздельными адресными пространствами разрядностью 32 бита каждое. Адресные пространства могут пересекаться друг с другом при работе с одной и той же физической памятью, что удобно при отладке ПО с помощью модуля MDM (MB Debug Module). Шина LMB обеспечивает наименьшее время доступа к памяти в пределах одного такта работы шины. Обращение процессора MB к периферийным устройствам по другим интерфейсам MCS-системы требует большего времени. Увеличение объема используемой памяти в MCS-системе достигается за счет подключения дополнительных блоков памяти ПЛИС через соответствующие контроллеры памяти как к локальной шине LMB, так и к периферийным интерфейсам. На рис.2 представлен вариант разработанной структуры ВИС на основе интерфейса AXI4 (Advanced eXtensible Interface). Рис. 2. Cтруктура MCS-системы на основе интерфейса AXI4 В качестве периферийного оборудования используются: - контроллеры внешней и внутренней памяти (DDR3/4, Flash, BRAM); - контроллеры Interrupt, GPIO (General Purpose Input Output) , UART (Universal Asynchronous Receiver-Transmitter), Timer; - контроллеры потоковых устройств, например, Ethernet (TEMAC), - специализированный аппаратный процессор. MB не отличает обращений к локальной памяти от обращений к периферийным устройствам. Выборка требуемой шины реализуется за счет дешифрации используемого адреса. В реальном режиме работы MB физические и логические адреса совпадают. В таблице 2 представлена карта адресного пространства для MB. Таблица 2 - Адресное пространство для MB Адрес (hex) Название Тип доступа Описание 0x0 - C_MEMSIZE-1 Локальная память Чтение/ запись Программная память MB C_MEMSIZE-1 - 0x7FFFFFFF Зарезервировано - - 0x80000000 - 0x800000FF Модуль ввода/вывода Чтение/ запись Регистры модуля ввода/ вывода 0x80000100 - 0xBFFFFFF Зарезервировано - - 0xC0000000 - 0xFFFFFFFF Шина ввода/вывода Чтение/ запись Адреса шины ввода/вывода Выделенная блочная память использует адресное пространство периферийных устройств ввода/вывода. Дополнительные возможности для эффективного использования объема памяти в MCS-системе предоставляет рациональное размещение программных модулей разного типа в адресном пространстве выделенной блочной памяти. По умолчанию в объектном файле разрабатываемого проекта ПО используется 10 типов программных модулей для хранения инструкций и данных (см. таблицу 3). Таблица 3 - Программные модули для хранения инструкций и данных № Программный модуль Тип памяти Тип записи Начальная инициализация 1. .text ROM Инструкции для MB да 2. .rodata ROM Данные да 3. .sdata2 ROM Данные небольшого объема да 4. .sbss2 ROM Данные небольшого объема нет 5. .data RAM Данные да 6. .sdata RAM Данные небольшого объема да 7. .sbss RAM Данные небольшого объема нет 8. .bss RAM Данные нет 9. .heap RAM Структура данных нет 10. .stack RAM Структура данных нет Размещение указанных модулей в выделенной памяти и используемые ими диапазоны адресов могут быть изменены в зависимости от поставленной перед разработчиком ВИС задачи, с учетом требований по времени доступа к каждому типу данных и инструкций. Могут быть добавлены и новые модули. Сохранение программы MB осуществляется встраиванием ее кода в конфигурационную программу ПЛИС, например, при помощи утилиты Data2MEM [6]. Данная утилита обеспечивает распределение последовательных блоков программного кода MB по блокам BRAM-памяти ПЛИС. Утилита Data2MEM может быть использована для начальной инициализации внутренней BRAM-памяти ПЛИС и в ВИС без MB. На рис. 3 представлена схема потоков данных при синтезе исходных файлов конфигурации <проект.bit> и <проект.elf>. Выходной файл может быть непосредственно загружен в ПЛИС. Для программирования ПЗУ используется файл <проект.mcs> (Intel MCS-86 hexadecimal format), синтезируемый из файла <проект.bit> с помощью программы iMPACT. Рис. 3. Получение конфигурационных файлов ПЛИС На рис.4 представлена топология размещения конфигурационной программы ПЛИС в системной ПЗУ (flash-память) для разработанной системы ВИС. Рис. 4. Структура системной PROM-памяти Обмен данными межу MB и блоками BRAM-памяти М1 - Мn ,A1 - Ar, и C1 - Ck (n, r, k - количество используемых блоков BRAM-памяти стандартного размера, например, 18/36 Кбит) осуществляется соответственно через интерфейсы LMB и AXI. Таким образом, использование дополнительных контроллеров памяти как на локальной шине LMB, так и на периферийной шине AXI позволяет преодолеть существующие ограничения на объем используемой памяти в MCS-системе (в EDK версии 14.4 max n = 128) и расширить функциональные возможности ВИС с защитой информации. В разработанной системе ВИС значение n + r + k может достигать 1024 - 4096.

Научные конференции

 

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