Новый инструментальный комплект от компании Avnet
на основе ПЛИС FPGA семейства Spartan-3A фирмы Xilinx
Валерий ЗОТОВ
walerry@km.ru
Активно увеличивая объемы выпуска ПЛИС семейств Spartan-3A и Spartan-3AN, фирма Xilinx непрерывно совершенствует технологию их производства. Одним из заметных результатов этого процесса в настоящем году стало существенное (практически двукратное) снижение стоимости кристаллов этих семейств. Оптимальное сочетание низкой стоимости и высоких технических характеристик ПЛИС указанных семейств позволяет производителю позиционировать их в качестве наиболее перспективной элементной базы цифровых устройств. Данные кристаллы предназначены, прежде всего, для всестороннего использования в составе серийно выпускаемой аппаратуры. В ряде случаев ПЛИС семейств Spartan-3A и Spartan-3AN можно применять в качестве эффективной замены специализированных интегральных схем ASIC (application-specific IC).
Чтобы облегчить и ускорить переход разработчиков к практическому использованию ПЛИС указанных семейств, оценить их возможности и преимущества, компания Avnet разрабола новый инструментальный комплект Xilinx Spartan-3A Evaluation Kit, который отличается ультра-низкой стоимостью и достаточно широким набором функциональных возможностей. Цель настоящей публикации — ознакомление с функциональными возможностями и архитектурой аппаратного модуля Xilinx Spartan-3A Evaluation Board, который является основным компонентом инструментального комплекта Xilinx Spartan-3A Evaluation Kit. Кроме того, в статье приводятся необходимые сведения об основных режимах работы указанной отладочной платы и ее отдельных узлов, которые позволяют сразу же приступить к практическому использованию данного инструментального модуля.
Прежде чем перейти непосредственно к изучению инструментального комплекта Xilinx Spartan-3A Evaluation Kit, рассмотрим особенности и основные характеристики ПЛИС семейств Spartan-3A и Spartan-3AN.
Особенности и основные характеристики ПЛИС семейств Spartan-3A и Spartan-3AN
Семейства Spartan-3A и Spartan-3AN представляют собой дальнейшее развитие серии ПЛИС Spartan-3. Поэтому кристаллам этих семейств присуще большинство характерных
особенностей ПЛИС предшествующих семейств этой серии. В состав архитектуры кристаллов семейств Spartan-3A и Spartan-3AN входят те же структурные элементы, что и в выпускаемые ранее ПЛИС серии Spartan-3. Основное архитектурное отличие кристаллов последних семейств проявляется в оптимизированной системе программируемых блоков ввода/вывода (Input/Output block, IOB). Кроме того, данные кристаллы обладают рядом преимуществ по сравнению с ПЛИС семейств Spartan-3 и Spartan-3E. Наиболее важными особенностями кристаллов семейств Spartan-3A и Spartan-3AN являются:
• наличие уникального идентификационного кода DNA у каждого кристалла, который существенно упрощает организацию защиты от копирования создаваемых проектов;
• использование усовершенствованной технологии Select I/O, позволяющей поддерживать расширенный спектр однополюсных и дифференциальных цифровых сигнальных стандартов ввода/вывода, общее число которых увеличено до 26;
• поддержка в полном объеме стандартов ввода/вывода с реальными уровнями сигналов 3,3 В;
• возможность осуществления передачи данных с удвоенной скоростью Double Data Rate в соответствии со спецификацией DDR2, открывающая широкие перспективы для реализации высокоскоростных интерфейсов со скоростью передачи данных до 400 Мбит/с;
• применение встроенных модернизированных аппаратных умножителей с возможностью конвейерной организации выполнения операций вычисления произведения 18-разрядных значений, позволяющих добиться повышения производительности разрабатываемых устройств цифровой обработки сигналов;
• применение специального режима управления уровнем потребляемой мощности;
• полное соответствие условиям реализации функции «горячей замены» (Hot Swap);
• применение модулей блочной памяти с поддержкой режима побайтной записи, повышающего эффективность их использования в составе встраиваемых систем, реализуемых на базе конфигурируемых микропроцессорных ядер семейств PicoBlaze [1-4], MicroBlaze [1, 5-8];
• наличие сторожевого таймера CWDT (configuration watchdog timer), обеспечивающего автоматическое возобновление процесса конфигурирования ПЛИС при возникновении ошибок;
• возможность применения в ряде случаев одного источника напряжения для питания выходных каскадов блоков ввода/вывода (шины VCCO) и специализированных ресурсов ПЛИС (шины VCCAUX). Внедрение новых технологических решений
в ПЛИС семейств Spartan-3A и Spartan-3AN предоставляет пользователям возможность значительного снижения уровня потребляемой мощности. В кристаллах этих семейств кроме «спящего» режима (Hibernate mode)
Таблица 1. Основные параметры ПЛИС семейств Spartan-3A и Spartan-3AN
Тип кристалла Число системных вентилей (1К=1024 бит) Число логических ячеек Logic Cells Массив конфигурируемых логических блоков (CLB) 1 CLB = 4 секции Объем распределенной памяти, кбит Объем блочной памяти Block RAM, кбит Число аппаратных умножителей Число цифровых блоков управления синхронизацией DCM Максимальное число пользовательских выводов Максимальное число дифференциальных пар выводов Объем интегрированной Flash-памяти в ПЛИС семейства Spartan-3AN, Мбит
Число строк Число столб- цов Общее число CLB Коли- чество секций Slices
XC3S50A(AN) 50K 1 584 16 12 176 704 11 54 144 64 1
XC3S200A(AN) 200K 4 032 32 16 448 1 792 28 288 16 248 112 4
XC3S400A(AN) 400K 8 064 40 24 896 3 584 56 360 20 311 142 4
XC3Sl00A(AN) l00K 13 248 48 32 1 472 5,888 92 360 20 3l2 165 8
XC3S1400A(AN) 1400K 25 344 l2 40 2 816 11 264 1l6 5l6 32 502 22l 16
Таблица 2. Типы корпусного исполнения ПЛИС семейства Spartan-3A
Тип корпуса ПЛИС
VQ100, VQG100 TQ144, TQG144 FT256, FTG256 FG320, FGG320 FG400, FGG400 FG484, FGG484 из 7 (О FG (О 7 (О G О
Число пользо- Число пользо- Число пользо- Число пользо- Число пользо- Число пользо- Число пользо-
Тип вательских вательских вательских вательских вательских вательских вательских
кристалла выводов выводов выводов выводов выводов выводов выводов
Одно- полюсных Дифферен- циальных пар Одно- полюсных Дифферен- циальных пар Одно- полюсных Дифферен- циальных пар Одно- полюсных Дифферен- циальных пар Одно- полюсных Дифферен- циальных пар Одно- полюсных Дифферен- циальных пар Одно- полюсных Дифферен- циальных пар
XC3S50A 68 60 108 50 144 64
XC3S200A 68 60 - - 195 90 248 112 - - - - - -
XC3S400A - - - - 195 90 251 112 311 142 - - - -
XC3Sl00A - - - - 161 l4 - - 311 142 3l2 165 - -
XC3S1400A - - - - 161 l4 - - - - 3l5 165 502 22l
Таблица 3. Типы корпусного исполнения ПЛИС семейства Spartan-3AN
Тип корпуса ПЛИС
TQG144 FTG256 FGG400 FGG484 FGG676
Тип кристалла Число пользовательских выводов Число пользовательских выводов Число пользовательских выводов Число пользовательских выводов Число пользовательских выводов
Одно- полюс- ных Дифферен- циальных пар Одно- полюс- ных Дифферен- циальных пар Одно- полюс- ных Дифферен- циальных пар Одно- полюс- ных Дифферен- циальных пар Одно- полюс- ных Дифферен- циальных пар
XC3S50AN 108 50 - - - - - - - -
XC3S200AN - - 195 90 - - - - - -
XC3S400AN - - - - 311 142 - - - -
XC3Sl00AN - - - - - - 3l2 165 - -
XC3S1400AN - - - - - - - - 502 22l
предусмотрен «приостановленный» режим (Suspend mode). При переходе в «приостановленный» режим (режим пониженного энергопотребления) в кристалле полностью сохраняется конфигурационная информация, а также текущее состояние всех внутренних элементов (триггеров, сдвиговых регистров, ОЗУ). Кроме того, разработчику предоставляется возможность определения состояния для каждого пользовательского вывода ПЛИС в этом режиме с помощью соответствующих выражений ограничений. Таким образом, в режиме пониженного энергопотребления Suspend mode сохраняется текущее состояние реализуемого устройства, в котором оно находилось в момент перехода в этот режим. Переключение между активным и «приостановленным» режимами осуществляется подачей соответствующего уровня сигнала на специальный вывод ПЛИС, который имеет условное обозначение SUSPEND. Время возврата кристалла в активное состояние составляет менее 500 мкс. Применение приостановленного режима позволяет добиться сокращения потребляемой мощности в статике до 40%. Для вычисления оценки потребляемой мощности устройствами, выполняемыми на основе ПЛИС семейств Spartan-3A и Spartan-3AN, можно использовать программные средства XPower Power Estimator, а также программу XPower Analyzer, которая входит в состав САПР серии Xilinx ISE (Integrated Software Environment/Integrated Synthesis Environment) [9].
ПЛИС семейства Spartan-3AN отличаются от кристаллов семейства Spartan-3A наличием интегрированной конфигурационной энергонезависимой Flash-памяти. Размещение конфигурационного ППЗУ в одном корпусе с кристаллом FPGA позволяет дополнительно повысить уровень защищенности разрабатываемых проектов. Такое решение исключает возможность считывания конфигурационной последовательности в процессе ее загрузки в ПЛИС. Кроме того, каждый элемент интегрированной Flash-памяти в ПЛИС семейства Spartan-3AN имеет уникальный идентификационный код — Factory Flash ID, который устанавливается производителем. Тем самым предоставляется дополнительная степень защиты от копирования конфигурационных данных пользовательских проектов. Еще одно преимущество этих ПЛИС — сокращение площади печатной платы разрабатываемых устройств за счет исключения дополнительного корпуса внешней конфигурационной памяти и упрощения процесса трассировки.
В состав каждого из семейств Spartan-3A и Spartan-3AN входят пять типов ПЛИС, содержащих от 1584 до 25 344 логических ячеек (от 50 000 до 1,4 млн системных вентилей). Основные параметры кристаллов рассматриваемых семейств, которые отражают информацию об объеме доступных ресурсов различного типа, представлены в таблице 1.
Применяемые разновидности корпусов для каждого типа ПЛИС семейств Spartan-3A и Spartan-3AN с указанием количества доступных пользовательских выводов приведены в таблицах 2 и 3 соответственно. Все кристаллы семейств Spartan-3A и Spartan-3AN обладают совместимостью по выводам в случае использования одинаковых корпусов.
Более подробное описание архитектуры и технических характеристик кристаллов этих семейств можно найти в [10-13].
Назначение и состав инструментального комплекта Xilinx Spartan-3A Evaluation Kit
Оригинальная архитектура, широкие функциональные возможности и доступность инструментального комплекта Xilinx Spartan-3A Evaluation Kit определяют его многопрофильное назначение. В первую очередь, этот инструментальный модуль предоставляет возможность на практике познакомить-
ся с архитектурными особенностями ПЛИС семейства Spartan-3A и оценить их преимущества. При этом схемотехнические решения, используемые в аппаратном модуле Xilinx Spartan-3A Evaluation Board, могут рассматриваться в качестве образцов реализации соответствующих узлов в проектируемых устройствах. Примерами таких решений могут служить вариант схемы питания ПЛИС семейства Spartan-3A и организация взаимодействия цифровой части проектируемой системы, реализуемой на основе ресурсов данного кристалла, с интерфейсом USB.
Кроме того, представляемый комплект предназначен для практического изучения методики сквозного проектирования цифровых устройств на основе ПЛИС перспективных семейств FPGA фирмы Xilinx в среде САПР серии ISE. Инструментальный модуль Xilinx Spartan-3A Evaluation Board может использоваться также для ознакомления с процессом разработки встраиваемых систем на основе конфигурируемых микропроцессор-
ных ядер. Для этих целей в состав документации включены соответствующие методические материалы, позволяющие самостоятельно, на конкретном примере изучить последовательность этапов проектирования цифровых устройств с аппаратной и программной реализацией операций на базе кристаллов семейства Spartan-3A.
Важное предназначение рассматриваемого модуля — в возможности его применения в качестве инструмента аппаратной отладки разрабатываемых устройств и систем, а также для решения задач прототипирования. В частности, архитектурные особенности инструментального модуля Xilinx Spartan-3A Evaluation Board позволяют эффективно проводить отладку проектируемых устройств с интерфейсом USB. Достаточно большой объем логических и трассировочных ресурсов кристалла ПЛИС, используемого в составе данного модуля, в сочетании с высоким быстродействием позволяют реализовать на его основе проекты встраиваемых микропроцессорных систем, разрабатываемых на базе конфигурируемых 8-разрядных ядер семейства PicoBlaze и 32-разрядных ядер семейства MicroBlaze.
В состав инструментального комплекта Xilinx Spartan-3A Evaluation Kit входят все необходимые аппаратные и программные средства, которые могут потребоваться в ходе практического изучения основ проектирования цифровых устройств и встраиваемых микропроцессорных систем на базе ПЛИС фирмы Xilinx и в процессе отладки разрабатываемых проектов. Рассматриваемый комплект включает в себя:
• плату инструментального модуля Xilinx Spartan-3A Evaluation Board;
• стандартный mini USB-кабель, предназначенный для загрузки конфигурационной последовательности в ПЛИС и программирования элементов Flash ППЗУ, установленных на плате инструментального модуля Xilinx Spartan-3A Evaluation Board;
• набор для программирования кристаллов семейства PSoC Mixed Signal Array фирмы Cypress Semiconductor — Cypress PSoC Evaluation Kit CY3217;
• DVD-ROM, содержащий новую полнофункциональную версию системы проектирования ISE Design Suite 10.1 WebPACK [9], а также оценочные версии других программных продуктов фирмы Xilinx, включая ISE Foundation, ChipScope Pro и Xilinx EDK, которые можно использовать в течение 60 дней с момента установки. Подробная документация на инструментальный модуль, включая функциональную и принципиальную схему, Руководство пользователя Xilinx Spartan-3A Evaluation Kit User Guide, утилиту загрузки конфигурационной последовательности в ПЛИС и программирования элементов Flash-памяти Avnet Programming Utility, распространяется свободно
через Internet. Для копирования соответствующих файлов нужно открыть Web-страницу компании Avnet (http://www.em.avnet.com/), перейти в раздел Design Resource Center, найти соответствующий подраздел, посвященный рассматриваемому инструментальному комплекту, и выполнить процедуру бесплатной регистрации.
Особенности инструментального комплекта Xilinx Spartan-3A Evaluation Kit
Инструментальный комплект Xilinx Spar-tan-3A Evaluation Kit характеризуются следующими особенностями:
• применение в качестве основного компонента инструментального модуля Xilinx Spartan-3A Evaluation Board ПЛИС XC3S400A с объемом 400 000 системных вентилей (8064 логических ячеек), предоставляющей возможность реализации проектов цифровых устройств и встраиваемых микропроцессорных систем;
• наличие элемента последовательной Flash-памяти с интерфейсом SPI (Serial Peripheral Interface), который может быть задействован как для хранения конфигурационной информации кристалла XC3S400A, так и в составе встраиваемой микропроцессорной системы, а также в качестве энергонезависимой памяти данных;
• возможность использования элемента параллельной Flash-памяти, который по выбору пользователя может выполнять функции хранения конфигурационной последовательности ПЛИС семейства Spartan-3A или программного кода встраиваемой микропроцессорной системы;
• применение в составе инструментального модуля программируемого интерфейсного блока, включающего в себя контроллеры интерфейсов I2C, SPI, USB, а также схему конфигурирования ПЛИС и программирования элементов Flash-памяти, установленных на отладочной плате;
• поддержка перепрограммирования интерфейсного блока, расширяющая функциональные возможности отладочного модуля;
• подключение пользовательских выводов ПЛИС к контактам трех разъемов расширения, в том числе соответствующих стандартам, поддерживаемым периферийными инструментальными модулями (картами расширения), которые выпускает фирма Digilent Incorporated;
• наличие дополнительного разъема для подключения стандартных загрузочных кабелей различного типа, предлагаемых фирмой Xilinx, которые предоставляют возможность выполнения операций конфигурирования ПЛИС в различных режимах и обратного считывания конфигурационных данных через порт JTAG-интерфейса, а также внутрикристальной отладки проектируемых устройств с помощью средств ChipScope Pro;
• присутствие на плате светодиодных элементов индикации, обеспечивающих возможность визуального контроля напряжения питания, процесса конфигурирования кристалла и функционирования разрабатываемых устройств;
• наличие четырех сенсорных кнопочных переключателей, которые можно использовать в качестве элементов управления в разрабатываемом устройстве, например, для выбора конфигурационной последовательности, загружаемой в кристалл ПЛИС, ручной установки режима работы реализуемой системы или в процессе отладки проектируемой системы, а также для тестирования инструментального модуля и прикладного программного обеспечения;
• использование комплексной схемы управления питанием на основе интегральных стабилизаторов и супервизоров, выполняющей функции формирования и контроля напряжений, необходимых для питания компонентов модуля, в том числе для блоков ввода/вывода и ядра кристалла FPGA, элементов Flash-памяти и интерфейсного блока;
• возможность использования в качестве первичного источника питания внешнего адаптера с выходным напряжением 5 В или USB-порта компьютера по выбору пользователя;
• присутствие на отладочной плате кнопки, обеспечивающей реализацию режима принудительной загрузки конфигурационной последовательности проекта в ПЛИС;
• полная совместимость аппаратного модуля со всем семейством систем проектирования и программирования кристаллов фирмы Xilinx серии ISE (ISE WebPACK и ISE Foundation) версии 10.x и поддержка средствами разработки встраиваемых микропроцессорных систем Xilinx EDK версии 10.x [1, 8];
• наличие утилиты Avnet Programming Utility, позволяющей выполнять конфигурирование ПЛИС, а также непосредственное программирование элементов Flash-памяти, установленных на плате инструментального модуля, с помощью стандартного кабеля, подключаемого к USB-порту компьютера.
Архитектура инструментального модуля Xilinx Spartan-3A Evaluation Board
Внешний вид отладочного модуля Xilinx Spartan-3A Evaluation Board представлен на рис. 1. Все компоненты модуля смонтированы на печатной плате с двухсторонним размещением компонентов.
Структурное представление архитектуры данного инструментального модуля показано на рис. 2.
Рис. 1. Внешний вид инструментального модуля Xilinx Spartan-3A Evaluation Board (вид сверху)
Порт интерфейса 12С
Датчик температуры с интерфейсом 12С
Порт интерфейса SPI
Элемент последовательной Flash-пэмяти SPI
Интерфейсный блок
Блок сенсорных переключателей
Схема управления конфигурированием ПЛИС
Интегрированный
программатор
♦ --------
Разъем USB-порта
ПЛИС
FPGA
Spartan-3A
XC3S400A
FTG256
Блок синхронизации
Блок светодиодных индикаторов
Разъемы расширения
Элемент параллельной Flash-пэмяти
3,3 В
1,2 В
Схема формирования напряжений питания
Рис. 2. Структурное представление архитектуры отладочного модуля Xilinx Spartan-3A Evaluation Board
Основными компонентами архитектуры
аппаратного отладочного модуля Xilinx
Spartan-3A Evaluation Board являются:
• кристалл XC3S400A семейства Spartan-3A в корпусе FTG256 с шариковыми выводами для бессвинцовой пайки, на основе ресурсов которого реализуется основная часть проектируемой системы;
• программируемый интерфейсный блок;
• блок загрузки конфигурационных данных;
• схема управления конфигурированием ПЛИС;
• блок синхронизации, предназначенный для формирования исходных внешних (по отношению к кристаллу XC3S400A) тактовых сигналов;
• блок последовательной Flash-памяти с интерфейсом SPI;
• блок параллельной NOR GL Flash-памяти;
• схема формирования и контроля питающих напряжений;
• блок светодиодных индикаторов;
• блок сенсорных кнопочных переключателей;
• порт интерфейса I2C;
• датчик температуры с интерфейсом I2C;
• порт интерфейса SPI;
• три разъема расширения;
• разъем USB-порта, имеющий многоцелевое назначение.
Краткая информация об архитектурных особенностях и основных технических характеристиках ПЛИС XC3S400A, которая явля-
ется главным элементом рассматриваемого отладочного модуля, была представлена в первом разделе настоящей публикации.
Интерфейсный блок инструментального модуля Xilinx Spartan-3A Evaluation Board выполнен в виде программируемой «системы на кристалле» PSoC (programmable systems-on-chips). Для этой цели использован кристалл семейства PSoC Mixed-Signal Arrays CY8C24894, выпускаемый фирмой Cypress Semiconductor. В рассматриваемом отладочном модуле на базе этого кристалла реализованы контроллеры интерфейсов I2C, SPI, USB, блока сенсорных переключателей, а также схема конфигурирования ПЛИС и программирования элементов Flash-памяти (интегрированный программатор). Следует обратить внимание на то, что для организации указанных интерфейсов задействована только незначительная часть ресурсов кристалла PSoC Mixed-Signal Arrays CY8C24894. Данный кристалл предоставляет возможность использования в разрабатываемом устройстве различных аналоговых и цифровых блоков, в частности, программируемых усилителей, фильтров, компараторов, модуляторов, АЦП, ЦАП, умножителей, аккумуляторов. Полная информация о функциональных возможностях ИС PSoC Mixed-Signal Arrays CY8C24894 приведена в [14]. Пользователь может изменить конфигурацию этой «системы на кристалле», установленную производителем отладочного модуля Xilinx Spartan-3A Evaluation Board, в соответствии с требованиями разрабатываемого проекта. Для этого необходимо воспользоваться средствами проектирования и программирования PSoC Designer и PSoC Programmer в комплексе с программатором, входящим в комплект Cypress PSoC Evaluation Kit CY3217. Пакет указанных программных средств можно скопировать после выполнения процедуры бесплатной регистрации, открыв Web-страницу http://www.cypress.com, перейдя в раздел Software и выбрав подраздел PSoC Designer. Следует обратить внимание на то, что применение кристаллов семейства PSoC Mixed-Signal Arrays в качестве дополнительного компонента систем, проектируемых на основе ПЛИС семейств Spartan-3A и Spartan-3AN, позволяет минимизировать суммарную стоимость разрабатываемых цифровых и смешанных (аналого-цифровых) устройств.
Блок загрузки конфигурационных данных включает в себя интегрированный программатор и разъем JTAG-порта, предназначенный для подключения стандартных загрузочных кабелей различного типа к инструментальному модулю. Интегрированный программатор и разъем USB-порта позволяют выполнять операции конфигурирования ПЛИС и программирования элементов Flash-памяти, установленных на отладочной плате, с помощью обычного стандартного mini USB-кабеля. Встроенный программатор реализован на базе соответствующих ресурсов
кристалла семейства PSoC Mixed-Signal Arrays. Разъем JTAG-порта инструментального модуля позволяет использовать для операций конфигурирования, периферийного сканирования и внутрикристальной отладки разрабатываемых устройств универсальные загрузочные кабели, выпускаемые фирмой Xilinx: Parallel Cable IV (PC IV) и Platform Cable USB.
В состав схемы управления конфигурированием ПЛИС инструментального модуля входит группа коммутационных перемычек JP4, кнопка PROG (SW1) и светодиодный индикатор D7. Три перемычки JP4 предназначены для выбора режима конфигурирования кристалла и источника конфигурационных данных (типа Flash ППЗУ, используемого для хранения конфигурационной последовательности ПЛИС). С их помощью задаются значения сигналов на входах выбора режима конфигурирования M0, M1, M2 кристалла XC3S400A. При отсутствии перемычки (разомкнутой паре контактов разъема JP4) сигнал на соответствующем входе устанавливается в состояние высокого логического уровня (логической единицы). Установка перемычки переключает сигнал на соответствующем входе выбора режима в состояние низкого логического уровня. В таблице 4 приведено краткое описание допустимых комбинаций коммутационных перемычек JP4 и соответствующих режимов конфигурирования ПЛИС.
Кнопка PROG (SW1) предоставляет пользователю возможность осуществления принудительной загрузки конфигурационной последовательности в ПЛИС из выбранного источника в любой момент времени. Светодиодный индикатор D7 визуально информирует об успешном завершении процесса загрузки конфигурационной последовательности в кристалл XC3S400A.
Основной элемент блока синхронизации — генератор тактового сигнала с частотой 16 МГц, реализованный на базе ИС MAX7381, которую выпускает компания Maxim Integrated Technologies. Формируемый этим генератором сигнал поступает на один из специаль-
но выделенных контактов ПЛИС, сопряженных с глобальными буферными элементами, а именно на GCLK4 (вывод C10 для корпуса FTG256). Так как выход каждого глобального буферного элемента связан (через глобальные тактовые мультиплексоры) с глобальной сетью тактовых линий и цифровыми блоками управления синхронизацией (Digital Clock Manager, DCM) кристалла семейства Spartan-3A, то такое решение позволяет использовать модули DCM для генерации совокупности тактовых сигналов, соответствующих требованиям разрабатываемого устройства. Каждый цифровой блок управления синхронизацией предоставляет возможность формирования тактовых сигналов с различным фазовым сдвигом, удвоенной частотой и одним из возможных коэффициентов умножения/деления частоты по отношению к входному тактовому сигналу [10-12]. Сигналы синхронизации, вырабатываемые модулями DCM, можно применять для тактирования как внутренних, так и внешних (по отношению к ПЛИС) элементов проектируемого устройства. При этом для устранения временных перекосов, возникающих при распространении сигналов синхронизации внутри кристалла и на уровне печатной платы инструментального модуля, можно задействовать схему цифровой автоподстройки задержек (Delay Locked Loop, DLL), входящую в состав DCM.
Кроме сигнала синхронизации с частотой 16 МГц в качестве внешних тактовых сигналов для ПЛИС могут использоваться сигналы с частотами 12 МГц и 32 кГц, которые вырабатываются соответствующими блоками кристалла семейства PSoC Mixed-Signal Arrays CY8C24894. Эти сигналы также подключены к глобальным тактовым входам ПЛИС. Сигнал с частотой 12 МГц поступает на вход GCLK0 (вывод N9 для корпуса FTG256), а сигнал с частотой 32 кГц подается на вход GCLK13 (вывод T7 для корпуса FTG256). Таким образом, любой из внешних сигналов синхронизации допускает возможность применения модулей DCM для формирования необходимой совокупности так-
товых сигналов с требуемыми значениями частоты и фазы.
Блок последовательной Flash-памяти с интерфейсом SPI объемом 128 Мбит выполнен на базе ИС S25FL128P фирмы Spansion. Данный элемент ППЗУ сопряжен как с ПЛИС семейства Spartan-3A, так и с программируемым кристаллом семейства PSoC Mixed-Signal Arrays. На рис. 3 приведена структурная схема подключения блоков последовательной и параллельной Flash-памяти в инструментальном модуле Xilinx Spartan-3A Evaluation Board.
Элемент последовательной Flash-памяти может использоваться для хранения конфигурационной информации кристалла семейства Spartan-3A. При этом процесс загрузки конфигурационной последовательности в ПЛИС производится в режиме SPI. После окончания процесса конфигурирования кристалла блок последовательной Flash-памяти может быть задействован в проекте для выполнения других функций, например, для хранения исполняемого программного кода встраиваемых микропроцессорных систем. Кроме того, на основе этого Flash ППЗУ может быть реализована энергонезависимая память данных встраиваемых систем, реализуемых на основе ПЛИС XC3S400A. Интерфейс SPI также открывает доступ к блоку последовательной Flash-памяти программируемой PSoC Mixed-Signal Arrays. Коммутация выводов последовательной Flash-памяти с соответствующими контактами ПЛИС и кристалла PSoC Mixed-Signal Arrays осуществляется с помощью мультиплексора. Структурная схема, представленная на рис. 4, наглядно поясняет сопряжение блока последовательной Flash-памяти с ПЛИС XC3S400A и кристаллом семейства PSoC Mixed-Signal Arrays посредством интерфейса SPI.
Архитектура отладочного модуля Xilinx Spartan-3A Evaluation Board предусматривает также вариант использования интерфейса SPI для непосредственного сопряжения ПЛИС XC3S400A с кристаллом семейства PSoC Mixed-Signal Arrays. Этот вариант взаи-
Таблица 4. Описание возможных режимов конфигурирования ПЛИС XC3S400A в инструментальном модуле Xilinx Spartan-3A Evaluation Board
Положение перемычек Mode JP4 (комбинация сигналов на входах ПЛИС <M0:M1:M2>)
Название режима конфигурирования ПЛИС Контакты 1-2 M2 Контакты 3-4 M1 Контакты 5-6 M0
Master Serial Замкнуты Замкнуты Замкнуты
Slave Serial Разомкнуты Разомкнуты Разомкнуты
Master Serial Peripheral Interface (SPI) Замкнуты Замкнуты Разомкнуты
Byte Peripheral Interface (BPI) Up Замкнуты Разомкнуты Замкнуты
Slave Parallel Разомкнуты Разомкнуты Замкнуты
JTAG Разомкнуты Замкнуты Разомкнуты
модействия основных компонентов рассматриваемого инструментального модуля демонстрирует структурная схема, изображенная на рис. 5. Кроме того, в составе отладочного модуля присутствует порт интерфейса ЭРГ, обеспечивающий возможность подключения к разрабатываемой системе внешних устройств с данным интерфейсом.
Блок параллельной ИазЬ-памяти реализован на основе ИС S29GL032N фирмы Эрашюп. Данный элемент обладает емкостью 32 Мбита с двумя вариантами организации 4 Мбит слов х 8 разрядов и 2 Мбит слов х 16 разрядов. Выбор требуемого варианта организации параллельной ИазЬ-памяти осуществляется подачей соответствующего уровня сигнала на вход Flash_BYTE#. Данное ППЗУ можно применять для выполнения различных функций
в разрабатываемой системе. Во-первых, этот блок Flash-памяти можно использовать для хранения конфигурационной последовательности ПЛИС XC3S400A. В этом случае процесс загрузки конфигурационных данных в кристалл осуществляет в режиме Byte Peripheral Interface (BPI) Up. Во-вторых, в элемент параллельной Flash-памяти может быть непосредственно загружен исполняемый программный код для конфигурируемых микропроцессорных ядер. В-третьих, это ППЗУ может выполнять функцию энергонезависимой памяти данных в проектируемых встраиваемых системах. Схема сопряжения блока параллельной Flash-памяти с кристаллом XC3S400A в отладочном модуле Xilinx Spartan-3A Evaluation Board приведена на рис. 4.
Комплексная схема формирования и контроля питающих напряжений включает в себя два интегральных стабилизатора TPS62290 и два супервизора TPS3809K33 и TPS3106K33, которые выпускает компания Texas Instruments. Кроме того, в эту схему входят коммутационные перемычки JP2, JP7 и светодиодный индикатор D1. Первый интегральный стабилизатор TPS62290 вырабатывает напряжение 3,3 В, которое используется для питания блоков ввода/вывода ПЛИС и других компонентов инструментального модуля. Вторая микросхема TPS62290 формирует напряжение 1,2 В для питания ядра кристалла семейства Spartan-3A. В качестве входного напряжения для интегральных стабилизаторов TPS62290 используется напряжение 5 В, которое поступает от сетевого адаптера или разъема USB-порта компьютера. Выбор источника напряжения 5 В осуществляется с помощью коммутационных перемычек JP2 и JP7. Состояние светодиодного индикатора D1 информирует о наличии или отсутствии входного напряжения 5 В.
В состав блока индикации инструментального модуля входят четыре светодиода, подключенные к пользовательским выводам ПЛИС. Данные светодиодные индикаторы можно использовать в проекте разрабатываемой системы, например, для визуального контроля выполнения алгоритма ее функционирования или в процессе тестирования инструментального модуля.
Блок сенсорных переключателей состоит из четырех кнопок и схемы формирования логических уровней сигналов, реализованной на базе соответствующих ресурсов кристалла семейства PSoC Mixed-Signal Arrays. Сформированные сигналы, соответствующие текущему состоянию сенсорных переключателей, поступают на пользовательские входы ПЛИС. Сенсорные кнопочные переключатели можно использовать в проектируемых устройствах и системах для выполнения различных функций, например сброса, инициализации, изменения режима работы.
Датчик температуры с интерфейсом I2C выполнен на основе ИС TMP100NA компании Texas Instruments. Данная микросхема позволяет осуществлять мониторинг температуры в диапазоне от -25 до +85 °C точностью 2 °C и в диапазоне -55 до +125 °C точностью 3 °C. Дополнительный порт интерфейса I2C позволяет подключать к отладочному модулю внешние устройства с данным интерфейсом.
Большая группа пользовательских выводов ПЛИС XC3S400A разведена к контактам трех стандартных разъемов расширения различного типа, которые обеспечивают возможность сопряжения отладочного модуля Xilinx Spartan-3A Evaluation Board с внешними периферийными устройствами. Два 6-контактных разъема предназначены, в первую очередь, для непосредственного подключения различных плат расширения, выпускаемых фирмой Digilent Incorporated.
Рис. 6. Вид основного окна утилиты Avnet Programming Utility, соответствующий режиму загрузки конфигурационной последовательности в ПЛИС
Рис. 7. Вид основного окна утилиты Avnet Programming Utility в режиме программирования последовательной Flash-памяти
Информация обо всех доступных типах плат расширения этой фирмы представлена на Web-странице http://www.digilentinc.com/ Products/Catalog.cfm?Nav1=Products&Nav2= Peripheral&Cat=Peripheral. Третий, 40-контактный разъем позволяет подключать различные устройства к рассматриваемому инструментальному модулю.
Разъем USB-порта выполняет одновременно несколько функций в отладочном модуле. Совместно с интегрированным программатором он используется для конфигурирования ПЛИС и программирования элементов Flash-памяти. После завершения процесса загрузки конфигурационной последовательности в ПЛИС этот разъем можно использовать для организации взаимодействия отладочного модуля с внешними устройствами посредством USB-интерфейса. Кроме того, через данный разъем может подаваться напряжение питания инструментального модуля.
Особенности работы с отладочным модулем Xilinx Spartan-3A Evaluation Board
Для работы с инструментальным модулем Xilinx Spartan-3A Evaluation Board необходимо, кроме средств проектирования ISE WebPACK (или ISE Foundation), установить и использовать утилиту программирования Avnet Programming Utility. При этом все этапы разработки цифровых устройств (создание модулей исходного описания, синтез, размещение и трассировка в кристалле) выполняются в рамках САПР серии Xilinx ISE [1, 9], а процесс загрузки конфигурационных данных в ПЛИС или Flash ППЗУ осуществляется с помощью указанной утилиты. После генерации файла конфигурационной последовательности следует подключить отладочный модуль к USB-порту компьютера с помощью стандартного кабеля, входящего в состав комплекта Xilinx Spartan-3A Evaluation Kit, и активизировать утилиту Avnet Programming Utility. При первом подключении инструменталь-
ного модуля необходимо выполнить процедуру установки соответствующего драйвера, который находится в папке Driver, расположенной в разделе этой программы (по умолчанию программа устанавливается в раздел C:\Program Files\Avnet\AvProg).
При активизации утилиты Avnet Programming Utility на экране открывается основное окно данной программы, структура которого соответствует режиму загрузки конфигурационной последовательности в ПЛИС (рис. 6). Прежде чем приступить непосредственно к выполнению всех необходимых операций (конфигурирования кристалла или программирования Flash-памяти), нужно с помощью кнопки Connect установить связь между отладочным модулем и компьютером на программном уровне.
Для загрузки конфигурационных данных в кристалл XC3S400A нужно указать в поле редактирования Bit File полное название соответствующего файла битовой последовательности. При этом целесообразно воспользоваться стандартной диалоговой панелью открытия файла, которая отображается на экране при нажатии кнопки Browse, находящейся слева от поля редактирования Bit File (рис. 6). Процесс загрузки конфигурационной информации в ПЛИС запускается с помощью кнопки Configure FPGA, которая автоматически переводится в доступное состояние после обнаружения отладочного модуля и ввода названия файла битовой последовательности. Результат выполнения процесса конфигурирования отображается во встроенном окне консольных сообщений Receive Console.
Чтобы перейти в режим программирования последовательной Flash-памяти, следует в основном меню утилиты Avnet Programming Utility выбрать пункт Mode, а затем в открывшемся всплывающем меню — команду Program SPI Flash. После этого основное окно утилиты программирования приобретает вид, показанный на рис. 7.
В поле выбора Flash Device этого окна необходимо указать тип элемента последова-
тельной Flash-памяти, в который будет производиться запись данных. Затем в поле редактирования Flash File нужно определить название файла, который содержит информацию, предназначенную для записи в выбранный элемент ППЗУ. Для поиска требуемого файла программирования можно воспользоваться стандартной диалоговой панелью открытия файла, которая выводится на экран при нажатии кнопки Browse. При необходимости в поле редактирования Offset (рис. 7) следует указать значение адреса, начиная с которого должны располагаться записываемые данные в выбранном элементе памяти.
Перед выполнением записи данных необходимо перевести элемент последовательной Flash-памяти в незапрограммированное состояние. Для удаления информации, занесенной ранее в ППЗУ, нужно воспользоваться кнопкой Bulk Erase. Запуск процесса программирования выбранного элемента Flash-памяти осуществляется нажатием кнопки Program. Информация о результатах выполнения этого процесса появляется во встроенном окне консольных сообщений Receive Console.
Для переключения утилиты Avnet Programming Utility в режим программирования параллельной Flash-памяти необходимо в главном меню выделить пункт Mode, после чего в открывшемся всплывающем меню выбрать команду Program Parallel Flash. В результате выполнения этой команды основное окно утилиты программирования преобразуется к виду, представленному на рис. 8.
Процесс программирования элемента параллельной Flash-памяти включает в себя ту же последовательность действий, что и при записи информации в последовательное Flash ППЗУ. Но предварительно необходимо выполнить загрузку соответствующего BPI-сервера. Для этого нужно с помощью двух кнопок с зависимой фиксацией, расположенных во встроенной панели BPI Server, и одноименного поля выбора указать используемый BPI-сервер, после чего нажать кнопку Load Server
Рис. 8. Вид основного окна утилиты Avnet Programming Utility в режиме программирования параллельной Flash-памяти
(рис. 8). Более подробная информация о работе с утилитой Avnet Programming Utility приведена в [15].
Заключительные рекомендации
Низкая стоимость комплекта Xilinx Spar-tan-3A Evaluation Kit, конструктивное исполнение и компактные размеры инструментального модуля, входящего в этот комплект, создают предпосылки для реализации на его основе как опытных образцов, так и окончательного варианта проектируемых устройств, предназначенных для выпуска малой серии экземпляров. Рассматриваемый инструментальный модуль целесообразно использовать также при осуществлении ОКР, что существенно сократит время их выполнения за счет исключения этапов проектирования и изготовления печатной платы и монтажа компонентов. Архитектура данного модуля позволяет эффективно применять его для разработки и отладки контроллеров, питание которых осуществляется через порт USB-интерфейса.
Инструментальный комплект Xilinx Spar-tan-3A Evaluation Kit можно также рекомендовать для оснащения учебных лабораторий университетов с целью практического изучения различных курсов. В частности, на основе представленного комплекта могут быть организованы лабораторные стенды, предназначенные для освоения современных методов проектирования цифровых устройств,
микропроцессорных систем с различной архитектурой, устройств цифровой обработки сигналов, микроконтроллеров.
Дополнительную информацию об инструментальном комплекте Xilinx Spartan-3A Evaluation Kit и ПЛИС семейств Spartan-3A и Spartan-3AN можно запросить у компании SILICA An Avnet Company (http://www.silica.com), официального дистрибьютора фирм Xilinx, Texas Instruments, Cypress Semiconductor и Spansion в странах Европы, включая Россию, Беларусь и Украину. ■
Литература
1. Зотов В. Проектирование встраиваемых микропроцессорных систем на основе ПЛИС фирмы Xilinx. М.: Горячая линия — Телеком, 2006.
2. Зотов В. PicoBlaze — семейство восьмиразрядных микропроцессорных ядер, реализуемых на основе ПЛИС фирмы Xilinx // Компоненты и технологии. 2003. № 4.
3. Зотов В. Система команд микропроцессорного ядра PicoBlaze, реализуемого на основе ПЛИС семейств Spartan-II, Spartan-IIE, Virtex, Virtex-E // Компоненты и технологии. 2003. № 5.
4. Зотов В. Особенности микропроцессорного ядра PicoBlaze, предназначенного для применения в проектах, реализуемых на основе ПЛИС семейств Spartan-3, Virtex-II и Virtex-IIPRO // Компоненты и технологии. 2005. № 5-6.
5. Зотов В. MicroBlaze — семейство 32-разрядных микропроцессорных ядер, реализуемых на основе ПЛИС фирмы Xilinx // Компоненты и технологии. 2003. № 9.
6. Зотов В. Система команд микропроцессорного ядра MicroBlaze // Компоненты и технологии. 2004. № 1-3.
7. Зотов В. Организация памяти микропроцессорного ядра MicroBlaze // Компоненты и технологии. 2004. № 5.
8. Зотов В. Embedded Development Kit — система проектирования встраиваемых микропроцессорных систем на основе ПЛИС серий FPGA фирмы Xilinx // Компоненты и технологии. 2004. № 4.
9. Зотов В. Проектирование цифровых устройств на основе ПЛИС фирмы Xilinx в САПР WebPack ISE. М.: Горячая линия — Телеком, 2003.
10. Spartan-3A FPGA Family: Data Sheet. Xilinx, 2008.
11. Spartan-3AN FPGA Family: Data Sheet. Xilinx, 2008.
12. Spartan-3 Generation FPGA User Guide. Xilinx, 2008.
13. Spartan-3 Generation Configuration User Guide. Xilinx, 2008.
14. CY8C24094, CY8C24794, CY8C24894, and CY8C24994: Final Data Sheet. Cypress Semiconductor, 2004-2007.
15. Avnet Programming Utility. User Manual. Avnet, Inc., 2008.