Новый инструментальный комплект от компании Avnet на основе ПЛИС FPGA семейства Spartan-3A фирмы Xilinx
Чтобы облегчить и ускорить переход разработчиков к практическому использованию ПЛИС указанных семейств, оценить их возможности и преимущества, компания Avnet разрабола новый инструментальный комплект Xilinx Spartan3A Evaluation Kit, который отличается ультранизкой стоимостью и достаточно широким набором функциональных возможностей. Цель настоящей публикации ознакомление с функциональными возможностями и архитектурой аппаратного модуля Xilinx Spartan3A Evaluation Board, который является основным компонентом инструментального комплекта Xilinx Spartan3A Evaluation Kit. Кроме того, в статье приводятся необходимые сведения об основных режимах работы указанной отладочной платы и ее отдельных узлов, которые позволяют сразу же приступить к практическому использованию данного инструментального модуля.
Прежде чем перейти непосредственно к изучению инструментального комплекта Xilinx Spartan3A Evaluation Kit, рассмотрим особенности и основные характеристики ПЛИС семейств Spartan3A и Spartan3AN.
Особенности и основные характеристики ПЛИС семейств Spartan3A и Spartan3AN
Семейства Spartan3A и Spartan3AN представляют собой дальнейшее развитие серии ПЛИС Spartan3. Поэтому кристаллам этих семейств присуще большинство характерных особенностей ПЛИС предшествующих семейств этой серии. В состав архитектуры кристаллов семейств Spartan3A и Spartan3AN входят те же структурные элементы, что и в выпускаемые ранее ПЛИС серии Spartan3. Основное архитектурное отличие кристаллов последних семейств проявляется в оптимизированной системе программируемых блоков ввода/вывода (Input/Output block, IOB). Кроме того, данные кристаллы обладают рядом преимуществ по сравнению с ПЛИС семейств Spartan3 и Spartan3E. Наиболее важными особенностями кристаллов семейств Spartan3A и Spartan3AN являются:
- наличие уникального идентификационного кода DNA у каждого кристалла, который существенно упрощает организацию защиты от копирования создаваемых проектов;
- использование усовершенствованной технологии Select I/O, позволяющей поддерживать расширенный спектр однополюсных и дифференциальных цифровых сигнальных стандартов ввода/вывода, общее число которых увеличено до 26;
- поддержка в полном объеме стандартов ввода/вывода с реальными уровнями сигналов 3,3 В;
- возможность осуществления передачи данных с удвоенной скоростью Double Data Rate в соответствии со спецификацией DDR2, открывающая широкие перспективы для реализации высокоскоростных интерфейсов со скоростью передачи данных до 400 Мбит/с;
- применение встроенных модернизированных аппаратных умножителей с возможностью конвейерной организации выполнения операций вычисления произведения 18разрядных значений, позволяющих добиться повышения производительности разрабатываемых устройств цифровой обработки сигналов;
- применение специального режима управления уровнем потребляемой мощности;
- полное соответствие условиям реализации функции «горячей замены» (Hot Swap);
- применение модулей блочной памяти с поддержкой режима побайтной записи, повышающего эффективность их использования в составе встраиваемых систем, реализуемых на базе конфигурируемых микропроцессорных ядер семейств PicoBlaze [14], MicroBlaze [1, 58];
- наличие сторожевого таймера CWDT (configuration watchdog timer), обеспечивающего автоматическое возобновление процесса конфигурирования ПЛИС при возникновении ошибок;
- возможность применения в ряде случаев одного источника напряжения для питания выходных каскадов блоков ввода/вывода (шины VCCO) и специализированных ресурсов ПЛИС (шины VCCAUX).
Внедрение новых технологических решений в ПЛИС семейств Spartan3A и Spartan3AN предоставляет пользователям возможность значительного снижения уровня потребляемой мощности. В кристаллах этих семейств кроме «спящего» режима (Hibernate Mode) предусмотрен «приостановленный» режим (Suspend Mode). При переходе в «приостановленный» режим (режим пониженного энергопотребления) в кристалле полностью сохраняется конфигурационная информация, а также текущее состояние всех внутренних элементов (триггеров, сдвиговых регистров, ОЗУ). Кроме того, разработчику предоставляется возможность определения состояния для каждого пользовательского вывода ПЛИС в этом режиме с помощью соответствующих выражений ограничений. Таким образом, в режиме пониженного энергопотребления Suspend Mode сохраняется текущее состояние реализуемого устройства, в котором оно находилось в момент перехода в этот режим. Переключение между активным и «приостановленным» режимами осуществляется подачей соответствующего уровня сигнала на специальный вывод ПЛИС, который имеет условное обозначение SUSPEND. Время возврата кристалла в активное состояние составляет менее 500 мкс. Применение приостановленного режима позволяет добиться сокращения потребляемой мощности в статике до 40%. Для вычисления оценки потребляемой мощности устройствами, выполняемыми на основе ПЛИС семейств Spartan3A и Spartan3AN, можно использовать программные средства XPower Power Estimator, а также программу XPower Analyzer, которая входит в состав САПР серии Xilinx ISE (Integrated Software Environment/Integrated Synthesis Environment)[9].
ПЛИС семейства Spartan3AN отличаются от кристаллов семейства Spartan3A наличием интегрированной конфигурационной энергонезависимой Flashпамяти. Размещение конфигурационного ППЗУ в одном корпусе с кристаллом FPGA позволяет дополнительно повысить уровень защищенности разрабатываемых проектов. Такое решение исключает возможность считывания конфигурационной последовательности в процессе ее загрузки в ПЛИС. Кроме того, каждый элемент интегрированной Flashпамяти в ПЛИС семейства Spartan3AN имеет уникальный идентификационный код Factory Flash ID, который устанавливается производителем. Тем самым предоставляется дополнительная степень защиты от копирования конфигурационных данных пользовательских проектов. Еще одно преимущество этих ПЛИС сокращение площади печатной платы разрабатываемых устройств за счет исключения дополнительного корпуса внешней конфигурационной памяти и упрощения процесса трассировки.
В состав каждого из семейств Spartan3A и Spartan3AN входят пять типов ПЛИС, содержащих от 1584 до 25 344 логических ячеек (от 50 000 до 1,4 млн системных вентилей). Основные параметры кристаллов рассматриваемых семейств, которые отражают информацию об объеме доступных ресурсов различного типа, представлены в таблице 1.
Тип кристалла | Число системных вентилей (1К=1024 бит) | Число логических ячеек Logic Cells | Массив конфигурируемых логических блоков (CLB) 1 CLB = 4 секции | Объем распределенной памяти, кбит | Объем блочной памяти Block RAM, кбит | Число аппаратных умножителей | Число цифровых блоков управления синхронизацией DCM | Максимальное число пользовательских выводов | Максимальное число дифференциальных пар выводов | Объем интегрированной Flashпамяти в ПЛИС семейства Spartan3AN, Мбит | |||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Число строк | Число столбцов | Общее число секций CLB | Количество Slices | ||||||||||
XC3S50A(AN) | 50K | 1 584 | 16 | 12 | 176 | 704 | 11 | 54 | 3 | 2 | 144 | 64 | 1 |
XC3S200A(AN) | 200K | 4 032 | 32 | 16 | 448 | 1 792 | 28 | 288 | 16 | 4 | 248 | 112 | 4 |
XC3S400A(AN) | 400K | 8 064 | 40 | 24 | 896 | 3 584 | 56 | 360 | 20 | 4 | 311 | 142 | 4 |
XC3S700A(AN) | 700K | 13 248 | 48 | 32 | 1 472 | 5,888 | 92 | 360 | 20 | 8 | 372 | 165 | 8 |
XC3S1400A(AN) | 1400K | 25 344 | 72 | 40 | 2 816 | 11 264 | 176 | 576 | 32 | 8 | 502 | 227 | 16 |
Применяемые разновидности корпусов для каждого типа ПЛИС семейств Spartan3A и Spartan3AN с указанием количества доступных пользовательских выводов приведены в таблицах 2 и 3 соответственно. Все кристаллы семейств Spartan3A и Spartan3AN обладают совместимостью по выводам в случае использования одинаковых корпусов.
Тип кристалла | Тип корпуса ПЛИС | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
VQ100, VQG100 | TQ144, TQG144 | FT256, FTG256 | FG320, FGG320 | FG400, FGG400 | FG484, FGG484 | FG676, FGG676 | ||||||||
Число пользовательских выводов | Число пользовательских выводов | Число пользовательских выводов | Число пользовательских выводов | Число пользовательских выводов | Число пользовательских выводов | Число пользовательских выводов | ||||||||
Однополюсных | Дифференциальных пар | Однополюсных | Дифференциальных пар | Однополюсных | Дифференциальных пар | Однополюсных | Дифференциальных пар | Однополюсных | Дифференциальных пар | Однополюсных | Дифференциальных пар | Однополюсных | Дифференциальных пар | |
XC3S50A | 68 | 60 | 108 | 50 | 144 | 64 | | | | | | | | |
XC3S200A | 68 | 60 | | | 195 | 90 | 248 | 112 | | | | | | |
XC3S400A | | | | | 195 | 90 | 251 | 112 | 311 | 142 | | | | |
XC3S700A | | | | | 161 | 74 | | | 311 | 142 | 372 | 165 | | |
XC3S1400A | | | | | 161 | 74 | | | | | 375 | 165 | 502 | 227 |
Тип кристалла | Тип корпуса ПЛИС | |||||||||
---|---|---|---|---|---|---|---|---|---|---|
TQG144 | FTG256 | FGG400 | FGG484 | FGG676 | ||||||
Число пользовательских выводов | Число пользовательских выводов | Число пользовательских выводов | Число пользовательских выводов | Число пользовательских выводов | ||||||
Однополюсных | Дифференциальных пар | Однополюсных | Дифференциальных пар | Однополюсных | Дифференциальных пар | Однополюсных | Дифференциальных пар | Однополюсных | Дифференциальных пар | |
XC3S50AN | 108 | 50 | | | | | | | | |
XC3S200AN | | | 195 | 90 | | | | | | |
XC3S400AN | | | | | 311 | 142 | | | | |
XC3S700AN | | | | | | | 372 | 165 | | |
XC3S1400AN | | | | | | | | | 502 | 227 |
Более подробное описание архитектуры и технических характеристик кристаллов этих семейств можно найти в [1013].
Назначение и состав инструментального комплекта Xilinx Spartan3A Evaluation Kit
Оригинальная архитектура, широкие функциональные возможности и доступность инструментального комплекта Xilinx Spartan3A Evaluation Kit определяют его многопрофильное назначение. В первую очередь, этот инструментальный модуль предоставляет возможность на практике познакомиться с архитектурными особенностями ПЛИС семейства Spartan3A и оценить их преимущества. При этом схемотехнические решения, используемые в аппаратном модуле Xilinx Spartan3A Evaluation Board, могут рассматриваться в качестве образцов реализации соответствующих узлов в проектируемых устройствах. Примерами таких решений могут служить вариант схемы питания ПЛИС семейства Spartan3A и организация взаимодействия цифровой части проектируемой системы, реализуемой на основе ресурсов данного кристалла, с интерфейсом USB.
Кроме того, представляемый комплект предназначен для практического изучения методики сквозного проектирования цифровых устройств на основе ПЛИС перспективных семейств FPGA фирмы Xilinx в среде САПР серии ISE. Инструментальный модуль Xilinx Spartan3A Evaluation Board может использоваться также для ознакомления с процессом разработки встраиваемых систем на основе конфигурируемых микропроцессорных ядер. Для этих целей в состав документации включены соответствующие методические материалы, позволяющие самостоятельно, на конкретном примере изучить последовательность этапов проектирования цифровых устройств с аппаратной и программной реализацией операций на базе кристаллов семейства Spartan3A.
Важное предназначение рассматриваемого модуля в возможности его применения в качестве инструмента аппаратной отладки разрабатываемых устройств и систем, а также для решения задач прототипирования. В частности, архитектурные особенности инструментального модуля Xilinx Spartan3A Evaluation Board позволяют эффективно проводить отладку проектируемых устройств с интерфейсом USB. Достаточно большой объем логических и трассировочных ресурсов кристалла ПЛИС, используемого в составе данного модуля, в сочетании с высоким быстродействием позволяют реализовать на его основе проекты встраиваемых микропроцессорных систем, разрабатываемых на базе конфигурируемых 8разрядных ядер семейства PicoBlaze и 32разрядных ядер семейства MicroBlaze.
В состав инструментального комплекта Xilinx Spartan3A Evaluation Kit входят все необходимые аппаратные и программные средства, которые могут потребоваться в ходе практического изучения основ проектирования цифровых устройств и встраиваемых микропроцессорных систем на базе ПЛИС фирмы Xilinx и в процессе отладки разрабатываемых проектов. Рассматриваемый комплект включает в себя:
- плату инструментального модуля Xilinx Spartan3A Evaluation Board;
- стандартный mini USBкабель, предназначенный для загрузки конфигурационной последовательности в ПЛИС и программирования элементов Flash ППЗУ, установленных на плате инструментального модуля Xilinx Spartan3A Evaluation Board;
- набор для программирования кристаллов семейства PSoC Mixed Signal Array фирмы Cypress Semiconductor Cypress PSoC Evaluation Kit CY3217;
- DVDROM, содержащий новую полнофункциональную версию системы проектирования ISE Design Suite 10.1 WebPACK[9], а также оценочные версии других программных продуктов фирмы Xilinx, включая ISE Foundation, ChipScope Pro и Xilinx EDK, которые можно использовать в течение 60 дней с момента установки.
Подробная документация на инструментальный модуль, включая функциональную и принципиальную схему, Руководство пользователя Xilinx Spartan3A Evaluation Kit User Guide, утилиту загрузки конфигурационной последовательности в ПЛИС и программирования элементов Flashпамяти Avnet Programming Utility, распространяется свободно через Internet. Для копирования соответствующих файлов нужно открыть Webстраницу компании Avnet (http://www.em.avnet.com/), перейти в раздел Design Resource Center, найти соответствующий подраздел, посвященный рассматриваемому инструментальному комплекту, и выполнить процедуру бесплатной регистрации.
Особенности инструментального комплекта Xilinx Spartan3A Evaluation Kit
Инструментальный комплект Xilinx Spartan3A Evaluation Kit характеризуются следующими особенностями:
- применение в качестве основного компонента инструментального модуля Xilinx Spartan3A Evaluation Board ПЛИС XC3S400A с объемом 400 000 системных вентилей (8064 логических ячеек), предоставляющей возможность реализации проектов цифровых устройств и встраиваемых микропроцессорных систем;
- наличие элемента последовательной Flashпамяти с интерфейсом SPI (Serial Peripheral Interface), который может быть задействован как для хранения конфигурационной информации кристалла XC3S400A, так и в составе встраиваемой микропроцессорной системы, а также в качестве энергонезависимой памяти данных;
- возможность использования элемента параллельной Flashпамяти, который по выбору пользователя может выполнять функции хранения конфигурационной последовательности ПЛИС семейства Spartan3A или программного кода встраиваемой микропроцессорной системы;
- применение в составе инструментального модуля программируемого интерфейсного блока, включающего в себя контроллеры интерфейсов 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 Spartan3A Evaluation Board
Внешний вид отладочного модуля Xilinx Spartan3A Evaluation Board представлен на рис. 1. Все компоненты модуля смонтированы на печатной плате с двухсторонним размещением компонентов.
Структурное представление архитектуры данного инструментального модуля показано на рис. 2.
Основными компонентами архитектуры аппаратного отладочного модуля Xilinx Spartan3A Evaluation Board являются:
- кристалл XC3S400A семейства Spartan3A в корпусе FTG256 с шариковыми выводами для бессвинцовой пайки, на основе ресурсов которого реализуется основная часть проектируемой системы;
- программируемый интерфейсный блок;
- блок загрузки конфигурационных данных;
- схема управления конфигурированием ПЛИС;
- блок синхронизации, предназначенный для формирования исходных внешних (по отношению к кристаллу XC3S400A) тактовых сигналов;
- блок последовательной Flashпамяти с интерфейсом SPI;
- блок параллельной NOR GL Flashпамяти;
- схема формирования и контроля питающих напряжений;
- блок светодиодных индикаторов;
- блок сенсорных кнопочных переключателей;
- порт интерфейса I2C;
- датчик температуры с интерфейсом I2C;
- порт интерфейса SPI;
- три разъема расширения;
- разъем USBпорта, имеющий многоцелевое назначение.
Краткая информация об архитектурных особенностях и основных технических характеристиках ПЛИС XC3S400A, которая является главным элементом рассматриваемого отладочного модуля, была представлена в первом разделе настоящей публикации.
Интерфейсный блок инструментального модуля Xilinx Spartan3A Evaluation Board выполнен в виде программируемой «системы на кристалле» PSoC (programmable systemsonchips). Для этой цели использован кристалл семейства PSoC MixedSignal Arrays CY8C24894, выпускаемый фирмой Cypress Semiconductor. В рассматриваемом отладочном модуле на базе этого кристалла реализованы контроллеры интерфейсов I2C, SPI, USB, блока сенсорных переключателей, а также схема конфигурирования ПЛИС и программирования элементов Flashпамяти (интегрированный программатор). Следует обратить внимание на то, что для организации указанных интерфейсов задействована только незначительная часть ресурсов кристалла PSoC MixedSignal Arrays CY8C24894. Данный кристалл предоставляет возможность использования в разрабатываемом устройстве различных аналоговых и цифровых блоков, в частности, программируемых усилителей, фильтров, компараторов, модуляторов, АЦП, ЦАП, умножителей, аккумуляторов. Полная информация о функциональных возможностях ИС PSoC MixedSignal Arrays CY8C24894 приведена в[14]. Пользователь может изменить конфигурацию этой «системы на кристалле», установленную производителем отладочного модуля Xilinx Spartan3A Evaluation Board, в соответствии с требованиями разрабатываемого проекта. Для этого необходимо воспользоваться средствами проектирования и программирования PSoC Designer и PSoC Programmer в комплексе с программатором, входящим в комплект Cypress PSoC Evaluation Kit CY3217. Пакет указанных программных средств можно скопировать после выполнения процедуры бесплатной регистрации, открыв Webстраницу http://www.cypress.com, перейдя в раздел Software и выбрав подраздел PSoC Designer. Следует обратить внимание на то, что применение кристаллов семейства PSoC MixedSignal Arrays в качестве дополнительного компонента систем, проектируемых на основе ПЛИС семейств Spartan3A и Spartan3AN, позволяет минимизировать суммарную стоимость разрабатываемых цифровых и смешанных (аналогоцифровых) устройств.
Блок загрузки конфигурационных данных включает в себя интегрированный программатор и разъем JTAGпорта, предназначенный для подключения стандартных загрузочных кабелей различного типа к инструментальному модулю. Интегрированный программатор и разъем USBпорта позволяют выполнять операции конфигурирования ПЛИС и программирования элементов Flashпамяти, установленных на отладочной плате, с помощью обычного стандартного mini USBкабеля. Встроенный программатор реализован на базе соответствующих ресурсов кристалла семейства PSoC MixedSignal Arrays. Разъем JTAGпорта инструментального модуля позволяет использовать для операций конфигурирования, периферийного сканирования и внутрикристальной отладки разрабатываемых устройств универсальные загрузочные кабели, выпускаемые фирмой Xilinx: Parallel Cable IV (PC IV) и Platform Cable USB.
В состав схемы управления конфигурированием ПЛИС инструментального модуля входит группа коммутационных перемычек JP4, кнопка PROG (SW1) и светодиодный индикатор D7. Три перемычки JP4 предназначены для выбора режима конфигурирования кристалла и источника конфигурационных данных (типа Flash ППЗУ, используемого для хранения конфигурационной последовательности ПЛИС). С их помощью задаются значения сигналов на входах выбора режима конфигурирования M0, M1, M2 кристалла XC3S400A. При отсутствии перемычки (разомкнутой паре контактов разъема JP4) сигнал на соответствующем входе устанавливается в состояние высокого логического уровня (логической единицы). Установка перемычки переключает сигнал на соответствующем входе выбора режима в состояние низкого логического уровня. В таблице 4 приведено краткое описание допустимых комбинаций коммутационных перемычек JP4 и соответствующих режимов конфигурирования ПЛИС.
Положение перемычек Mode JP4 (комбинация сигналов на входах ПЛИС 〈M0:M1:M2〉) |
|||
---|---|---|---|
Название режима конфигурирования ПЛИС |
Контакты 12 M2 |
Контакты 34 M1 |
Контакты 56 M0 |
Master Serial | Замкнуты | Замкнуты | Замкнуты |
Slave Serial | Разомкнуты | Разомкнуты | Разомкнуты |
Master Serial Peripheral Interface (SPI) |
Замкнуты | Замкнуты | Разомкнуты |
Byte Peripheral Interface (BPI) Up |
Замкнуты | Разомкнуты | Замкнуты |
Slave Parallel | Разомкнуты | Разомкнуты | Замкнуты |
JTAG | Разомкнуты | Замкнуты | Разомкнуты |
Кнопка PROG (SW1) предоставляет пользователю возможность осуществления принудительной загрузки конфигурационной последовательности в ПЛИС из выбранного источника в любой момент времени. Светодиодный индикатор D7 визуально информирует об успешном завершении процесса загрузки конфигурационной последовательности в кристалл XC3S400A.
Основной элемент блока синхронизации генератор тактового сигнала с частотой 16 МГц, реализованный на базе ИС MAX7381, которую выпускает компания Maxim Integrated Technologies. Формируемый этим генератором сигнал поступает на один из специально выделенных контактов ПЛИС, сопряженных с глобальными буферными элементами, а именно на GCLK4 (вывод C10 для корпуса FTG256). Так как выход каждого глобального буферного элемента связан (через глобальные тактовые мультиплексоры) с глобальной сетью тактовых линий и цифровыми блоками управления синхронизацией (Digital Clock Manager, DCM) кристалла семейства Spartan3A, то такое решение позволяет использовать модули DCM для генерации совокупности тактовых сигналов, соответствующих требованиям разрабатываемого устройства. Каждый цифровой блок управления синхронизацией предоставляет возможность формирования тактовых сигналов с различным фазовым сдвигом, удвоенной частотой и одним из возможных коэффициентов умножения/деления частоты по отношению к входному тактовому сигналу [1012]. Сигналы синхронизации, вырабатываемые модулями DCM, можно применять для тактирования как внутренних, так и внешних (по отношению к ПЛИС) элементов проектируемого устройства. При этом для устранения временных перекосов, возникающих при распространении сигналов синхронизации внутри кристалла и на уровне печатной платы инструментального модуля, можно задействовать схему цифровой автоподстройки задержек (Delay Locked Loop, DLL), входящую в состав DCM.
Кроме сигнала синхронизации с частотой 16 МГц в качестве внешних тактовых сигналов для ПЛИС могут использоваться сигналы с частотами 12 МГц и 32 кГц, которые вырабатываются соответствующими блоками кристалла семейства PSoC MixedSignal Arrays CY8C24894. Эти сигналы также подключены к глобальным тактовым входам ПЛИС. Сигнал с частотой 12 МГц поступает на вход GCLK0 (вывод N9 для корпуса FTG256), а сигнал с частотой 32 кГц подается на вход GCLK13 (вывод T7 для корпуса FTG256). Таким образом, любой из внешних сигналов синхронизации допускает возможность применения модулей DCM для формирования необходимой совокупности тактовых сигналов с требуемыми значениями частоты и фазы.
Блок последовательной Flashпамяти с интерфейсом SPI объемом 128 Мбит выполнен на базе ИС S25FL128P фирмы Spansion. Данный элемент ППЗУ сопряжен как с ПЛИС семейства Spartan3A, так и с программируемым кристаллом семейства PSoC MixedSignal Arrays. На рис. 3 приведена структурная схема подключения блоков последовательной и параллельной Flashпамяти в инструментальном модуле Xilinx Spartan3A Evaluation Board.
Элемент последовательной Flashпамяти может использоваться для хранения конфигурационной информации кристалла семейства Spartan3A. При этом процесс загрузки конфигурационной последовательности в ПЛИС производится в режиме SPI. После окончания процесса конфигурирования кристалла блок последовательной Flashпамяти может быть задействован в проекте для выполнения других функций, например, для хранения исполняемого программного кода встраиваемых микропроцессорных систем. Кроме того, на основе этого Flash ППЗУ может быть реализована энергонезависимая память данных встраиваемых систем, реализуемых на основе ПЛИС XC3S400A. Интерфейс SPI также открывает доступ к блоку последовательной Flashпамяти программируемой PSoC MixedSignal Arrays. Коммутация выводов последовательной Flashпамяти с соответствующими контактами ПЛИС и кристалла PSoC MixedSignal Arrays осуществляется с помощью мультиплексора. Структурная схема, представленная на рис. 4, наглядно поясняет сопряжение блока последовательной Flashпамяти с ПЛИС XC3S400A и кристаллом семейства PSoC MixedSignal Arrays посредством интерфейса SPI.
Архитектура отладочного модуля Xilinx Spartan3A Evaluation Board предусматривает также вариант использования интерфейса SPI для непосредственного сопряжения ПЛИС XC3S400A с кристаллом семейства PSoC MixedSignal Arrays. Этот вариант взаимодействия основных компонентов рассматриваемого инструментального модуля демонстрирует структурная схема, изображенная на рис. 5. Кроме того, в составе отладочного модуля присутствует порт интерфейса SPI, обеспечивающий возможность подключения к разрабатываемой системе внешних устройств с данным интерфейсом.
Блок параллельной Flashпамяти реализован на основе ИС S29GL032N фирмы Spansion. Данный элемент обладает емкостью 32 Мбита с двумя вариантами организации 4 Мбит слов × 8 разрядов и 2 Мбит слов × 16 разрядов. Выбор требуемого варианта организации параллельной Flashпамяти осуществляется подачей соответствующего уровня сигнала на вход Flash_BYTE#. Данное ППЗУ можно применять для выполнения различных функций в разрабатываемой системе. Вопервых, этот блок Flashпамяти можно использовать для хранения конфигурационной последовательности ПЛИС XC3S400A. В этом случае процесс загрузки конфигурационных данных в кристалл осуществляет в режиме Byte Peripheral Interface (BPI) Up. Вовторых, в элемент параллельной Flashпамяти может быть непосредственно загружен исполняемый программный код для конфигурируемых микропроцессорных ядер. Втретьих, это ППЗУ может выполнять функцию энергонезависимой памяти данных в проектируемых встраиваемых системах. Схема сопряжения блока параллельной Flashпамяти с кристаллом XC3S400A в отладочном модуле Xilinx Spartan3A Evaluation Board приведена на рис. 4.
Комплексная схема формирования и контроля питающих напряжений включает в себя два интегральных стабилизатора TPS62290 и два супервизора TPS3809K33 и TPS3106K33, которые выпускает компания Texas Instruments. Кроме того, в эту схему входят коммутационные перемычки JP2, JP7 и светодиодный индикатор D1. Первый интегральный стабилизатор TPS62290 вырабатывает напряжение 3,3 В, которое используется для питания блоков ввода/вывода ПЛИС и других компонентов инструментального модуля. Вторая микросхема TPS62290 формирует напряжение 1,2 В для питания ядра кристалла семейства Spartan3A. В качестве входного напряжения для интегральных стабилизаторов TPS62290 используется напряжение 5 В, которое поступает от сетевого адаптера или разъема USBпорта компьютера. Выбор источника напряжения 5 В осуществляется с помощью коммутационных перемычек JP2 и JP7. Состояние светодиодного индикатора D1 информирует о наличии или отсутствии входного напряжения 5 В.
В состав блока индикации инструментального модуля входят четыре светодиода, подключенные к пользовательским выводам ПЛИС. Данные светодиодные индикаторы можно использовать в проекте разрабатываемой системы, например, для визуального контроля выполнения алгоритма ее функционирования или в процессе тестирования инструментального модуля.
Блок сенсорных переключателей состоит из четырех кнопок и схемы формирования логических уровней сигналов, реализованной на базе соответствующих ресурсов кристалла семейства PSoC MixedSignal Arrays. Сформированные сигналы, соответствующие текущему состоянию сенсорных переключателей, поступают на пользовательские входы ПЛИС. Сенсорные кнопочные переключатели можно использовать в проектируемых устройствах и системах для выполнения различных функций, например сброса, инициализации, изменения режима работы.
Датчик температуры с интерфейсом I2C выполнен на основе ИС TMP100NA компании Texas Instruments. Данная микросхема позволяет осуществлять мониторинг температуры в диапазоне от −25 до +85 °C точностью 2 °C и в диапазоне −55 до +125 °C точностью 3 °C. Дополнительный порт интерфейса I2C позволяет подключать к отладочному модулю внешние устройства с данным интерфейсом.
Большая группа пользовательских выводов ПЛИС XC3S400A разведена к контактам трех стандартных разъемов расширения различного типа, которые обеспечивают возможность сопряжения отладочного модуля Xilinx Spartan3A Evaluation Board с внешними периферийными устройствами. Два 6контактных разъема предназначены, в первую очередь, для непосредственного подключения различных плат расширения, выпускаемых фирмой Digilent Incorporated. Информация обо всех доступных типах плат расширения этой фирмы представлена на Webстранице http://www.digilentinc.com/Products/Catalog.cfm?Nav1=Products&Nav2=Peripheral&Cat=Peripheral. Третий, 40контактный разъем позволяет подключать различные устройства к рассматриваемому инструментальному модулю.
Разъем USBпорта выполняет одновременно несколько функций в отладочном модуле. Совместно с интегрированным программатором он используется для конфигурирования ПЛИС и программирования элементов Flashпамяти. После завершения процесса загрузки конфигурационной последовательности в ПЛИС этот разъем можно использовать для организации взаимодействия отладочного модуля с внешними устройствами посредством USBинтерфейса. Кроме того, через данный разъем может подаваться напряжение питания инструментального модуля.
Особенности работы с отладочным модулем Xilinx Spartan3A Evaluation Board
Для работы с инструментальным модулем Xilinx Spartan3A Evaluation Board необходимо, кроме средств проектирования ISE WebPACK (или ISE Foundation), установить и использовать утилиту программирования Avnet Programming Utility. При этом все этапы разработки цифровых устройств (создание модулей исходного описания, синтез, размещение и трассировка в кристалле) выполняются в рамках САПР серии Xilinx ISE[1, 9], а процесс загрузки конфигурационных данных в ПЛИС или Flash ППЗУ осуществляется с помощью указанной утилиты. После генерации файла конфигурационной последовательности следует подключить отладочный модуль к USBпорту компьютера с помощью стандартного кабеля, входящего в состав комплекта Xilinx Spartan3A Evaluation Kit, и активизировать утилиту Avnet Programming Utility. При первом подключении инструментального модуля необходимо выполнить процедуру установки соответствующего драйвера, который находится в папке Driver, расположенной в разделе этой программы (по умолчанию программа устанавливается в раздел C:Program FilesAvnetAvProg).
При активизации утилиты 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 приведена в[15].
Заключительные рекомендации
Низкая стоимость комплекта Xilinx Spartan3A Evaluation Kit, конструктивное исполнение и компактные размеры инструментального модуля, входящего в этот комплект, создают предпосылки для реализации на его основе как опытных образцов, так и окончательного варианта проектируемых устройств, предназначенных для выпуска малой серии экземпляров. Рассматриваемый инструментальный модуль целесообразно использовать также при осуществлении ОКР, что существенно сократит время их выполнения за счет исключения этапов проектирования и изготовления печатной платы и монтажа компонентов. Архитектура данного модуля позволяет эффективно применять его для разработки и отладки контроллеров, питание которых осуществляется через порт USBинтерфейса.
Инструментальный комплект Xilinx Spartan3A Evaluation Kit можно также рекомендовать для оснащения учебных лабораторий университетов с целью практического изучения различных курсов. В частности, на основе представленного комплекта могут быть организованы лабораторные стенды, предназначенные для освоения современных методов проектирования цифровых устройств, микропроцессорных систем с различной архитектурой, устройств цифровой обработки сигналов, микроконтроллеров.
Дополнительную информацию об инструментальном комплекте Xilinx Spartan3A Evaluation Kit и ПЛИС семейств Spartan3A и Spartan3AN можно запросить у компании SILICA An Avnet Company (http://www.silica.com), официального дистрибьютора фирм Xilinx, Texas Instruments, Cypress Semiconductor и Spansion в странах Европы, включая Россию, Беларусь и Украину.
Литература
- Зотов В. Проектирование встраиваемых микропроцессорных систем на основе ПЛИС фирмы Xilinx. М.: Горячая линия Телеком, 2006.
- Зотов В. PicoBlaze семейство восьмиразрядных микропроцессорных ядер, реализуемых на основе ПЛИС фирмы Xilinx // Компоненты и технологии. 2003. № 4.
- Зотов В. Система команд микропроцессорного ядра PicoBlaze, реализуемого на основе ПЛИС семейств SpartanII, SpartanIIE, Virtex, VirtexE // Компоненты и технологии. 2003. № 5.
- Зотов В. Особенности микропроцессорного ядра PicoBlaze, предназначенного для применения в проектах, реализуемых на основе ПЛИС семейств Spartan3, VirtexII и VirtexIIPRO // Компоненты и технологии. 2005. № 56.
- Зотов В. MicroBlaze семейство 32разрядных микропроцессорных ядер, реализуемых на основе ПЛИС фирмы Xilinx // Компоненты и технологии. 2003. № 9.
- Зотов В. Система команд микропроцессорного ядра MicroBlaze // Компоненты и технологии. 2004. № 13.
- Зотов В. Организация памяти микропроцессорного ядра MicroBlaze // Компоненты и технологии. 2004. № 5.
- Зотов В. Embedded Development Kit система проектирования встраиваемых микропроцессорных систем на основе ПЛИС серий FPGA фирмы Xilinx // Компоненты и технологии. 2004. № 4.
- Зотов В. Проектирование цифровых устройств на основе ПЛИС фирмы Xilinx в САПР WebPack ISE. М.: Горячая линия Телеком, 2003.
- Spartan3A FPGA Family: Data Sheet. Xilinx, 2008.
- Spartan3AN FPGA Family: Data Sheet. Xilinx, 2008.
- Spartan3 Generation FPGA User Guide. Xilinx, 2008.
- Spartan3 Generation Configuration User Guide. Xilinx, 2008.
- CY8C24094, CY8C24794, CY8C24894, and CY8C24994: Final Data Sheet. Cypress Semiconductor, 20042007.
- Avnet Programming Utility. User Manual. Avnet, Inc., 2008.