Подписка на новости

Опрос

Нужны ли комментарии к статьям? Комментировали бы вы?

Реклама

 

2006 №2

Программирование конфигурационной памяти встраиваемой системы, реализуемой на основе микропроцессорного ядра семейства PicoBlaze в ПЛИС фирмы Xilinx

Зотов Валерий


В представленной ранее серии публикаций [1, 2], посвященных применению конфигурируемых микропроцессорных ядер фирмы Xilinx [3–7], было дано подробное описание основных этапов разработки встраиваемых систем на основе восьмиразрядных ядер семейства PicoBlaze. Для реализации указанных систем чаще всего выбираются ПЛИС с архитектурой FPGA (Field Programmable Gate Array) [8]. Объем логических ресурсов кристаллов серий FPGA, выпускаемых фирмой Xilinx, позволяет выполнять на их основе системы с различной степенью сложности. Наличие специализированных аппаратных блоков в составе ПЛИС FPGA, как, например, модулей блочной памяти и аппаратных умножителей, в сочетании с высоким быстродействием кристаллов позволяет создавать встраиваемые микропроцессорные системы, отличающиеся повышенной производительностью. Загрузка конфигурационных данных, соответствующих проекту разработанной встраиваемой системы, в ПЛИС, как правило, осуществляется из ПЗУ/ППЗУ. Поэтому необходимо из сгенерированной конфигурационной последовательности ПЛИС сформировать файл программирования конфигурационной памяти соответствующего формата. Эта процедура выполняется средствами САПР серии Xilinx ISE (Integrated Synthesis Environment) [9]. В настоящей статье рассматриваются процессы подготовки файла «прошивки» и программирования конфигурационного ПЗУ/ППЗУ встраиваемой микропроцессорной системы в САПР серии Xilinx ISE версии 7.1i. Кроме того, в заключительной части публикации приводится краткая характеристика средств отладки программного обеспечения встраиваемых систем, разрабатываемых на основе микропроцессорных ядер семейства PicoBlaze.

Генерация файлов программирования конфигурационного ПЗУ/ППЗУ с помощью модуля iMPACT

Для того чтобы приступить к формированию файлов программирования конфигурационного ПЗУ/ППЗУ, необходимо, прежде всего, открыть разработанный проект встраиваемой микропроцессорной системы в среде управляющей оболочки средств проектирования серии Xilinx ISE — Навигатора проекта (Project Navigator). Далее, для визуализации интерактивного списка всех этапов процесса разработки встраиваемой микропроцессорной системы на базе ПЛИС фирмы Xilinx следует в окне исходных модулей Навигатора проекта выделить строку с названием файла описания верхнего уровня иерархии проекта, поместив на нее курсор и щелкнув левой кнопкой мыши. Вид основного окна управляющей оболочки Навигатора проекта, содержащего в окне процессов маршрут проектирования встраиваемой микропроцессорной системы, соответствующий выбранному типу ПЛИС и средств синтеза был приведен на рис. 1 в [2].

Диалоговая панель выбора типа файла программирования конфигурационного ПЗУ/ППЗУ
Рис. 1. Диалоговая панель выбора типа файла программирования конфигурационного ПЗУ/ППЗУ

Для преобразования конфигурационной последовательности в файл программирования ПЗУ/ППЗУ следует использовать соответствующий режим модуля iMPACT, который является составной частью средств проектирования серии Xilinx ISE. Эта программа позволяет также формировать файлы «прошивки» ПЗУ/ППЗУ в стандартных промышленных форматах, поддерживаемых различными аппаратными программаторами. Для ее активизации в этом режиме необходимо дважды щелкнуть левой кнопкой мыши на строке Generate PROM, ACE, or JTAG File, расположенной в окне процессов Навигатора проекта. Затем автоматически запускается соответствующий «мастер» инициализации программы iMPACT. Его работа начинается с вывода на экран диалоговой панели выбора типа формируемого файла программирования, приведенной на рис. 1.

Чтобы сформировать файл «прошивки» конфигурационного ПЗУ/ППЗУ, следует нажать кнопку PROM file и, воспользовавшись клавишей Далее (Next), перейти к следующей диалоговой панели «мастера», в которой необходимо указать формат и параметры создаваемого файла программирования (рис. 2).

Диалоговая панель установки параметров файла программирования конфигурационного ПЗУ/ППЗУ
Рис. 2. Диалоговая панель установки параметров файла программирования конфигурационного ПЗУ/ППЗУ

С помощью кнопок Xilinx PROM и Generic Parallel PROM выбирается вид используемого элемента ПЗУ/ППЗУ: последовательный или параллельный.

Группа кнопок PROM File Format предназначена для выбора формата создаваемого файла. В эту группу входят следующие кнопки: MCS, EXO, TEK, HEX, UFP, BIN и ISC. Чтобы сформировать файл для программирования конфигурационного ППЗУ, следует выбрать формат MCS, нажав одноименную кнопку.

В поле редактирования PROM File Name необходимо указать название создаваемого файла программирования, используя клавиатуру.

С помощью параметра Location определяется место расположение формируемого файла «прошивки» на диске. Полное название каталога, включающее путь доступа к нему, вводится с клавиатуры или указывается в стандартной панели выбора диска и раздела, которая открывается при нажатии кнопки Browse, расположенной справа от поля редактирования Location.

Процесс установки параметров файла программирования завершается нажатием кнопки Далее (Next), расположенной в нижней части панели (рис. 2). При этом открывается очередная диалоговая панель «мастера», в которой нужно выбрать серию и тип используемого ПЗУ/ППЗУ (рис. 3).

Диалоговая панель выбора серии и типа используемого конфигурационного ПЗУ/ППЗУ
Рис. 3. Диалоговая панель выбора серии и типа используемого конфигурационного ПЗУ/ППЗУ

Выпадающий список поля выбора Select a PROM содержит названия всех серий ПЗУ/ППЗУ, выпускаемых фирмой Xilinx. После выбора семейства ПЗУ/ППЗУ нужно в следующем поле указать конкретный тип нужного элемента. Для этого следует активизировать выпадающий список этого поля, который содержит все ПЗУ или ППЗУ выбранного семейства. Чтобы использовать выбранный элемент, необходимо нажать кнопку Add, после чего его название отображается в составе цепочки конфигурационных ПЗУ/ППЗУ с указанием номера позиции. При необходимости следует повторить операции выбора и включения в состав цепочки следующего элемента. В простейшем случае используется единственный элемент ПЗУ или ППЗУ для хранения конфигурационных данных.

Параметр Auto Select PROM предоставляет возможность автоматического выбора серии и типа используемого ПЗУ/ППЗУ. По умолчанию для него установлено значение «выключено». При переключении этого параметра в состояние «включено» программа iMPACT автоматически определит тип ПЗУ/ППЗУ для хранения конфигурационных данных проекта.

Процедура выбора типа ПЗУ/ППЗУ завершается нажатием кнопки Далее (Next) (рис. 3). После этого на экран выводится информационная панель, в которой отображаются установленные значения всех параметров процесса генерации файла программирования конфигурационного ПЗУ/ППЗУ (рис. 4).

Рис. 4. Информационная панель, отображающая значения параметров, используемых при генерации файла программирования конфигурационного ПЗУ/ППЗУ

Для изменения каких-либо значений следует вернуться к предыдущим шагам, нажав кнопку Назад (Back). Если все параметры установлены корректно, нужно нажать кнопку Далее (Next), после чего будет открыта следующая диалоговая панель «мастера», вид которой показан на рис. 5.

Рис. 5. Диалоговая панель выбора файла конфигурационной последовательности, используемого в качестве исходного для генерации файла программирования ПЗУ/ППЗУ

В этой панели следует прибегнуть к помощи кнопки Add File, чтобы указать название файла конфигурационной последовательности (с расширением .bit), который используется в качестве исходного при формировании файла «прошивки». При нажатии кнопки Add File открывается стандартная диалоговая панель выбора файла, посредством которой определяется название используемого файла (.bit). Модуль генерации файла программирования позволяет разместить несколько конфигурационных последовательностей в одном ПЗУ или ППЗУ. Для этого следует в панели запроса о включении еще одной конфигурационной последовательности в загружаемый поток (Data Stream) нажать кнопку Yes (рис. 6) и повторить процедуру выбора файла.

Панель запроса о включении еще одной конфигурационной последовательности в загружаемый поток
Рис. 6. Панель запроса о включении еще одной конфигурационной последовательности в загружаемый поток

Если размер конфигурационной битовой последовательности превышает емкость выбранного элемента ПЗУ/ППЗУ, выводится соответствующее предупреждение (рис. 7). В этом случае рекомендуется повторно запустить «мастер» процесса генерации файла программирования и выбрать соответствующий тип ПЗУ/ППЗУ.

Рис. 7. Панель предупреждения о несоответствии размера конфигурационной битовой последовательности и емкости выбранного элемента ПЗУ/ППЗУ

Процесс формирования загружаемого потока (Data Stream) завершается нажатием кнопки No в панели запроса (рис. 6). При этом отображается заключительная панель «мастера», ее вид показан на рис. 8.

Рис. 8. Итоговая панель «мастера» формирования файла программирования конфигурационного ПЗУ/ППЗУ

В этой панели необходимо нажать кнопку Готово (Finish), которая запускает автоматический процесс генерации файла программирования конфигурационного ПЗУ/ППЗУ, в начале которого выводится панель запроса, приведенная на рис. 9.

Рис. 9. Диалоговая панель, содержащая запрос подтверждения немедленного запуска генерации файла программирования конфигурационного ПЗУ/ППЗУ

Необходимо подтвердить немедленный запуск процесса генерации файла программирования, нажав кнопку Yes, расположенную в диалоговом окне запроса. Информация о ходе выполнения процесса генерации файла программирования появляется в окне регистрации сообщений программы iMPACT. После успешного завершения формирования файла программирования в рабочей области основного окна программы iMPACT выводится соответствующее сообщение и отображается условный графический образ (УГО) ПЗУ/ППЗУ, рядом с ним указывается его название и процент заполнения. Структура формируемого файла «прошивки» также представлена в графической форме в виде условных изображений ПЛИС, конфигурационные данные которых содержатся в файле программирования (рис. 10). При расположении курсора мыши на УГО появляется всплывающая панель, в ней представлена информация о соответствующем элементе в рабочей области основного окна программы iMPACT.

Рис. 10. Отображение структуры сформированного файла «прошивки» ПЗУ/ППЗУ в рабочей области окна модуля iMPACT

Сформированный файл, имеющий расширение mcs, может непосредственно использоваться для программирования конфигурационных ПЗУ/ППЗУ с помощью модуля iMPACT.

Для хранения конфигурационной информации фирма Xilinx предоставляет семейство однократно программируемых последовательных ПЗУ XC1700 и две серии перепрограммируемых в системе последовательных/параллельных ППЗУ — XC18V00 и Platform Flash. Микросхемы серии Platform Flash имеют более низкую стоимость по сравнению с ПЗУ семейства XC1700, обусловленную применением передовых технологий в процессе их производства. Таким образом, в большинстве случаев для хранения конфигурационных данных рекомендуется применять перепрограммируемые запоминающие устройства. Поэтому далее рассматривается только процедура программирования конфигурационных ППЗУ серий XC18V00 и Platform Flash.

Программирование конфигурационных ППЗУ серий XC18V00 и Platform Flash с помощью модуля iMPACT

Процесс программирования конфигурационных ППЗУ серий XC18V00 и Platform Flash не требует дополнительных аппаратных средств. Для этих целей может использоваться любой загрузочный кабель JTAG-интерфейса. Возможные типы таких кабелей, выпускаемых фирмой Xilinx, перечислены в [1]. В настоящем разделе рассматривается процесс программирования конфигурационной памяти встраиваемых микропроцессорных систем с использованием JTAG-кабеля, подключаемого к параллельному порту (LPT) персонального компьютера (Parallel Download Cable). Данный вариант загрузочного кабеля является наиболее доступным для разработчиков.

Перед активизацией программы iMPACT рекомендуется присоединить загрузочный кабель к соответствующему порту ПК и специальным JTAG-контактам ППЗУ, после чего подать напряжение питания на плату разработанной системы. Далее для запуска модуля iMPACT необходимо выполнить ту же последовательность операций, что и при конфигурировании ПЛИС в режиме периферийного сканирования, который подробно рассмотрен в [2]. Если используются значения параметров инициализации программы iMPACT, установленные по умолчанию, то после ее активизации автоматически стартует «мастер», позволяющий выбрать требуемые значения опций в интерактивном режиме. Для программирования ППЗУ при работе с «мастером» следует выполнить те же действия, что и при конфигурировании ПЛИС в режиме периферийного сканирования [2]. После успешного обнаружения ППЗУ в цепочке периферийного сканирования ее УГО отображается в рабочей области окна программы iMPACT. Сразу после выполнения инициализации ППЗУ предлагается определить название используемого файла «прошивки» с помощью стандартного окна открытия файла. Если в дальнейшем требуется изменить название файла программирования, то следует выделить требуемый УГО ППЗУ, поместив на него курсор и щелкнув левой кнопкой мыши, после чего воспользоваться командой Assign Configuration File из всплывающего меню Edit или кнопкой , расположенной на оперативной панели. Можно также применить команду Assign New Configuration File из всплывающего контекстно-зависимого меню, активизируемого щелчком правой кнопкой мыши на изображении соответствующего УГО в рабочей области.

Выполнение всех операций программирования ППЗУ и обратного чтения данных из конфигурационной памяти осуществляется с помощью команд всплывающего меню Operations или контекстно-зависимого всплывающего меню. При использовании меню Operations необходимо предварительно выбрать элемент ППЗУ, поместив на его УГО курсор и щелкнув левой кнопкой мыши. Для активизации контекстно-зависимого всплывающего меню следует расположить указатель на условное изображение соответствующего ППЗУ ищелкнуть правой кнопкой мыши.

Программирование выбранного элемента ППЗУ осуществляется с помощью команды Program меню Operations или контекстно-зависимого всплывающего меню, после активизации которой на экран выводится диалоговая панель параметров этого процесса (рис. 11).

Рис. 11. Диалоговая панель параметров процесса программирование выбранного элемента ППЗУ

В этой панели помимо параметра Verify, назначение которого рассмотрено в [2], для программирования конфигурационного ППЗУ могут использоваться следующие опции.

Параметр Erase Before Programming позволяет разработчику установить режим предварительного «стирания» конфигурационных данных, находящихся в ППЗУ перед его программированием. Значение «включено», установленное по умолчанию для этого параметра, указывает на необходимость выполнения операции «стирания» перед загрузкой новой конфигурационной последовательности.

Параметр Read Protect предназначен для установки защиты от несанкционированного чтения (копирования) загружаемых конфигурационных данных. Программирование ППЗУ с использованием защиты от чтения устанавливает код секретности, который «сбрасывается» только при выполнении операции полного «стирания». По умолчанию этот параметр принимает значение «выключено», запрещающее использование защиты от чтения.

С помощью параметра PROM Usercode (8 HEX Chars) можно указать пользовательский идентификационный код USERCODE, который заносится в одноименный регистр ППЗУ и может быть впоследствии считан для определения назначения и версии записанных конфигурационных данных. Код задается в виде последовательности из восьми шестнадцатеричных символов. При переключении параметра PROM Usercode (8 HEX Chars) в состояние «включено» активизируется соответствующее поле редактирования, и в нем с помощью клавиатуры задается требуемый код. По умолчанию этот параметр находится в состоянии «выключено». В качестве пользовательского идентификационного номера используется значение 0xFFFFFFFF.

После установки всех необходимых значений параметров следует подтвердить их нажатием кнопки ОК в нижней части диалоговой панели (рис. 11), что приводит к запуску операции программирования выбранного элемента конфигурационного ППЗУ. Состояние процесса программирования отображается в всплывающем окне индикации. Завершение процесса программирования сопровождается соответствующими уведомлениями в рабочей области и окне регистрации сообщений программы iMPACT.

Чтобы получить информацию о состоянии (запрограммирован или нет) выбранного элемента конфигурационного ППЗУ, следует использовать команду Blank Check. Данные о его статусе отображаются в виде всплывающего сообщения в рабочей области основного окна программы iMPACT. Перевод ППЗУ в незапрограммированное состояние осуществляется с помощью команды стирания Erase.

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

Краткая характеристика средства отладки программного обеспечения встраиваемых систем, разрабатываемых на основе микропроцессорных ядер семейства PicoBlaze

Если возникает необходимость внести какие-либо изменения в исходный текст микропрограмм для встраиваемых систем, создаваемых на основе микропроцессорных ядер семейства PicoBlaze, то необходимо повторно выполнить все этапы разработки, рассмотренные в [1, 2]. Исключением являются системы, реализуемые на основе ПЛИС семейств Spartan-3, Virtex-II, Virtex-IIPRO и Virtex-4 [7]. Только соответствующая версия микропроцессорного ядра PicoBlaze комплектуется средствами загрузки микропрограмм JTAG Program Loader. Данные средства позволяют записывать код новой микропроцессорной программы непосредственно в программную память через порт JTAG-интерфейса с помощью стандартного загрузочного кабеля фирмы Xilinx, предназначенного для конфигурирования ПЛИС. Поэтому в общем случае, чтобы сократить суммарное время разработки проектируемой системы, целесообразно завершить создание и верификацию ее микропрограммного обеспечения до выполнения этапов синтеза и реализации проекта в кристалле ПЛИС.

Фирмой Xilinx не предусмотрены специальные отладочные средства для разработки программного обеспечения встраиваемых систем, проектируемых на основе микропроцессорных ядер семейства PicoBlaze. В качестве инструментов отладки микропрограмм в САПР серии Xilinx ISE версии 7.1i могут применяться средства моделирования ISE Simulator или система ModelSim [9], которая является самостоятельным программным продуктом, выпускаемым корпорацией Model Technology (одним из подразделений компании Mentor Graphics). Следует учитывать, что данные инструменты моделирования не предназначены для отладки программного обеспечения встраиваемых микропроцессорных систем. Поэтому при их использовании в качестве отладочных средств проявляются следующие недостатки:

  • необходимость подготовки модуля входных воздействий на одном из языков описания аппаратуры высокого уровня HDL (Hardware Description Language) — VHDL или Verilog;
  • недостаточная наглядность (информативность) результатов моделирования выполнения микропрограммы;
  • отсутствие средств диагностики.

Учитывая все вышесказанное, рекомендуется в процессе разработки программного обеспечения для встраиваемых микропроцессорных систем, проектируемых на основе ядер семейства PicoBlaze, использовать специальные отладочные инструменты. Пример таких средств отладки — свободно распространяемая система pBlaze IDE (Integrated Development Environment). Она представляет собой интегрированную среду разработки и отладки микропроцессорных программ, предназначенных для встраиваемых систем, выполняемых на базе восьмиразрядных ядер семейства PicoBlaze. Особенностями данных средств отладки являются:

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

Для копирования отладочных средств pBlaze IDE следует открыть веб-страницу http://www.mediatronix.com/tools. Система отладки pBlaze IDE предоставляется пользователям в виде соответствующего архива, который содержит единственный программный модуль pBlazIDE.exe. Этот модуль не требует предварительной установки и может быть активизирован непосредственно из рабочего каталога проекта встраиваемой микропроцессорной системы. Отладочные средства pBlaze IDE находятся в процессе постоянного обновления, поэтому на указанной веб-странице представлено несколько версий данной системы. К моменту подготовки статьи пользователям была доступна рабочая версия 3.6, а также бета-версия 3.74.

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

Литература

  1. Зотов В. Создание проекта встраиваемой системы на основе микропроцессорного ядра семейства PicoBlaze // Компоненты и технологии. 2005. № 8–9.
  2. Зотов В. Реализация проекта встраиваемой системы на основе микропроцессорного ядра семейства PicoBlaze // Компоненты и технологии. 2006. № 1.
  3. Зотов В. PicoBlaze — семейство восьмиразрядных микропроцессорных ядер, реализуемых на основе ПЛИС фирмы Xilinx // Компоненты и технологии. 2003. № 4.
  4. Зотов В. Система команд микропроцессорного ядра PicoBlaze, реализуемого на основе ПЛИС семейств Spartan-II, Spartan-IIE, Virtex, Virtex-E // Компоненты и технологии. 2003. № 5.
  5. Зотов В. Особенности микропроцессорного ядра PicoBlaze, предназначенного для применения в проектах, реализуемых на основе ПЛИС семейства Virtex-II // Компоненты и технологии. 2003. № 6.
  6. Зотов В. Особенности микропроцессорного ядра PicoBlaze, предназначенного для применения в проектах, реализуемых на основе ПЛИС семейства CoolRunner-II // Компоненты и технологии. 2003. № 7.
  7. Зотов В. Особенности микропроцессорного ядра PicoBlaze, предназначенного для применения в проектах, реализуемых на основе ПЛИС семейств Spartan-3, Virtex-II и Virtex-IIPRO // Компоненты и технологии. 2005. № 5–6.
  8. Кузелин М. О., Кнышев Д. А., Зотов В. Ю. Современные семейства ПЛИС фирмы Xilinx. Справочное пособие. М.: Горячая линия-Телеком. 2004.
  9. Зотов В. Проектирование цифровых устройств на основе ПЛИС фирмы Xilinx в САПР WebPack ISE. М.: Горячая линия — Телеком. 2003.

Скачать статью в формате PDF  Скачать статью Компоненты и технологии PDF

 


Другие статьи по данной теме:

Сообщить об ошибке