Проектирование цифровых устройств на базе ПЛИС фирмы Xilinx в САПР серии Vivado HLx Design Suite. Часть 23

PDF версия
После выбора микросхемы Flash-памяти, используемой для хранения конфигурационной информации проектируемого устройства, контроля ее состояния и выполнения подготовительных операций, рассмотренных в [42], можно приступать к процессу программирования ППЗУ.

Все статьи цикла.0

Программирование микросхемы конфигурационной Flash-памяти проектируемого устройства

Средства конфигурирования кристаллов программируемой логики и расширяемых процессорных платформ, входящие в состав САПР серии Xilinx Vivado HLx Design Suite, поддерживают косвенный метод программирования микросхем Flash-памяти с различным интерфейсом. Указанный метод заключается в применении ПЛИС или программируемой системы на кристалле, к которой подключен элемент конфигурационного ППЗУ в качестве своеобразного моста между портом JTAG-интерфейса кристалла FPGA и интерфейсом данной микросхемы Flash-памяти. Для этой цели разработан и скомпилирован соответствующий проект (IP-ядро). Конфигурационная последовательность данного проекта автоматически загружается в кристалл программируемой логики или расширяемой процессорной платформы при выборе соответствующего режима работы средств конфигурирования САПР серии Xilinx Vivado HLx Design Suite. Для реализации косвенного метода программирования микросхем конфигурационной Flash-памяти используется режим периферийного сканирования Boundary Scan (JTAG) Mode ПЛИС или программируемой системы на кристалле.

Для того чтобы приступить к выполнению операции программирования конфигурационного ППЗУ, нужно прежде всего, расположив курсор в строке с условным обозначением соответствующей микросхемы, отображаемой во встроенном окне Hardware интегрированной среды разработки Vivado IDE, щелчком правой кнопкой мыши вызвать контекстно зависимое всплывающее меню и выбрать в нем команду Program Configuration Memory Device, которая открывает одноименную диалоговую панель, как демонстрирует рис. 1.

Программирование микросхемы конфигурационной Flash-памяти проектируемого устройства

Рис. 1. Программирование микросхемы конфигурационной Flash-памяти проектируемого устройства

В открывшейся диалоговой панели Program Configuration Memory Device рекомендуется в первую очередь уточнить идентификатор файла прошивки, который должен быть записан в выбранную микросхему конфигурационной Flash-памяти. Название требуемого файла программирования указывается с помощью параметра Configuration file. По умолчанию в поле редактирования значения этого параметра отображается идентификатор файла прошивки, заданного в качестве значения параметра Programming file, представленного во встроенном окне Configuration Memory Device Properties [42]. В случае необходимости записи в ППЗУ иной версии файла программирования следует с помощью клавиатуры указать его идентификатор в поле редактирования значения параметра Configuration file или воспользоваться клавишей с пиктограммой в виде многоточия, расположенной справа от этого поля редактирования. При нажатии указанной клавиши на экране появляется диалоговая панель с заголовком Specify Memory Programming File, которая позволяет быстро выбрать требуемый файл прошивки.

Затем в поле выбора значения параметра State of non-config mem I/O pins следует указать тип внутренних резисторов, подключаемых к пользовательским выводам кристалла программируемой логики или расширяемой процессорной платформы, которые не задействованы при программировании микросхем конфигурационной Flash-памяти. Выпадающий список возможных значений этого параметра включает три варианта: Pull-none, Pull-up и Pull-down. При выборе варианта Pull-none внутренние резисторы, сопряженные с незадействованными пользовательскими выводами ПЛИС или программируемой системы на кристалле, не активизируются. Вариант Pull-up предусматривает подключение к этим выводам внутреннего резистора, соединенного с шиной питания. В случае указания варианта Pull-down в поле выбора значения параметра State of non-config mem I/O pinsпроизводится подключение внутреннего резистора, соединенного с общей шиной, ко всем незадействованным пользовательским выводам.

Далее нужно установить в положение «Включено» индикатор состояния параметра Program, расположенный в разделе Program Operations, как показано на рис. 1. Если предварительно не выполнялась операция удаления информации, содержащейся в микросхеме конфигурационной Flash-памяти, рассмотренная в [42], рекомендуется перевести во включенное положение также индикатор состояния параметра Erase. При этом перед записью новой информации в конфигурационное ППЗУ будет осуществлена операция стирания данных, которые были загружены ранее в эту микросхему. Диапазон адресного пространства микросхемы конфигурационной Flash-памяти, содержимое ячеек которого перезаписывается в процессе выполнения операции программирования, указывается в поле выбора значения параметра Address Range. Для записи только конфигурационной информации проектируемого устройства нужно выбрать в выпадающем списке возможных значений этого параметра вариант Configuration File Only. В случае необходимости программирования всех ячеек используемой микросхемы конфигурационного ППЗУ следует в поле выбора значения параметра Address Range указать вариант Entire Configuration Memory Device.

Непосредственный запуск операции программирования микросхемы конфигурационной Flash-памяти осуществляется нажатием клавиши OK, расположенной в нижней части диалоговой панели Program Configuration Memory Device. После этого появляется одноименная информационная панель, в которой отображаются краткие сведения о текущем состоянии выполняемого процесса. При окончании процесса записи данных из файла программирования в конфигурационное ППЗУ на экран выводится информационная панель с заголовком Program Flash, чей вид представлен на рис. 1. Эта информационная панель содержит сообщение об успешном завершении операции программирования микросхемы конфигурационной Flash-памяти. Кроме того, на вкладке TCL Console консольной области основного окна интегрированной среды разработки Vivado IDE отображается строка Program Operation successful.

Средства конфигурирования кристаллов программируемой логики и расширяемых процессорных платформ, входящие в состав САПР серии Xilinx Vivado HLx Design Suite, предоставляют возможность оперативной проверки функционирования нового варианта прошивки конфигурационного ППЗУ. Чтобы воспользоваться этой возможностью, нужно вначале во встроенном окне Hardware щелчком левой кнопки мыши выделить строку с условным обозначением кристалла программируемой логики или расширяемой процессорной платформы, для которого предназначена конфигурационная информация, записанная в микросхему Flash-памяти. Затем щелчком правой кнопки мыши вызвать контекстно зависимое всплывающее меню, чей вид приведен на рис. 2. В этом меню представлена команда Boot from Configuration Memory Device, инициирующая процесс загрузки конфигурационных данных из ППЗУ в ПЛИС или программируемую систему на кристалле.

Загрузка конфигурационных данных в кристалл программируемой логики или расширяемой процессорной платформы из запрограммированной микросхемы Flash-памяти

Рис. 2. Загрузка конфигурационных данных в кристалл программируемой логики или расширяемой процессорной платформы из запрограммированной микросхемы Flash-памяти

При выполнении указанной команды на экране появляется информационная панель с заголовком Boot from Configuration Memory Device, в которой отображаются краткие сведения о текущем состоянии процесса передачи конфигурационной последовательности из микросхемы Flash-памяти в кристалл программируемой логики или расширяемой процессорной платформы. После завершения этого процесса соответствующая информация появляется на вкладке TCL Console консольной области основного окна управляющей оболочки САПР серии Xilinx Vivado HLx Design Suite (рис. 2). Далее следует проверить функционирование ПЛИС или программируемой системы на кристалле с новым вариантом прошивки конфигурационного ППЗУ.

Для контроля достоверности данных, хранящихся в микросхеме конфигурационной Flash-памяти, в средствах конфигурирования кристаллов программируемой логики и расширяемых процессорных платформ предусмотрена поддержка соответствующих операций, которые рассматриваются в следующем разделе.

 

Контроль достоверности информации, записанной в микросхему конфигурационной Flash-памяти

Контроль данных, записанных в микросхему конфигурационной Flash-памяти, может осуществляться двумя способами. Первый способ основан на сравнении информации, хранящейся в конфигурационном ППЗУ, с содержимым исходного файла программирования. Второй метод контроля базируется на использовании механизма подсчета значения контрольной суммы данных, содержащихся в микросхеме конфигурационной Flash-памяти. Чтобы воспользоваться этими способами, нужно с помощью команды Program Configuration Memory Device контекстно зависимого всплывающего меню открыть одноименную диалоговую панель. Для проверки достоверности информации, представленной в микросхеме Flash-памяти, методом сравнения с данными исходного файла прошивки необходимо установить в положение «Включено» индикатор состояния параметра Verify, расположенный в разделе Program Operations (рис. 3). Затем в поле редактирования значения параметра Configuration file указать идентификатор файла программирования, с содержимым которого должны сравниваться данные, записанные в выбранную микросхему Flash-памяти. При этом в поле выбора значения параметра Address Range следует определить диапазон адресного пространства конфигурационного ППЗУ, содержимое ячеек которого будет сопоставляться с информацией, представленной в указанном файле прошивки, при выполнении рассматриваемой операции. Для контроля достоверности только конфигурационной информации проектируемого устройства, хранящейся в выбранной микросхеме Flash-памяти, в качестве значения этого параметра нужно использовать вариант Configuration File Only, предлагаемый по умолчанию. При необходимости проверки данных, представленных в ячейках всего адресного пространства конфигурационного ППЗУ, в поле выбора значения параметра Address Range следует указать вариант Entire Configuration Memory Device.

Отображение информации об отличии данных, представленных в микросхеме конфигурационной Flash-памяти, от содержимого указанного файла программирования

Рис. 3. Отображение информации об отличии данных, представленных в микросхеме конфигурационной Flash-памяти, от содержимого указанного файла программирования

Непосредственная активизация операции контроля достоверности данных, содержащихся в выбранной микросхеме конфигурационной Flash-памяти, производится клавишей OK, находящейся в нижней части диалоговой панели Program Configuration Memory Device. Краткие сведения о ходе выполнения этой операции отображаются в информационной панели Program Configuration Memory Device, чей вид изображен на рис. 3. После ее завершения информация о результатах проведенной проверки появляется на вкладке TCL Console консольной области основного окна интегрированной среды разработки Vivado IDE. Если данные, считанные из запрограммированной микросхемы Flash-памяти, отличаются от информации, содержащейся в заданном файле прошивки, то на указанной вкладке отображается следующее сообщение: Verify Operation unsuccessful.

Кроме того, на экран выводится информационная панель с заголовком Error Message, которая уведомляет об ошибке при выполнении операции контроля достоверности данных, представленных в микросхеме конфигурационного ППЗУ. В случае совпадения информации, полученной из запрограммированной микросхемы Flash-памяти, с содержимым файла прошивки на вкладке TCL Console приводится сообщение Verify Operation successful.

Об успешном завершении операции контроля достоверности данных, записанных в микросхеме конфигурационного ППЗУ, уведомляет также информационная панель с заголовком Program Flash, как демонстрирует рис. 4.

Отображение сведений о достоверности информации, представленной в микросхеме конфигурационной Flash-памяти

Рис. 4. Отображение сведений о достоверности информации, представленной в микросхеме конфигурационной Flash-памяти

Для верификации информации, содержащейся в микросхеме конфигурационного ППЗУ, путем вычисления значения контрольной суммы данных необходимо предварительно при формировании файла прошивки в диалоговой панели Write Memory Configuration File установить индикатор состояния параметра Write checksum в положение «Включено» [42]. В этом случае при генерации файла программирования микросхемы конфигурационной Flash-памяти автоматически создается также дополнительный одноименный файл с расширением prm. В этот файл записывается, в частности, значение контрольной суммы данных сформированного файла прошивки.

Проверка контрольной суммы данных, хранящихся в конфигурационном ППЗУ, осуществляется с помощью операции Verify Checksum. Для ее выполнения необходимо установить во включенное положение индикатор состояния параметра Verify Checksum, который представлен в разделе Program Operations диалоговой панели Program Configuration Memory Device. Кроме того, с помощью параметра PRM file нужно задать идентификатор файла с расширением prm, который был сгенерирован для используемого файла программирования микросхемы конфигурационной Flash-памяти, указанного в поле редактирования значения параметра Configuration file. Идентификатор PRM-файла должен включать полный путь доступа к нему. Поэтому, чтобы не ошибиться при определении идентификатора требуемого файла, целесообразно воспользоваться клавишей с пиктограммой в виде многоточия, расположенной справа от поля редактирования значения параметра PRM file. При нажатии этой клавиши на экране появляется диалоговая панель с заголовком Specify PRM File (рис. 5), которая позволяет быстро найти соответствующий файл.

Непосредственный запуск операции подсчета контрольной суммы данных, представленных в выбранной микросхеме конфигурационного ППЗУ, осуществляется нажатием клавиши OK, расположенной в нижней части диалоговой панели Program Configuration Memory Device. Краткие сведения о текущем состоянии выполняемой операции приводятся в информационной панели Program Configuration Memory Device. После подсчета данных, считанных из микросхемы конфигурационной Flash-памяти, полученный результат сравнивается со значением контрольной суммы файла прошивки, которое содержится в указанном PRM-файле. При несовпадении этих величин на вкладке TCL Console консольной области основного окна управляющей оболочки САПР серии Xilinx Vivado HLx Design Suite отображается информация о записанном в PRM-файле и вычисленном значении контрольной суммы, сопровождаемая сообщением: Checksum Operation unsuccessful.

Кроме того, на экране появляется информационная панель с заголовком Error Message, которая уведомляет об ошибке при выполнении операции проверки контрольной суммы данных, содержащихся в конфигурационном ППЗУ, как показано на рис. 5.

Отображение информации об ошибке контрольной суммы данных, содержащихся в конфигурационном ППЗУ

Рис. 5. Отображение информации об ошибке контрольной суммы данных, содержащихся в конфигурационном ППЗУ

Если результат вычисления контрольной суммы данных, считанных из микросхемы конфигурационного ППЗУ, совпадает со значением, записанным в PRM-файл при генерации файла прошивки, то на вкладке TCL Console приводится следующее сообщение: Checksum Operation successful.

Это сообщение сопровождается выводом на экран информационной панели с заголовком Program Flash, уведомляющей об успешном завершении операции проверки контрольной суммы данных конфигурационной Flash-памяти (рис. 6).

Успешное выполнение операции проверки контрольной суммы данных, представленных в микросхеме конфигурационной Flash-памяти

Рис. 6. Успешное выполнение операции проверки контрольной суммы данных, представленных в микросхеме конфигурационной Flash-памяти

 

Чтение данных, содержащихся в микросхеме конфигурационной Flash-памяти, с последующим сохранением в файле на диске

Средства конфигурирования кристаллов программируемой логики и расширяемых процессорных платформ, входящие в состав САПР серии Xilinx Vivado HLx Design Suite, предоставляют возможность чтения данных из запрограммированной микросхемы конфигурационной Flash-памяти с последующим сохранением их в файле на диске ПК. Этот файл впоследствии может использоваться для программирования других микросхем запоминающих устройств. Считанные конфигурационные данные могут сохраняться в файле в формате mcs или bin.

Операция чтения информации, содержащейся в микросхеме конфигурационного ППЗУ, и ее запись в соответствующий файл осуществляется только с помощью директивы readback_hw_cfgmem языка TCL (Tool Command Language). Наиболее часто используемый формат этой директивы выглядит следующим образом:

readback_hw_cfgmem -file <идентификатор_файла> -force -hw_cfgmem \

[get_property PROGRAM.HW_CFGMEM [lindex [get_hw_devices] 0]]

В состав идентификатора записываемого файла, задаваемого в приведенной командной строке, нужно включать полный путь доступа к нему. Расширение имени этого файла (mcs или bin) определяет формат его содержимого. Параметр -force, включенный в состав формата рассматриваемой директивы, позволяет перезаписывать уже существующий файл с указанным идентификатором.

Директива чтения информации из конфигурационной Flash-памяти указывается с помощью клавиатуры в командной строке, которая расположена в нижней части вкладки TCL Console консольной области основного окна интегрированной среды разработки Vivado IDE. После ввода этой директивы на экране появляется информационная панель с заголовком TCL Command Line, в которой приводятся краткие сведения о текущем состоянии выполняемой операции, как демонстрирует рис. 7.

Чтение информации из конфигурационной Flash-памяти с последующей записью в файл на диске

Рис. 7. Чтение информации из конфигурационной Flash-памяти с последующей записью в файл на диске

После успешного завершения операции чтения данных из конфигурационного ППЗУ и записи их в заданный файл на вкладке TCL Consoleотображается сообщение: Readback Operation successful.

Если при генерации конфигурационной последовательности проектируемого устройства была установлена защита от несанкционированного копирования, то для его функционирования необходимо загрузить в кристалл программируемой логики или расширяемой процессорной платформы ключи шифрования/дешифрования. Коды этих ключей заносятся в ОЗУ с дополнительным батарейным питанием Battery-Backed RAM (BBRAM) или в специальный, предназначенный для этого однократно программируемый энергонезависимый регистр в соответствии с выбранным вариантом значения параметра Select location of encryption [41]. В последующих разделах рассматривается процесс записи ключей шифрования/дешифрования конфигурационной последовательности проектируемого устройства в ОЗУ BBRAM и соответствующий однократно программируемый регистр EFUSE ПЛИС и программируемых систем на кристалле различных семейств.

 

Запись ключей шифрования/дешифрования конфигурационной последовательности в ОЗУ BBRAM кристаллов программируемой логики

Для загрузки ключей шифрования/дешифрования конфигурационной последовательности в ОЗУ с дополнительным батарейным питанием кристаллов программируемой логики семейств Artix‑7, Kintex‑7, Virtex‑7 и расширяемых процессорных платформ семейства Zynq‑7000 AP SoC нужно прежде всего во встроенном окне Hardware интегрированной среды разработки Vivado IDE щелчком левой кнопкой мыши выделить строку с условным обозначением кристалла программируемой логики или расширяемой процессорной платформы, используемого для реализации проектируемого устройства. Затем щелчком правой кнопки мыши вызвать контекстно зависимое всплывающее меню, чей вид представлен на рис. 8.

Выбор ключей шифрования/дешифрования, загружаемых в ОЗУ BBRAM ПЛИС семейств Artix-7, Kintex-7, Virtex-7 и программируемых систем на кристалле семейства Zynq-7000 AP SoC

Рис. 8. Выбор ключей шифрования/дешифрования, загружаемых в ОЗУ BBRAM ПЛИС семейств Artix-7, Kintex-7, Virtex-7 и программируемых систем на кристалле семейства Zynq-7000 AP SoC

В открывшемся меню необходимо воспользоваться командой Program BBR Key. После выбора указанной команды на экране появляется диалоговая панель с заголовком Program BBR Key, чей вид в случае использования кристаллов программируемой логики семейств Artix‑7, Kintex‑7, Virtex‑7 и расширяемых процессорных платформ семейства Zynq‑7000 AP SoC приведен на рис. 8. В этой диалоговой панели нужно определить комплект ключей шифрования/дешифрования конфигурационной последовательности проектируемого устройства, который необходимо записать в ОЗУ BBRAM ПЛИС перечисленных семейств. Для этого следует в поле редактирования значения параметра AES key file указать идентификатор файла, содержащего требуемый вариант кодов ключей шифрования/дешифрования. Данный файл, имеющий расширение nky, формируется автоматически или задается разработчиком при генерации конфигурационной последовательности проектируемого устройства с установкой защиты от несанкционированного копирования. Возможность быстрого и наглядного поиска файла загружаемых ключей шифрования/дешифрования предоставляет диалоговая панель с заголовком Specify AES Key File, которая открывается нажатием клавиши с пиктограммой в виде многоточия, расположенной справа от поля редактирования значения параметра AES key file (рис. 8). После выбора в этой диалоговой панели требуемого файла коды ключей, содержащиеся в нем, автоматически отображаются в строке AES key, как изображено на рис. 9.

Запись ключей шифрования/дешифрования в ОЗУ BBRAM ПЛИС семейств Artix-7, Kintex-7, Virtex-7 и программируемых систем на кристалле семейства Zynq-7000 AP SoC

Рис. 9. Запись ключей шифрования/дешифрования в ОЗУ BBRAM ПЛИС семейств Artix-7, Kintex-7, Virtex-7 и программируемых систем на кристалле семейства Zynq-7000 AP SoC

Непосредственный запуск процесса записи выбранных ключей шифрования/дешифрования конфигурационной последовательности проектируемого устройства в ОЗУ BBRAM осуществляется нажатием клавиши OK, представленной в нижней части диалоговой панели Program BBR Key. Информация о ходе и результатах выполнения этого процесса отображается на вкладке TCL Console консольной области основного окна управляющей оболочки САПР серии Xilinx Vivado HLx Design Suite, как показано на рис. 9.

При успешном завершении процесса загрузки ключей шифрования/дешифрования в ОЗУ с дополнительным батарейным питанием на вкладке TCL Console появляются следующие сообщения:

INFO: [Labtools 27-3088]  BBR Key programmed: file <идентификатор_файла_nky>

INFO: [Labtools 27-3087]  Key programming succeed

 

Программирование энергонезависимых регистров EFUSE ПЛИС и расширяемых процессорных платформ

Физические ресурсы ПЛИС семейств Artix‑7, Kintex‑7, Virtex‑7 и программируемых систем на кристалле семейства Zynq‑7000 AP SoC включают четыре однократно программируемых энергонезависимых регистра EFUSE — FUSE_DNA, FUSE_USER, FUSE_KEY и FUSE_CNTL. 64‑разрядный регистр FUSE_DNA содержит уникальный идентификационный код кристалла программируемой логики или расширяемой процессорной платформы. Информация в этот регистр записывается при изготовлении ПЛИС или программируемой системы на кристалле. Поэтому для разработчиков этот регистр доступен только для чтения идентификационного кода кристалла.

Пользовательский 32‑разрядный регистр FUSE_USER предоставляет возможность записи данных, определяемых разработчиком. В этот регистр, в частности, может быть запрограммирована информация о версии загружаемого проекта.

Регистр FUSE_KEY предназначен для хранения ключей шифрования/дешифрования конфигурационной последовательности проектируемого устройства при установленной защите от несанкционированного копирования.

Регистр FUSE_CNTL используется для управления доступом к операциям записи и чтения информации в регистры FUSE_USER и FUSE_KEY.

Для записи информации в перечисленные однократно программируемые энергонезависимые регистры, в том числе ключей шифрования/дешифрования конфигурационной последовательности проектируемого устройства, следует воспользоваться командой Program eFUSE Registersконтекстно зависимого всплывающего меню. При выборе указанной команды запускается мастер программирования энергонезависимых регистров Program eFUSE Registers wizard, вид стартовой диалоговой панели которого представлен на рис. 10.

Запуск мастера программирования энергонезависимых регистров ПЛИС семейств Artix-7, Kintex-7, Virtex-7 и программируемых систем на кристалле семейства Zynq-7000 AP SoC

Рис. 10. Запуск мастера программирования энергонезависимых регистров ПЛИС семейств Artix-7, Kintex-7, Virtex-7 и программируемых систем на кристалле семейства Zynq-7000 AP SoC

В этой диалоговой панели представлены краткие сведения об однократно программируемых энергонезависимых регистрах и их текущем состоянии в ПЛИС или программируемой системе на кристалле, выбранной для реализации проектируемого устройства. После ознакомления с приведенной информацией нужно с помощью клавиши Next перейти к следующей диалоговой панели мастера Program eFUSE Registers wizard, чей вид изображен на рис. 11.

Выбор ключей шифрования/дешифрования, записываемых в регистр FUSE_KEY ПЛИС семейств Artix-7, Kintex-7, Virtex-7 и программируемых систем на кристалле семейства Zynq-7000 AP SoC

Рис. 11. Выбор ключей шифрования/дешифрования, записываемых в регистр FUSE_KEY ПЛИС семейств Artix-7, Kintex-7, Virtex-7 и программируемых систем на кристалле семейства Zynq-7000 AP SoC

Вторая диалоговая панель рассматриваемого мастера, имеющая заголовок AES Key Setup, предоставляет возможность определения комплекта ключей шифрования/дешифрования, записываемых в регистр FUSE_KEY кристаллов программируемой логики семейств Artix‑7, Kintex‑7, Virtex‑7 и расширяемых процессорных платформ семейства Zynq‑7000 AP SoC, а также информации, загружаемой в пользовательский регистр FUSE_USER. Чтобы воспользоваться этой возможностью, необходимо установить индикатор состояния параметра Enable AES key programming в положение «Включено». При этом становится доступным поле редактирования значения параметра AES key file, в котором нужно указать идентификатор файла, включающего требуемый вариант ключей шифрования/дешифрования конфигурационной последовательности проектируемого устройства. Для быстрого поиска соответствующего файла рекомендуется воспользоваться клавишей с пиктограммой в виде многоточия, которая находится справа от поля редактирования значения указанного параметра. При ее нажатии появляется диалоговая панель с заголовком Specify AES Key File. После выбора в этой диалоговой панели файла, содержащего необходимый комплект ключей шифрования/дешифрования, их коды появляются в строке AES key, как демонстрирует рис. 12.

Отображение ключей шифрования/дешифрования, записываемых в регистр FUSE_KEY ПЛИС семейств Artix-7, Kintex-7, Virtex-7 и программируемых систем на кристалле семейства Zynq-7000 AP SoC

Рис. 12. Отображение ключей шифрования/дешифрования, записываемых в регистр FUSE_KEY ПЛИС семейств Artix-7, Kintex-7, Virtex-7 и программируемых систем на кристалле семейства Zynq-7000 AP SoC

Вместе с ключами шифрования/дешифрования конфигурационной последовательности проектируемого устройства можно задать состояние восьми младших разрядов пользовательского регистра FUSE_USER. Требуемое состояние указанных разрядов определяется с помощью клавиатуры в поле редактирования значения параметра USER bits [7:0] в виде двухразрядного шестнадцатеричного кода.

Для записи пользовательской информации в старшие 24 разряда регистра FUSE_USER необходимо вначале установить индикатор состояния параметра Enable programming of USER[31:8] в положение «Включено». Затем в поле редактирования значения параметра USER bits [31:8], используя клавиатуру, указать записываемые данные в форме шестиразрядного шестнадцатеричного кода. Если состояние старших 24 разрядов пользовательского регистра было запрограммировано ранее, то в диалоговой панели AES Key Setup вместо индикатора состояния параметра Enable programming of USER[31:8] представлено сообщение USER bits [31:8] are eFUSE programmed, как показано на рис. 12. При этом в поле редактирования значения параметра USER bits [31:8] отображается запрограммированный код, недоступный для изменения. После определения ключей шифрования/дешифрования конфигурационной последовательности проектируемого устройства, записываемых в регистр FUSE_KEY, и пользовательских данных, заносимых в регистр FUSE_USER, нужно нажатием клавиши Next перейти к следующей диалоговой панели мастера Program eFUSE Registers wizard, чей вид приведен на рис. 13.

Установка состояния разрядов регистра управления FUSE_CNTL ПЛИС семейств Artix-7, Kintex-7, Virtex-7 и программируемых систем на кристалле семейства Zynq-7000 AP SoC

Рис. 13. Установка состояния разрядов регистра управления FUSE_CNTL ПЛИС семейств Artix-7, Kintex-7, Virtex-7 и программируемых систем на кристалле семейства Zynq-7000 AP SoC

Третья диалоговая панель мастера программирования энергонезависимых регистров, озаглавленная Control Register Setup, позволяет установить требуемое состояние разрядов регистра управления FUSE_CNTL. Чтобы запрограммировать указанный регистр, необходимо установить индикатор состояния параметра Enable control register programming в положение «Включено». При этом становятся доступными индикаторы состояния параметров, определяющих значения, которые будут записаны в соответствующие разряды регистра управления FUSE_CNTL. Эти индикаторы состояния расположены в первой колонке таблицы, представленной в диалоговой панели Control Register Setup. Если какой-либо из этих индикаторов находится в сброшенном состоянии, то в соответствующий разряд регистра управления будет записано нулевое значение. Для программирования единичного значения в любом разряде регистра FUSE_CNTL необходимо перевести индикатор состояния одноименного параметра в положение «Включено».

Вторая колонка указанной таблицы, имеющая название Register Bit Name, содержит идентификаторы параметров, определяющих записываемые данные в разряды регистра управления с одноименными условными обозначениями. Единичное значение разряда CFG_AES_Only предписывает использовать при конфигурировании ПЛИС или программируемой системы на кристалле записанные ключи шифрования/дешифрования. Запись единичного значения в разряд AES_Exclusive запрещает частичное реконфигурирование кристалла программируемой логики или расширяемой процессорной платформы, применяемого для реализации проектируемого устройства. При единичном значении разряда W_EN_B_Key_User производится блокировка программирования регистров, предназначенных для хранения ключей шифрования/дешифрования конфигурационной последовательности и пользовательской информации. Единичное значение разряда R_EN_B_Key запрещает чтение ключей шифрования/дешифрования, записанных в регистре FUSE_KEY. Запись единичного значения в разряд R_EN_B_User блокирует чтение данных, содержащихся в пользовательском регистре FUSE_USER. Разряд W_EN_B_Cntl предоставляет возможность запрета программирования регистра управления FUSE_CNTL.

В третьей колонке с названием Bit Pos приводятся порядковые номера соответствующих разрядов регистра FUSE_CNTL. Четвертая колонка таблицы, имеющая название Description, предоставляет краткую информацию о назначении приведенных разрядов регистра управления.

Указав требуемое состояние разрядов регистра FUSE_CNTL, следует с помощью клавиши Next в нижней части диалоговой панели Control Register Setup перейти к заключительной панели мастера Program eFUSE Registers wizard, чей вид представлен на рис. 14.

Запись информации в однократно программируемые энергонезависимые регистры ПЛИС семейств Artix-7, Kintex-7, Virtex-7 и программируемых систем на кристалле семейства Zynq-7000 AP SoC

Рис. 14. Запись информации в однократно программируемые энергонезависимые регистры ПЛИС семейств Artix-7, Kintex-7, Virtex-7 и программируемых систем на кристалле семейства Zynq-7000 AP SoC

Последняя диалоговая панель мастера программирования энергонезависимых регистров, имеющая заголовок Program eFUSE Registers Summary, содержит выбранные значения ключей шифрования/дешифрования конфигурационной последовательности, пользовательские данные и коды управления, которые будут записаны в регистры FUSE_KEY, FUSE_USER и FUSE_CNTL соответственно. Для перехода к процессу программирования перечисленных регистров нужно воспользоваться клавишей Finish, расположенной в нижней части этой диалоговой панели. При нажатии указанной клавиши на экране появляется диалоговая панель с заголовком Program eFUSE, как показано на рис. 14. В открывшейся диалоговой панели отображается предупреждение о невозможности последующего изменения информации, записываемой в однократно программируемые энергонезависимые регистры. Здесь же содержится запрос подтверждения программирования регистров FUSE_KEY, FUSE_USER и FUSE_CNTL. Прежде чем подтвердить операцию записи данных в перечисленные регистры, рекомендуется внимательно проверить информацию, представленную в диалоговой панели Program eFUSE Registers Summary. Непосредственный запуск процесса программирования указанных регистров осуществляется нажатием клавиши OK, находящейся в нижней части диалоговой панели Program eFUSE. После нажатия указанной клавиши на экран выводится информационная панель Program eFUSE, чей вид приведен на рис. 14. В этой панели отображаются краткие сведения о текущем состоянии процесса программирования энергонезависимых регистров. Информация о результатах этого процесса появляется после его завершения на вкладке TCL Console консольной области основного окна управляющей оболочки САПР серии Xilinx Vivado HLx Design Suite.

Литература
  1. Зотов В. Проектирование цифровых устройств на основе ПЛИС фирмы Xilinx в САПР WebPackISE. М.: Горячая линия — Телеком, 2003.
  2. Зотов В. Проектирование встраиваемых микропроцессорных систем на основе ПЛИС фирмы Xilinx. М.: Горячая линия — Телеком, 2006.
  3. Зотов В. Проектирование встраиваемых микропроцессорных систем на базе расширяемых процессорных платформ семейства Zynq-7000 AP SoC в САПР XilinxISEDesignSuite// Компоненты и технологии. 2014. № 4–12. № 1.
  4. Зотов В. Моделирование цифровых устройств, проектируемых на основе ПЛИС фирмы Xilinx, средствами ISIM в САПР ISE Design Suite// Компоненты и технологии. 2013. № 2–3.
  5. Зотов В. Средства автоматизированного проектирования и этапы разработки встраиваемых микропроцессорных систем на базе расширяемых процессорных платформ семейства Zynq-7000 AP SoC // Компоненты и технологии. 2013. № 2–3.
  6. Зотов В. Особенности архитектуры нового поколения ПЛИС с архитектурой FPGA фирмы Xilinx // Компоненты и технологии. № 12.
  7. Зотов В. Расширение семейства программируемых систем на кристалле Zynq-7000 AP SoC // Компоненты и технологии. № 12. 2014. № 1.
  8. Vivado Design Suite User Guide. Release Notes, Installation and Licensing. Xilinx, 2016.
  9. Зотов В. Проектирование цифровых устройств на базе ПЛИС фирмы Xilinx в САПР серии VivadoHLxDesignSuite. Часть 1 // Компоненты и технологии. 2016. № 7.
  10. Зотов В. Конвертирование проектов цифровых устройств, разрабатываемых на основе ПЛИС и полностью программируемых систем на кристалле фирмы Xilinx в среде ISEDesignSuite, в формат САПР VivadoDesignSuite// Компоненты и технологии. 2013. № 8–10.
  11. Зотов В. Проектирование цифровых устройств на базе ПЛИС фирмы Xilinx в САПР серии VivadoHLxDesignSuite. Часть 2 // Компоненты и технологии. 2016. № 8.
  12. Зотов В. Разработка VHDL-описаний цифровых устройств, проектируемых на основе ПЛИС фирмы Xilinx, с использованием шаблонов САПР ISEDesignSuite // Компоненты и технологии. 2010. № 2–12. 2011. № 1–12. 2012. № 1–12.
  13. Зотов В. Проектирование цифровых устройств на базе ПЛИС фирмы Xilinx в САПР серии VivadoHLxDesignSuite. Часть 3 // Компоненты и технологии. 2016. № 9.
  14. Vivado Design Suite User Guide. Using Constraints. Xilinx, 2016.
  15. Vivado Design Suite Properties Reference Guide. Xilinx, 2016.
  16. Зотов В. Проектирование цифровых устройств на базе ПЛИС фирмы Xilinx в САПР серии VivadoHLxDesignSuite. Часть 4 // Компоненты и технологии. 2016. № 10.
  17. Зотов В. Проектирование узлов синхронизации цифровых устройств и встраиваемых микропроцессорных систем, реализуемых на базе ПЛИС фирмы Xilinx серий Artix-7, Kintex-7 и Virtex-7. Часть 1 // Компоненты и технологии. 2016. № 3.
  18. Зотов В. Проектирование цифровых устройств на базе ПЛИС фирмы Xilinx в САПР серии VivadoHLxDesignSuite. Часть 5 // Компоненты и технологии. 2016. № 11.
  19. Зотов В. Проектирование цифровых устройств на базе ПЛИС фирмы Xilinx в САПР серии VivadoHLxDesignSuite. Часть 6 // Компоненты и технологии. 2016. № 12.
  20. Зотов В. ModelSim — система HDL-моделирования цифровых устройств. // Компоненты и технологии. 2002. № 6.
  21. Зотов В. Проектирование цифровых устройств на базе ПЛИС фирмы Xilinx в САПР серии VivadoHLxDesignSuite. Часть 7 // Компоненты и технологии. 2017. № 1.
  22. Зотов В. Проектирование цифровых устройств на базе ПЛИС фирмы Xilinx в САПР серии VivadoHLxDesignSuite. Часть 8 // Компоненты и технологии, № 2. 2017.
  23. Зотов В. Проектирование цифровых устройств на базе ПЛИС фирмы Xilinx в САПР серии VivadoHLxDesignSuite. Часть 9 // Компоненты и технологии. 2017. № 3.
  24. UltraFast Design Methodology Quick Reference Guide. Xilinx, 2016.
  25. UltraFast Design Methodology Guide for the Vivado Design Suite. Xilinx, 2016.
  26. Зотов В. Проектирование цифровых устройств на базе ПЛИС фирмы Xilinx в САПР серии VivadoHLxDesignSuite. Часть 10 // Компоненты и технологии. 2017. № 4.
  27. Зотов В. Проектирование цифровых устройств на базе ПЛИС фирмы Xilinx в САПР серии VivadoHLxDesignSuite. Часть 11 // Компоненты и технологии. 2017. № 5.
  28. Зотов В. Проектирование цифровых устройств на базе ПЛИС фирмы Xilinx в САПР серии VivadoHLxDesignSuite. Часть 12 // Компоненты и технологии. 2017. № 6.
  29. Зотов В. Проектирование цифровых устройств на базе ПЛИС фирмы Xilinx в САПР серии VivadoHLxDesignSuite. Часть 13 // Компоненты и технологии. 2017. № 7.
  30. Зотов В. Проектирование цифровых устройств на базе ПЛИС фирмы Xilinx в САПР серии VivadoHLxDesignSuite. Часть 14 // Компоненты и технологии. 2017. № 8.
  31. Vivado Design Suite User Guide: Synthesis. Xilinx, 2016.
  32. Зотов В. Проектирование цифровых устройств на базе ПЛИС фирмы Xilinx в САПР серии VivadoHLxDesignSuite. Часть 15 // Компонентыитехнологии. 2017. № 9.
  33. Large FPGA Methodology Guide Including Stacked Silicon Interconnect (SSI) Technology. Xilinx, 2012.
  34. Santarini M. Stacked & Loaded: Xilinx SSI, 28-Gbps I/O Yield Amazing FPGAs // Xcell Journal. 2011. № 74.
  35. Santarini M. Xilinx Ships World’s Highest-Capacity FPGA Using SSI Technology // Xcell Journal. 2011. № 77.
  36. Зотов В. Проектирование цифровых устройств на базе ПЛИС фирмы Xilinxв САПР серии VivadoHLxDesignSuite. Часть 16 // Компоненты и технологии. 2017. № 10.
  37. Зотов В. Проектирование цифровых устройств на базе ПЛИС фирмы Xilinx в САПР серии VivadoHLxDesignSuite. Часть 17 // Компоненты и технологии. 2017. № 12.
  38. Зотов  В. Проектирование цифровых устройств на базе ПЛИС фирмы Xilinx в САПР серии Vivado HLx Design Suite. Часть 18 // Компоненты и технологии. 2018. № 1.
  39. Зотов  В. Проектирование цифровых устройств на базе ПЛИС фирмы Xilinx в САПР серии Vivado HLx Design Suite. Часть 19 // Компоненты и технологии. 2018. № 2.
  40. Зотов  В. Проектирование цифровых устройств на базе ПЛИС фирмы Xilinx в САПР серии Vivado HLx Design Suite. Часть 20 // Компоненты и технологии. 2018. № 3.
  41. Зотов  В. Проектирование цифровых устройств на базе ПЛИС фирмы Xilinx в САПР серии Vivado HLx Design Suite. Часть 21 // Компоненты и технологии. 2018. № 4.
  42. Зотов  В. Проектирование цифровых устройств на базе ПЛИС фирмы Xilinx в САПР серии Vivado HLx Design Suite. Часть 22 // Компоненты и технологии. 2018. № 5.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *