Компоненты и технологии, № 2'2002 Софт
Программирование ПЛИС семейств СРЮ фирмы ХШпх в САПР WebPACK !ЗЕ
После успешного завершения процесса размещения и трассировки проекта в кристалле ПЛИС, рассмотренного в предыдущих публикациях [1-4], становятся известными (могут быть рассчитаны) значения задержек распространения всех сигналов проектируемого устройства. Для получения соответствующей детальной информации можно воспользоваться программой временного анализа Timing Analyzer, которая входит в состав пакета САПР WebPACK™ ISE™
(Integrated Synthesis Environment).
Валерий Зотов
Для окончательной верификации проекта необходимо выполнить полное (временное) моделирование, используя средства системы ModelSim XE Starter™ и программы генерации тестов HDL Bencher. По соображениям, изложенным в последней статье [4], этап временного моделирования процесса разработки цифровых устройств на базе ПЛИС Xilinx будет рассмотрен в соответствующих публикациях. Настоящая статья посвящена завершающему этапу процесса проектирования цифровых устройств на базе ПЛИС семейств CPLD компании Xilinx [5-7] — загрузке разработанного проекта в кристалл.
На этапе программирования ПЛИС семейств CPLD фирмы Xilinx осуществляется конфигурирование кристалла, предназначенного для реализации алгоритма функционирования проектируемого устройства. Рассматриваемый этап включает в себя две фазы: создание конфигурационной последовательности для разрабатываемого проекта и ее загрузка в кристалл с помощью программных средств, входящих в состав пакета САПР WebPACK ISE.
Создание конфигурационной последовательности для проекта, разрабатываемого на базе ПЛИС семейств CPLD
Результаты, полученные на этапе размещения и трассировки проекта в кристалл, не могут непосредственно использоваться для конфигурирования ПЛИС. Их необходимо преобразовать в формат, воспринимаемый средствами программирования. Для загрузки разработанного проекта в кристаллы семейств CPLD с использованием JTAG-интерфейса создается конфигурационная последовательность (файл программирования) в формате JEDEC. Перед активизацией процесса генерации файла программирования нужно проверить и установить необходимые значения его параметров. Для этого следует в окне процессов (рис. 1) щелчком левой кнопки
мыши выделить строку Generate Programming File, после чего нажать кнопку, расположенную на . оперативной панели Навигатора проекта, илиЛ£И воспользоваться командой Properties контекстно-зависимого всплывающего меню, которое выводится при щелчке правой кнопки мыши.
Рис. 1. Рабочая область основного окна Навигатора проекта пакета WebPACK И
В результате на экране монитора отображае тся диалоговая панель параметров процесса генерации конфигурационной последовательности, вид которой показан на рис. 2.
Параметр Signature/User Code позволяет разработчику задать уникальную сигнатуру (код пользователя) в виде строки, включающей не более четырех алфавитно-цифровых символов, которая идентифицирует создаваемую конфигурационную
Компоненты и технологии, № 2'2002
Рис. 2. Диалоговая панель параметров процесса генерации конфигурационной последовательности (файла программирования)
последовательность каждого проекта. После загрузки проекта в кристалл эта сигнатура может быть впоследствии считана с помощью средств программирования. Таким образом, разработчик может при необходимости уточнить, какому проекту (варианту проекта) соответствует конфигурационная последовательность, загруженная в каждый кристалл ПЛИС. Для определения сигнатуры следует щелчком левой кнопки мыши активизировать соответствующее поле редактирования в диалоговой панели (рис. 2), после чего ввести требуемую последовательность символов. По умолчанию в качестве сигнатуры используется название (первые четыре символа) исходного модуля верхнего уровня иерархии проекта.
Значение параметра Jedec Test Vector File задается при использовании компилятора ABEL для проектов, включающих тестовые векторы, созданные разработчиком. В процессе компиляции таких проектов генерируются файлы тестовых векторов (файлы TMV), которые впоследствии могут быть включены в состав конфигурационной последовательности. При значении «включено» файл программирования в формате JEDEC будет содержать файлы тестовых векторов. По умолчанию для этого параметра установлено значение «выключено». Параметр Disable BUSHOLD Circuitry относится только к проектам, реализуемым на базе ПЛИС серий 9500XL/XV. Значение «включено» устанавливает запрет на использование цепей удержания последнего состояния для всех блоков ввода/вывода кристалла. По умолчанию этот параметр находится в состоянии «выключено».
Выполнив все необходимые изменения значений параметров процесса генерации конфигурационной последовательности, следует подтвердить их нажатием клавиши ОК в нижней части диалоговой панели (рис. 2). После этого активизируется процесс формирования файла программирования двойным щелчком левой кнопки мыши на строке Generate Programming File, расположенной в окне процессов Навигатора проекта. Информация о ходе его выполнения отображается в окне консольных сообщений и строке состояния. После успешного завершения этого процесса, отмеченного соответствующей пиктограммой в строке Generate Programming File, можно приступать непосредственно к программированию ПЛИС.
Организация программирования ПЛИС семейств CPLD компании Xilinx
ПЛИС семейств CPLD, выпускаемые компанией Xilinx, являются программируемыми в системе (in-system programmable, ISP). Для их конфигурирования не требуется специальных аппаратных средств программирования, хотя их использование также возможно (например, программатора HW-130). Конфигурационная последовательность разрабатываемого проекта может быть загружена из компьютера через специальный загрузочный кабель JTAG-интерфейса. Для программирования ПЛИС семейств CPLD компании Xilinx используются только четыре сигнала из совокупности, описанной в спецификации стандарта JTAG (IEEE Standard 1149.1):
• Test Data In (TDI);
• Test Mode Select (TMS);
• Test Clock (TCK);
• Test Data Out (TDO).
Представленные сигналы в процессе конфигурирования подаются на одноименные выводы ПЛИС. Если в состав разрабатываемой системы входят несколько кристаллов ПЛИС, то их специальные выводы, используемые для программирования и периферийного сканирования, могут быть соединены в соответствии со схемой, показанной на рис. 3. Таким образом, формируется последовательная цепочка периферийного сканирования кристаллов ПЛИС, подключенная к соответствующей группе контактов JTAG-интерфейса.
Средства программирования пакета WebPACK ISE поддерживают следующие типы загрузочных кабелей:
• JTAG-кабель, подключаемый к параллельному порту (LPT) персонального компьютера (Parallel Download Cable);
• универсальный кабель MultiLinx, подключаемый к последовательному порту (COM) персонального компьютера (MultiLinx Download Cable RS-232);
• универсальный кабель MultiLinx, подключаемый к последовательной шине (Universal Serial Bus, USB) персонального компьютера (MultiLinx Download Cable USB). Принципиальная схема и описание параллельного загрузочного кабеля (Parallel Download Cable) расположены в разделе поддержки на сайте xilinx.com.
В состав пакета WebPACK ISE входят следующие средства программирования:
• модуль iMPACT, реализующий операции конфигурирования и периферийного сканирования для ПЛИС семейств CPLD, FP-GA и ISP ППЗУ семейства XC18V00;
• модуль PROM File Formatter, предназначенный для формирования файлов прошивки ППЗУ в стандартных промышленных форматах, поддерживаемых различными аппаратными программаторами.
Краткое описание модуля программирования iMPACT пакета WebPACK ISE
Программа iMPACT предназначена для конфигурирования ПЛИС семейств CPLD, FPGA и ППЗУ семейства XC18V00 в различных режимах, а также для считывания конфигурационных данных из кристаллов и организации тестирования разработанного устройства с использованием JTAG-интерфейса. Отличительными особенностами модуля iMPACT являются:
• автоматическая идентификация типа загрузочного кабеля, подключенного к ПК, который используется для выполнения операций конфигурирования, чтения данных и тестирования;
• ручной установки типа и параметров интерфейса для используемого загрузочного кабеля;
• одновременная работа с несколькими типами ПЛИС;
• автоматическое обнаружение (определение числа и типов кристаллов в составе цепочки периферийного сканирования) и инициализация цепочки ПЛИС, подключенных к используемому JTAG-порту;
• поддержка трех режимов загрузки конфигурационных данных (Boundary-Scan (JTAG), Slave Serial и SelectMAP);
• вычисление контрольной суммы конфигурационных данных, считанных из выбранного кристалла ПЛИС;
• определение статуса (состояния) выбранного кристалла (запрограммирован или нет);
• контроль конфигурационных данных, загруженных в кристалл, методом обратного считывания и сравнения с исходным файлом программирования;
• считывание и представление в символьном виде сигнатур (пользовательского кода), которые идентифицируют версию конфигурационной последовательности проекта, загруженную в указанный кристалл ПЛИС;
• генерация файлов программирования в форматах SVF и STAPL, которые включают в себя конфигурационные данные и инструкции программирования;
• эффективный пользовательский интерфейс, обеспечивающий простой и быстрый механизм активизации всех операций и наглядную форму отображения полученных результатов;
• возможность работы в различных режимах (графическом, пакетном и режиме командной строки);
Программа iMPACT может быть активизирована непосредственно в среде управляющей оболочки пакета WebPACK ISE — Навигатора проекта или автономно. Для запуска модуля iMPACT в среде Windows 98/NT следует воспользоваться пиктограммой, расположен- и|^ ной на Рабочем столе Windows, или стро- "
е
Компоненты и технологии, № 2'2002
кой Device Programming из выпадающего меню Программы/Xilinx WebPACK, доступ к которому открывается при нажатии кнопки Пуск. В большинстве случаев наиболее целесообразно использовать Навигатор проекта для активизации программы iMPACT. Этот способ подробно рассмотрен в следующем разделе. При успешном выполнении операций инициализации на экране монитора отображается основное окно программы iMPACT, подробная структура которого показана на рис. 4. Она включает следующие элементы:
• заголовок окна;
• главное меню;
• оперативную панель управления;
• рабочую область;
• встроенное окно регистрации сообщений;
• строку состояния.
Некоторые из перечисленных элементов
могут быть выключены в текущей конфигурации. Для эффективного использования инструментов пользовательского интерфейса рекомендуется установить режим отображения всех элементов окна программы iMPACT, используя команды пункта View основного меню.
всплывающем меню Operations находятся команды, необходимые для выполнения всех операций, реализуемых программой. Пункты этого меню позволяют осуществить программирование выбранного устройства, обратное чтение данных из кристалла, стирание конфигурационной информации, вычисление контрольной суммы и проверки загруженной конфигурационной последовательности, считывание идентификационного кода и сигнатуры, определение состояния кристалла.
Выпадающее меню Output предоставляет команды управления процессами подключения и инициализации загрузочного кабеля и установки необходимых параметров используемого интерфейса ПК. Здесь также находятся команды, необходимые для создания файлов программирования в формате SVF и STAPL. Во всплывающем меню View сгруппированы команды, управляющие отображением некоторых элементов основного окна программы iMPACT, а также регенерацией рабочей области и очисткой окна регистрации сообщений. Пункт Help основного меню предоставляет справочную информацию о работе с программой iMPACT, поддерживаемых се-
Рис. 4. Структура основного окна модуля iMPACT пакета WebPACK ISE
В заголовке окна программы iMPACT отображается полное имя файла описания текущей композиции цепочки периферийного сканирования (configuration description file, CDF), которое включает путь доступа к рабочему каталогу проекта.
Главное меню управляющей оболочки пакета обеспечивает доступ ко всем командам, необходимым для работы с программой. Каждый пункт главного меню открывает всплывающее меню, в котором находится соответствующая группа команд. Всплывающее меню File содержит команды создания, открытия и сохранения файлов описания композиции ПЛИС в составе цепочки периферийного сканирования (CDF) и файлов протокола работы с программой (LOG). Кроме того, в эту группу включены команды инициализации выбранной цепочки ПЛИС и завершения работы. Выпадающее меню Edit объединяет команды редактирования данных в рабочей области и изменения параметров функционирования программы iMPACT. Во
мействах ПЛИС и, кроме того, открывает прямой доступ к ресурсам сайта xilinx.com.
Оперативная панель управления содержит кнопки быстрого доступа, которые дублируют наиболее часто используемые команды программы iMPACT.
Рабочая область основного окна представляет в наглядной форме информацию о кристаллах, которые доступны для конфигурирования, чтения данных или тестирования, и файлах, которые содержат конфигурационную последовательность для каждой ПЛИС. Эта область окна включает в себя три страницы, снабженных закладками: Boundary-Scan, Slave Serial и SelectMAP (рис. 4). Поместив курсор мыши на соответствующую закладку и щелкнув левой клавишей, выбираем нужную страницу рабочей области. Каждая страница соответствует определенному режиму загрузки конфигурационных данных. Эффективный визуальный механизм управления рабочей области позволяет быстро получить исчерпывающую информацию о выбранном
кристалле ПЛИС и выполнить необходимые операции конфигурирования и отладки.
Окно регистрации сообщений предназначено для вывода информации о запуске, ходе и результатах выполнения команд в текущем сеансе работы с программой. Здесь также отображаются сообщения об ошибках и предупреждения. Содержимое этого окна заносится в файл протокола работы программы iMPACT, который может быть просмотрен с помощью текстового редактора.
Строка состояния, расположенная в нижней части окна программы iMPACT, служит для вывода сообщений о текущих выполняемых командах и пояснений о назначении выбранной команды. Она также содержит специальные поля, которые используются для отображения информации о типе подключенного загрузочного кабеля и порте ПК, используемом для коммутации.
Программирование ПЛИС семейств CPLD с помощью модуля iMPACT пакета WebPACK ISE
Прежде чем приступить непосредственно к работе с модулем программирования ПЛИС iMPACT, рекомендуется присоединить загрузочный кабель к соответствующему порту ПК и специальным контактам платы проектируемого устройства, предназначенным для конфигурирования кристаллов (JTAG-порту). После этого следует подать напряжение питания на разработанное устройство. Такая последовательность обеспечивает возможность автоматического обнаружения и инициализации загрузочного кабеля и цепочки периферийного сканирования кристаллов ПЛИС при активизации программы iMPACT. Если загрузочный кабель подключается после запуска модуля программирования, то в этом случае необходимо выполнить операции установки типа и параметров используемого кабеля и инициализации цепочки периферийного сканирования кристаллов.
При активизации программы iMPACT непосредственно в среде управляющей оболочки пакета WebPACK ISE — Навигатора проекта — рекомендуется предварительно проконтролировать и при необходимости установить требуемые значения параметров инициализации. Для этого нужно в окне процессов (рис. 1) щелчком левой кнопки мыши выделить строку Configure Device (iMPACT), после чего нажать кнопку, расположенную на опера- jipjj тивной панели Навигатора проекта, или воспользоваться командой Properties контекстно-зависимого всплывающего меню, которое выводится при щелчке правой кнопки мыши. В результате выполненных действий на экране монитора отображается диалоговая панель параметров инициализации программы iMPACT (рис. 5).
Параметр Port to be used позволяет разработчику выбрать порт ПК, который используется для подключения загрузочного кабеля. Выпадающий список содержит значения: Auto, LPT1, LPT2, LPT3, COM1, COM2, COM3, USB0, USB1, USB2. Разработчик может явно указать порт, к которому подключен соответ-
Компоненты и технологии, № 2'2002
Process Properties
El
МРАСТ Piogrammng TooiPioperbet |
Propeity Maine Value
Port to be used Auto
Baud rate Auto
Configurator) Mode Boundary Scan
Type о» Configuration Fie JtOfeC F«e (*nd)
Configuration Fieneme J
OK I Отмена | I Справка
Рис. S. Диалоговая панель параметров инициализации программы iMPACT
ют в силу после нажатия клавиши ОК в нижней части диалоговой панели (рис. 5). Далее следует активизировать модуль программирования двойным щелчком левой кнопки мыши на строке Configure Device (iMPACT) в окне процедур Навигатора проекта (рис. 1). Работа программы iMPACT в этом случае начинается с обнаружения загрузочного кабеля. Ход процесса отображается на экране с помощью всплывающего окна индикации (рис. 6) и сопровождается соответствующей информацией в окне регистрации сообщений.
ствующий загрузочный кабель. Значение Auto, установленное по умолчанию, позволяет программе iMPACT автоматически определить порт ПК, к которому присоединен загрузочный кабель.
Значение параметра Baud rate определяет скорость передачи данных между ПК и выбранным загрузочным кабелем. Выпадающий список возможных значений этого параметра содержит пять элементов: Auto, 9600, 19200, 38400, 57600. По умолчанию используется значение Auto, которое устанавливает автоматический выбор скорости передачи данных, соответствующей выбранному типу загрузочного кабеля и порта ПК.
Параметр Configuration Mode задает режим конфигурирования ПЛИС, который будет установлен при запуске программы iMPACT. Содержание выпадающего списка возможных значений этого параметра зависит от семейства ПЛИС, выбранного для реализации проектируемого устройства. По умолчанию установлен режим периферийного сканирования Boundary Scan. Для конфигурирования ПЛИС семейств CPLD может использоваться только этот режим.
Параметр Type of Configuration File указывает формат (тип) файлов, которые будут использоваться в процессе конфигурирования. Содержимое выпадающего списка возможных значений этого параметра определяется семейством ПЛИС, на базе которого осуществляется реализация проектируемого устройства. Для конфигурирования ПЛИС семейств CPLD могут использоваться файлы форматов JEDEC (jed) и Chain Description File (cdf). По умолчанию для этого параметра установлено значение JEDEC file (*.jed).
С помощью параметра Configuration Filename определяется название файла программирования, который будет использован в процессе конфигурирования. Название файла может быть введено непосредственно с клавиатуры после активизации поля редактирования значения этого параметра или выбрано при использовании стандартной диалоговой панели открытия файла, которая открывается при нажатии кнопки с пиктограммой в виде многоточия («...»). По умолчанию значение этого параметра не определено. При этом используется файл программирования, название которого совпадает с именем модуля исходного описания проекта верхнего уровня иерархии.
Все выполненные изменения параметров инициализации программы iMPACT вступа-
Cable Communication Setup
Communication Mode (• Parallel MuMnx/USB
Г Mukinx/Seiial
Baud Rate: Port:
■ J |lpt1 zi
OK Cancel a 4) xi
Рис. 7. Диалоговая панель выбора типа загрузочного кабеля и установки параметров соответствующего порта ПК
ного окна и в текстовом виде в окне регистрации сообщений программы iMPACT (рис. 8). Под каждым условным графическим образом (УГО) ПЛИС указывается ее тип и название соответствующего файла, содержащего конфигурационную последовательность. Если эта информация отсутствует или необходимо изменить название файла программирования, то следует выделить требуемый УГО, поместив на него курсор и щелкнув левой кнопкой мыши, после чего воспользоваться командой Assign Configuration File из всплывающего меню Edit или кнопкой, расположенной на jnj| оперативной панели. Можно также использовать команду Assign New Configuration File из всплывающего контекстно-зависимого меню, активизируемого щелчком правой кнопки мыши на соответствующем УГО в рабочей области. В результате отображается стандартное окно открытия файла, с помощью которого производится выбор требуемого файла программирования.
Если программе не удается автоматически идентифицировать загрузочный кабель, то после соответствующего предупреждения выводится диалоговая панель ручной установки его параметров (рис. 7). Необходимо последовательно установить параметры:
• Communication Mode — вид интерфейса, используемого для коммутации с ПК (тип загрузочного кабеля): Parallel, MultiLinx/ USB, MultiLinx/Serial;
• Port — номер порта, к которому подключен кабель загрузки;
• Baud Rate — скорость передачи данных (только для MultiLinx/Serial).
Тип используемого интерфейса устанавливается щелчком левой кнопки мыши на изображении кнопки с соответствующим названием. Значения параметров Port и Baud Rate выбираются из выпадающих списков, для доступа к которым следует использовать кнопку, расположенную в правой части поля выбора.
При успешном обнаружении присоединенного загрузочного кабеля производится автоматический поиск и инициализация цепочки периферийного сканирования ПЛИС, подключенной к выбранному ДАС-порту. Информация об обнаруженной цепочке периферийного сканирования ПЛИС отображается в графической форме в рабочей области основ-
Рис. 8. Отображение цепочки периферийного сканирования в окне модуля iMPACT пакета WebPACK ISE
Выполнение всех операций программирования и периферийного сканирования, поддерживаемых модулем iMPACT, осуществляется с помощью команд всплывающего меню Operations или контекстно-зависимого всплывающего меню. При использовании меню Operations необходимо предварительно выбрать кристалл, поместив на его УГО курсор и щелкнув левой кнопкой мыши. Для активизации контекстно-зависимого всплывающего меню следует расположить указатель на условное изображение соответствующей ПЛИС и щелкнуть правой кнопкой мыши.
Программирование выбранного кристалла осуществляется с помощью команды Program меню Operations или контекстно-зависимого всплывающего меню, после активизации которого на экран выводится диалоговая панель параметров процесса загрузки конфигурации ПЛИС (рис. 9). Эта панель содержит группу общих параметров программирования кристаллов и группы опций, относящихся к конкретным семействам ПЛИС. Ниже рассматриваются общие параметры процесса конфигурирования кристаллов семейств CPLD. Эти опции могут принимать одно из двух возможных значений: разрешающее («включено») и запрещающее («выключено»).
е
Компоненты и технологии, № 2'2002
Параметр Erase Before Programming позволяет разработчику установить режим предварительного стирания конфигурационных данных, находящихся во внутренней («теневой») энергонезависимой памяти кристалла, перед его программированием. Значение «включено», установленное по умолчанию для этого параметра, указывает на необходимость выполнения операции стирания перед загрузкой новой конфигурационной последовательности.
Значение параметра Verify определяет использование операции контроля конфигурационных данных в ходе программирования ПЛИС. По умолчанию установлено значение «включено», которое устанавливает режим проверки конфигурационной последовательности после ее загрузки в кристалл.
Параметр Read Protect предназначен для установки защиты от несанкционированного чтения (копирования) загружаемых конфигурационных данных. Программирование ПЛИС с использованием защиты от чтения устанавливает код секретности, который сбрасывается только при выполнении операции полного стирания. По умолчанию этот параметр принимает значение «выключено», запрещающее использование кода секретности.
С помощью параметра Write Protect разработчику предоставляется возможность установки защиты от случайного перепрограммирования ПЛИС. При значении «выключено», установленном по умолчанию, защита от записи не используется.
После установки всех необходимых значений параметров следует подтвердить их нажатием кнопки «ОК» в нижней части диалоговой панели (рис. 9), что приводит к запуску операции программирования выбранного кристалла. Состояние процесса программирования отображается с помощью всплывающего окна индикации, вид которого аналогичен окну, показанному на рис. 6. Завершение процесса конфигурирования отмечается соответствующими сообщениями в рабочей области и окне регистрации сообщений программы iMPACT. На рис. 10 в качестве примера приведен протокол загрузки конфигурационной последовательности проекта счетчика
PROGRESS_START - Starting Operation. Validating chain...
Boundary-scan chain validated successfully. '1': Putting device in ISP mode...done.
'1': Erasing device...done.
'1': Erasure completed successfully.
'1': Programming device...done.
'1': Putting device in ISP mode...done.
'1': Verifying device...done.
'1': Verification completed successfully.
'1': Programming completed successfully. PROGRESS_END - End Operation.
Elapsed time = 6 sec.
Рис.10. Пример протокола выполнения процесса программирования ПЛИС
Джонсона, разработка которого рассмотрена в [2-4]. В протоколе отражено выполнение всех фаз процесса конфигурирования: проверка цепочки периферийного сканирования, стирание, программирование и проверка загруженных данных.
Чтениеи контроль конфигурационной информации из ПЛИС семейств CPLD с помощью модуля iMPACT пакета WebPACK ISE
Реализация всех операций, рассматриваемых в настоящем разделе, осуществляется с помощью команд, которые находятся в меню Operations и контекстно-зависимом всплывающем меню. Для получения доступа к ним необходимо выполнить те же действия, что и при инициировании процесса программирования ПЛИС, которое рассмотрено в предыдущем разделе. Полученные результаты отображаются в окне регистрации сообщений.
Для считывания конфигурационных данных из запрограммированного кристалла, выделенного в цепочке периферийного сканирования, которая представлена в рабочей области окна программы iMPACT, предназначена команда Readback. Считанная конфигурационная последовательность сохраняется в виде файла на диске в формате JEDEC, который может использоваться для программирования других ПЛИС. Поэтому выполнение команды Readback начинается с вывода стандартной диалоговой панели определения названия создаваемого файла. Дальнейший ход
PROGRESS_START - Starting Operation. Validating chain...
Boundary-scan chain validated successfully. '1': Putting device in ISP mode...done.
'1': Putting device in ISP mode...done.
'1': Performing readback on device...
'1': Writing to file
F:\project\jcount\jc2_load.jed ...
'1': Read back completed successfully. PROGRESS_END - End Operation.
Elapsed time = 4 sec.
Рис. 11. Пример протокола обратного чтения конфигурационных данных из кристалла
процесса отображается на экране с помощью всплывающего окна индикации и сопровождается информацией в окне регистрации сообщений. В качестве примера на рис. 11 показан протокол чтения конфигурационных данных из кристалла, реализующего проект счетчика Джонсона, программирование которого рассмотрено в предыдущем разделе. Операция чтения конфигурационных данных может быть успешно выполнена только при отсутствии защиты от копирования (кода секретности).
Вычисление контрольной суммы конфигурационной последовательности, загруженной в кристалл, осуществляется с помощью команды Get Device Checksum. Полученный результат сравнивается с контрольной суммой файла программирования, который указан в рабочей области для выбранной ПЛИС. Рис. 12 представляет протокол чтения контрольной суммы для кристалла, реализующего проект счетчика Джонсона.
PROGRESS_START - Starting Operation. Validating chain...
Boundary-scan chain validated successfully. '1': Putting device in ISP mode...done.
'1': Putting device in ISP mode...done.
'1': Reading device contents...
'1': Calculated checksum is 41f4 '1': Calculated checksum matches the file checksum
PROGRESS_END - End Operation.
Elapsed time = 4 sec.
Рис. 12. Пример протокола выполнения операции вычисления контрольной суммы конфигурационных данных, считанных из кристалла
Для чтения сигнатуры запрограммированного кристалла используется команда Get Device Signature/Usercode. Считанная сигнатура в символьном виде отображаются в окне регистрации сообщений (рис. 13). При использовании семейства XPLA для реализации проекта рассматриваемая операция выполняется с помощью команды Get XPLA device UES.
Validating chain..
Boundary-scan chain validated successfully. '1': Usercode is 'jcou'
Рис. 13. Результаты процесса чтения сигнатуры кристалла, реализующего проект счетчика Джонсона
Команда Get Device ID позволяет считать идентификационный код кристалла, установленный производителем. Этот код используется средствами программирования для определения типов ПЛИС, представленных в цепочке периферийного сканирования. Полученный результат отображается в окне регистрации сообщений в двоичном и шестнадцатеричном виде (рис. 14). Формат идентификационного кода содержит 32 двоичных разряда. Первые четыре разряда определяют тип корпуса; следующие семь разрядов со- www.finestreet.ru--------------------
Компоненты и технологии, № 2'2002
Validating chain...
Boundary-scan chain validated successfully. 'l': IDCODE is
'00101001011000001000000010010011' '1': IDCODE is '29608093' (in hex)
Рис. l4. Результаты чтения идентификационного кода ПЛИС XC95144XL TQ100
ставляют код семейства кристаллов; предпоследние 11 разрядов представляют собой код фирмы-производителя (для фирмы Xilinx он имеет вид 000 0100 1001); последний разряд всегда принимает единичное значение.
Проверка достоверности конфигурации выбранного кристалла производится с помощью команды Verify. В процессе контроля выполняется обратное чтение конфигурационных данных из запрограммированной ПЛИС и сравнение с содержимым соответствующего файла программирования, который указан для выбранного элемента цепочки периферийного сканирования. Информация о результатах проверки выводится в рабочей области и окне регистрации сообщений.
Чтобы получить информацию о состоянии выбранного элемента цепочки периферийного сканирования (запрограммирован или нет), следует использовать команду Blank Check. Данные о статусе соответствующего кристалла отображаются в виде всплывающего сообщения в рабочей области основного окна программы iMPACT. Перевод кристалла в незапро-
граммированное состояние осуществляется с помощью команды стирания Erase. При выполнении этой операции для кристалла с установленной защитой от записи необходимо в диалоговой панели, которая выводится на экран при выборе команды Erase (рис. 15), установить параметр Override Write Protect в состояние «включено».
Для получения сводной информации о каждом кристалле цепочки периферийного сканирования, представленной в рабочей области основного окна программы iMPACT, достаточно поместить указатель мыши на соответствующий УГО ПЛИС. После этого в рабочей области отображается всплывающая панель, где содержатся данные о версии, сигнатуре, установленной защите и контрольной сумме конфигурационной последовательности выбранного кристалла (рис. 8). Эти данные доступны только после выполнения соответствующих операций в текущем сеансе работы с программой iMPACT.
Литература
1. Зотов В. МеБРАСК КБ — свободно распространяемый пакет проектирования цифровых устройств на базе ПЛИС ХДтх. // Компоненты и технологии. 2001. № 6.
2. Зотов В. МеБРАСК КБ: Интегрированная среда разработки конфигурации и программирования ПЛИС фирмы ХДтх. Создание нового проекта. // Компоненты и технологии. 2001. № 7.
3. Зотов В. Схемотехнический редактор пакета МеБРАСК КБ. Создание принципиальных схем и символов. // Компоненты и технологии. 2001. № 8.
4. Зотов В. Синтез, размещение и трассировка проектов, реализуемых на базе ПЛИС СРББ фирмы ХДтх, в САПР WebPACK КБ. // Компоненты и технологии. 2002. № 1.
5. Кнышев Д. А., Кузелин М. О. ПЛИС фирмы «ХДтх»: описание структуры основных семейств. М.: Додэка-ХХ1, 2001.
6. Мальцев П. П., Гарбузов Н. И., Шарапов А. П., Кнышев Д. А. Программируемые логические ИМС на КМОП-структурах и их применение. М.: Энергоатомиздат, 1998.
7. Кузелин М. ПЛИС СРББ компании ХДтх с малым потреблением. Серия СооШиппег. // Компоненты и технологии. 2001. № 5.
8. Кузелин М. ПЛИС фирмы ХДтх: семейство ЗраЛап-П. // Компоненты и технологии. 2001. № 3.
е