Особенности архитектуры нового поколения ПЛИС FPGA фирмы Xilinx серии Spartan-6
Как и ПЛИС предыдущего поколения, представленного семействами Spartan-3, Spartan-3E, Spartan-3A, Spartan-3AN и Spartan-3A DSP [2-8], кристаллы с архитектурой FPGA серии Spartan-6 предназначены, прежде всего, для всестороннего использования в составе серийно выпускаемой аппаратуры различного назначения. В частности, ПЛИС данной серии целесообразно использовать для реализации контроллеров высокоскоростных интерфейсов, высокопроизводительных устройств цифровой обработки сигналов (ЦОС), встраиваемых микропроцессорных систем, выполняемых на базе конфигурируемых 32-разрядных ядер семейства MicroBlaze [9-12], устройств автомобильной электроники, систем видеонаблюдения. Оптимальное соотношение стоимости и функциональных возможностей кристаллов данной серии позволяет применять их в качестве эффективной замены специализированных интегральных схем ASIC (application-specific IC).
Настоящая статья знакомит читателей с особенностями архитектуры и основными характеристиками ПЛИС, входящими в состав серии Spartan-6. Кроме того, в данной публикации приводится краткий обзор аппаратных средств, которые предназначены для отладки проектов, разрабатываемых на основе кристаллов этой серии.
Общая характеристика и особенности кристаллов с архитектурой FPGA серии Spartan-6
Кристаллы серии Spartan-6 производятся по КМОП-технологии 45 нм с девятью слоями металлизации. Архитектура ПЛИС этой серии отличается от структуры кристаллов семейств Spartan, выпускаемых ранее, использованием логических и специализированных ресурсов, как реализованных в элементах предыдущего поколения Virtex, так и применяемых только в кристаллах новых семейств серии Virtex-6 [1]. Таким образом, в ПЛИС серии Spartan-6 эффективно сочетаются специализированные аппаратные модули и архитектурные решения, используемые в кристаллах семейств Virtex-5 LX, Virtex-5 LXT, Virtex-5 SXT, Virtex-5 FXT, Virtex-5 TXT и Virtex-6 LXT, Virtex-6 SXT.
Кристаллы новой серии Spartan-6 характеризуются следующими особенностями:
- Практически двукратное снижение уровня общей потребляемой мощности по сравнению с кристаллами предыдущего поколения серии Spartan за счет внедрения новых технологических решений, включающих в себя, в частности, использование новых транзисторов различных типов, сокращение их размеров, применение диэлектрика с низким значением диэлектрической постоянной (Low-K), снижение напряжения питания ядра кристаллов до 1,2 В, а также поддержки энергосберегающих режимов работы.
- Наличие вариантов ПЛИС (семейства Spartan-6 LX с классом быстродействия — 1L) с пониженным энергопотреблением, в которых значение напряжения питания ядра кристаллов составляет 1 В.
- Использование в составе архитектуры кристаллов конфигурируемых логических блоков (Configurable Logic Block, CLB) нового поколения, выполненных на основе реальных 6-входовых таблиц преобразования Look-Up Table (LUT) с применением дополнительных триггеров, позволяющих реализовать функции большого числа переменных без применения дополнительных логических ресурсов и существенно расширить возможности реализации конвейерной организации обработки данных в проектируемых устройствах, и тем самым добиться повышения производительности разрабатываемых систем.
- Новая инфраструктура распределения тактовых сигналов, обеспечивающая минимизацию задержек и расхождения фронтов тактовых сигналов, возникающих при распространении этих сигналов внутри кристаллов.
- Внедрение блоков управления синхронизацией Clock Management Tile (CMT), сочетающих в себе преимущества цифровых модулей Digital Clock Manager (DCM) и аналоговых модулей фазовой автоподстройки частоты Phase-Locked-Loop (PLL).
- Более чем четырехкратное увеличение количества модулей двухпортовой блочной памяти Block RAM емкостью 18 кбит, которые могут конфигурироваться в виде двух независимых блоков емкостью 9 кбит.
- Применение новой модификации аппаратных секций цифровой обработки сигналов DSP48A1, отличающейся возможностью работы на частотах до 250 МГц, низким энергопотреблением и расширенными функциональными возможностями, которые позволяют добиться дальнейшего повышения производительности разрабатываемых устройств ЦОС.
- Использование последовательных высокоскоростных приемопередатчиков RocketlO типа GTP, поддерживающих скорости приема и передачи данных до 3,125 Гбит/с при минимальной потребляемой мощности (только в кристаллах семейства Spartan-6 LXT).
- Применение модернизированной технологии SelectI/O, обеспечивающей поддержку широкого спектра однополюсных и дифференциальных цифровых сигнальных стандартов с уровнями сигналов в диапазоне от 1,2 до 3,3 В, с функцией выбора нагрузочной способности выходных каскадов боков ввода/вывода, а также возможность достижения скорости приема и передачи данных по каждой дифференциальной паре выводов до 1050 Мбит/с.
- Наличие интегрированных аппаратных модулей PCI Express соответствующих спецификации PCI Express Base Specification Revision 1.1 (только в ПЛИС семейства Spartan-6 LXT).
- Присутствие аппаратных контроллеров высокоскоростных интерфейсов памяти различного типа, включая DDR, DDR2, DDR3 и LPDDR, поддерживающих скорости передачи данных до 800 Мбит/с.
- Усовершенствованная система управления режимами конфигурирования кристаллов.
- Поддержка мультизагрузочного варианта конфигурирования ПЛИС, предоставляющего возможность выбора одного из нескольких вариантов конфигурационных данных.
- Возможность применения в качестве конфигурационной памяти микросхем Flash ППЗУ с последовательным и параллельным интерфейсом различных производителей.
- Существенно расширенный ряд корпусного исполнения, включающий как стандартные варианты корпусов, так и варианты без применения свинца.
- Усовершенствованная технология защиты разрабатываемых проектов устройств от несанкционированного копирования, основанная на применении уникального идентификационного номера кристалла DNA и шифровании конфигурационной последовательности в соответствии с алгоритмом AES.
- Полная поддержка последней версии конфигурируемых 32-разрядных микропроцессорных ядер семейства MicroBlaze.
Процесс разработки устройств, предназначенных для последующей реализации на основе ПЛИС серии Spartan-6, может осуществляться только при использовании последней версии системы проектирования Xilinx ISE (Integrated Software Environment/Integrated Synthesis Environment) Design Suite 11.
Более детально новые специализированные аппаратные модули, применяемые в кристаллах серии Spartan-6, и элементы архитектуры, в которых произошли наиболее заметные изменения, будут рассмотрены в последующих разделах, после ознакомления с составом и основными функциональными возможностями ПЛИС данной серии.
Состав и основные характеристики ПЛИС серии Spartan-6
К моменту подготовки данной публикации рассматриваемая серия ПЛИС включала в себя два семейства кристаллов: Spartan-6 LX и Spartan-6 LXT. ПЛИС семейства Spartan-6 LX предназначены, прежде всего, для реализации проектов устройств, выполняемых на базе стандартных логических ресурсов (конфигурируемых логических блоков CLB, блочной памяти Block RAM). В состав этого семейства входят восемь типов кристаллов, содержащих от 3840 до 147 443 логических ячеек Logic Cells. Информация об основных функциональных возможностях ПЛИС семейства Spartan-6 LX представлена в таблице 1, которая содержит данные об объеме доступных ресурсов различного типа.
Таблица 1. Основные параметры ПЛИС семейства Spartan-6 LX
Тип ресурсов ПЛИС |
Тип кристалла |
||||||||
XC6SLX4 | XC6SLX9 | XC6SLX16 | XC6SLX25 | XC6SLX45 | XC6SLX75 | XC6SLX100 | XC6SLX150 | ||
Логические ресурсы |
Количество секций Slices | 600 | 1430 | 2278 | 3750 | 6822 | 11 662 | 15 822 | 23 038 |
Общее число триггеров CLB | 4800 | 11 440 | 18 224 | 30 064 | 54 576 | 93 296 | 126576 | 184304 | |
Число логических ячеек Logic Cells | 3840 | 9152 | 14 579 | 24 051 | 43 661 | 74 637 | 101 261 | 147 443 | |
Ресурсы памяти |
Объем распределенной памяти (1К = 1024 бит) | 75 K | 90 K | 136 K | 229 K | 401 K | 692 K | 976 K | 1355 K |
Количество модулей блочной памяти Block RAM емкостью 18 кбит | 12 | 32 | 32 | 52 | 116 | 172 | 268 | 268 | |
Объем блочной памяти (1К = 1024 бит) Block RAM | 216 K | 576 K | 576 K | 936 K | 2088 K | 3096 K | 4824 K | 4824 K | |
Модули синхронизации |
Количество блоков управления синхронизацией Clock Management Tiles (CMT) | 2 | 2 | 2 | 2 | 4 | 6 | 6 | 6 |
Число цифровых модулей управления синхронизацией Digital Clock Manager (DCM) | 4 | 4 | 4 | 4 | 8 | 12 | 12 | 12 | |
Число аналоговых модулей фазовой автоподстройки частоты Phase-Locked-Loop (PLL) | 2 | 2 | 2 | 2 | 4 | 6 | 6 | 6 | |
Встроенны специализированные аппаратные модули |
Число аппаратных секций DSP48A1 | 8 | 16 | 32 | 38 | 58 | 132 | 180 | 180 |
Число аппаратных контроллеров интерфейса памяти Memory Controller Blocks (MCB) | 0 | 2 | 2 | 2 | 2 | 4 | 4 | 4 | |
Ресурсы ввода / вывода |
Количество банков ввода/вывода | 4 | 4 | 4 | 4 | 4 | 6 | 6 | 6 |
Максимальное число пользовательских выводов | 120 | 200 | 232 | 266 | 358 | 400 | 480 | 570 | |
Максимальное число дифференциальных пар выводов | 60 | 100 | 116 | 133 | 179 | 200 | 240 | 285 | |
Варианты быстродействия ПЛИС |
Варианты быстродействия для коммерческого исполнения | -2, -3 | -2, -3 | -2, -3 | -2, -3 | -2, -3 | -2, -3 | -2, -3 | -2, -3 |
Варианты быстродействия для промышленного исполнения | -L1, -2 | -L1, -2 | -L1, -2 | -L1, -2 | -L1, -2 | -L1, -2 | -L1, -2 | -L1, -2 | |
Конфигурационная память | Объем конфигурационной памяти, Мбит | 2,7 | 2,7 | 3,7 | 6,4 | 11,8 | 19,6 | 26,5 | 33,7 |
Кристаллы данного семейства производятся в корпусах девяти различных типов. Четыре из этих типов корпусов доступны как в стандартном варианте, так и без содержания свинца. Подробные сведения о типах и размерах применяемых корпусов содержатся в таблице 2. Здесь же указано количество пользовательских выводов для каждого кристалла и соответствующего типа корпуса. При изучении таблицы 2 следует обратить внимание на то, что ПЛИС XC6SLX4, XC6SLX9 и XC6SLX16, выпускаемые в корпусах типов CPG196 и TQG144, не содержат в своем составе аппаратных контроллеров интерфейса памяти Memory Controller Block (MCB). Кроме того, кристаллы XC6SLX75, XC6SLX100 и XC6SLX150, производимые в корпусах FG484, FGG484 и CSG484, поддерживают только два контроллера интерфейса памяти MCB из четырех, доступных в других вариантах корпусного исполнения.
Таблица 2. Типы корпусного исполнения ПЛИС семейства Spartan-6 LX
Тип корпуса ПЛИС | CPG196 | TQG144 | CSG225 | FT256, FTG256 | CSG324 | FG484, FGG484 | CSG484 | FG676, FGG676 | FG900, FGG900 |
Габариты, мм | 8×8 | 20×20 | 13×13 | 17×17 | 15×15 | 23×23 | 19×19 | 27×27 | 31×31 |
Высота, мм | 0,5 | 0,5 | 0,8 | 1 | 0,8 | 1 | 0,8 | 1 | 1 |
Тип кристалла | XC6SLX4 | XC6SLX9 | XC6SLX16 | XC6SLX25 | XC6VLX45 | XC6VLX75 | XC6VLX100 |
XC6VLX150 |
|
Число пользовательских выводов |
100 | 100 | 100 | — | — | — | — |
— |
|
100 | 102 | — | — | — | — | — |
— |
||
120 | 160 | 160 | — | — | — | — |
— |
||
— | 186 | 186 | 186 | — | — | — |
— |
||
— | 200 | 232 | 226 | 218 | — | — |
— |
||
— | — | — | 266 | 316 | 274 | 326 |
338 |
||
— | — | — | — | 310 | 310 | 320 |
330 |
||
— | — | — | — | 358 | 400 | 480 |
498 |
||
— | — | — | — | — | — | — |
570 |
Все кристаллы семейства Spartan-6 LX обладают полной совместимостью по выводам в случае использования одинаковых корпусов, что существенно облегчает переход от одного типа ПЛИС к другому в рамках данного семейства. Более подробную информацию о корпусах, применяемых для кристаллов серии Spartan-6, включающую описание функционального назначения выводов и температурных характеристик, можно найти в [13].
ПЛИС семейства Spartan-6 LXT ориентированы, в первую очередь, на разработку телекоммутационных устройств и встраиваемых микропроцессорных систем, использу ющих высокоскоростные интерфейсы передачи данных. Архитектура кристаллов этого семейства отличается от архитектуры ПЛИС семейства Spartan-6 LX наличием высокоскоростных приемопередатчиков RocketIO типа GTP и аппаратных блоков интерфейса PCI Express. Присутствие в кристаллах семейства Spartan-6 LXT достаточно большого количества аппаратных секций цифровой обработки сигналов DSP48A1 позволяет также эффективно применять их для реализации устройств ЦОС. Сейчас данное семейство включает в себя пять типов кристаллов, содержащих от 24 051 до 147 443 логических ячеек Logic Cells. Детальная информация о количестве доступных логических и специализированных аппаратных ресурсов каждого типа в кристаллах семейства Spartan-6 LXT представлена в таблице 3.
Таблица 3. Основные параметры ПЛИС семейства Spartan-6 LXT
Тип кристалла |
||||||
Тип ресурсов ПЛИС | XC6SLX25T | XC6SLX45T | XC6SLX75T | XC6SLX100T | XC6SLX150T | |
Логические ресурсы |
Количество секций Slices | 3750 | 6822 | 11 662 | 15 822 | 23 038 |
Общее число триггеров CLB | 30 064 | 54 576 | 93 296 | 126 576 | 184304 | |
Число логических ячеек Logic Cells | 24 051 | 43 661 | 74 637 | 101 261 | 147 443 | |
Ресурсы памяти |
Объем распределенной памяти (1К = 1024 бит) | 229 K | 401 K | 692 K | 976 K | 1355 K |
Количество модулей блочной памяти Block RAM емкостью 18 кбит | 52 | 116 | 172 | 268 | 268 | |
Объем блочной памяти (1К = 1024 бит) Block RAM | 936 K | 2088 K | 3096 K | 4824 K | 4824 K | |
Модули синхронизации | Количество блоков управления синхронизацией Clock Management Tiles (CMT) | 2 | 4 | 6 | 6 | 6 |
Число цифровых модулей управления синхронизацией Digital Clock Manager (DCM) | 4 | 8 | 12 | 12 | 12 | |
Число аналоговых модулей фазовой автоподстройки частоты Phase-Locked-Loop (PLL) | 2 | 4 | 6 | 6 | 6 | |
Встроенны специализированные аппаратные модули | Количество аппаратных секций DSP48 A1 | 38 | 58 | 132 | 180 | 180 |
Число аппаратных контроллеров
интерфейса памяти Memory Controller Blocks (MCB) |
2 | 2 | 4 | 4 | 4 | |
Количество аппаратных модулей PCI Express | 1 | 1 | 1 | 1 | 1 | |
Число высокоскоростных последовательных приемопередатчиков RocketIO GTP | 2 | 4 | 8 | 8 | 8 | |
Ресурсы ввода / вывода | Количество банков ввода/вывода | 4 | 4 | 6 | 6 | 6 |
Максимальное число пользовательских выводов | 250 | 296 | 320 | 490 | 530 | |
Максимальное число дифференциальных пар выводов | 125 | 148 | 160 | 245 | 265 | |
Варианты быстродействия ПЛИС | Варианты быстродействия для коммерческого исполнения | -2, -3 | -2, -3 | -2, -3 | -2, -3 | -2, -3 |
Варианты быстродействия для промышленного исполнения | -2 | -2 | -2 | -2 | -2 | |
Конфигурационная память | Объем конфигурационной памяти, Мбит | 6,4 | 11,8 | 19,6 | 26,5 | 33,7 |
Для производства кристаллов семейства Spartan-6 LXT используется пять различных типов корпусов, три из которых представлены как в стандартном исполнении, так и вариантами без содержания свинца. Информация о корпусном исполнении каждого типа ПЛИС этого семейства с указанием размеров корпусов, количества доступных высокоскоростных последовательных приемопередатчиков RocketIO типа GTP и пользовательских входов/выходов приведена в таблице 4.
Таблица 4. Типы корпусного исполнения ПЛИС семейства Spartan-6 LXT
Тип корпуса ПЛИС |
CSG324 |
FG484, FGG484 |
CSG484 |
FG676, FGG676 |
FG900, FGG900 |
|||||
Габариты, мм |
15×15 |
23×23 |
19×19 |
27×27 |
31×31 |
|||||
Высота, мм |
0,8 |
1 |
0,8 |
1 |
1 |
|||||
Тип кристалла | Количество высоко- скоростных приемо-передатчиков RocketIO GTP | Число пользова- тельских выводов | Кол-во высоко-скоростных приемо-передатчиков RocketIO GTP | Число пользов. выводов | Кол-во высоко-скоростных приемо-передатчиков RocketIO GTP | Число пользов. выводов | Кол-во высоко-скоростных приемо-передатчиков RocketIO GTP | Число пользов. выводов | Кол-во высоко-скоростных приемо-передатчиков RocketIO GTP | Число пользов. выводов |
XC6SLX25T | 2 | 190 | 2 | 250 | — | — | — | — | — | — |
XC6SLX45T | 4 | 190 | 4 | 296 | 4 | 290 | — | — | — | — |
XC6SLX75T | — | — | 4 | 262 | 4 | 290 | 8 | 320 | — | — |
XC6SLX100T | — | — | 4 | 296 | 4 | 290 | 8 | 376 | 8 | 490 |
XC6SLX150T | — | — | 4 | 296 | 4 | 290 | 8 | 396 | 8 | 530 |
При выборе ПЛИС семейства Spartan-6 LXT для реализации проектируемого устройства следует учитывать, что в кристаллах XC6SLX75T, XC6SLX100T и XC6SLX150T, выпускаемых в корпусах FG484, FGG484 и CSG484, доступны только два аппаратных контроллера интерфейса памяти MCB из четырех, представленных в других вариантах корпусного исполнения. Кристаллы семейства Spartan-6 LXT, выполненные в одинаковых корпусах, полностью совместимы по выводам. Но при этом необходимо обратить внимание на то, что ПЛИС семейств Spartan-6 LX и Spartan-6 LXT не обладают совместимостью по выводам в случае однотипного корпусного исполнения.
Полнуюинформацию о техническиххарак-теристиках, архитектуре, специализированных аппаратных блоках и особенностях ис-пользованиякристаллов семейств Spartan- 6 LX и Spartan-6 LXT можно найти в [14-22]. Описание временных параметров и характеристик по постоянному и переменному току представлено в [23].
Основные отличия логических ресурсов кристаллов серии Spartan-6 от ПЛИС семейств Spartan-3, Spartan-3E, Spartan-3A, Spartan-3AN и Spartan-3A DSP
Архитектура конфигурируемых логических блоков CLB, применяемых в составе ПЛИС семейств Spartan-6 LX и Spartan-6 LXT, принципиально отличается от структуры логических ресурсов, используемых в кристаллах семейств предыдущего поколения Spartan-3, Spartan-3E, Spartan-3A, Spartan-3AN и Spartan-3A DSP [2, 3, 5-7]. Архитектуру конфигурируемых логических блоков ПЛИС серии Spartan-6 образуют две секции Slices. В кристаллах семейств Spartan-6 LX и Spartan-6 LXT применяются секции трех типов: SLICEX, SLICEL и SLICEM. Исключением является кристалл XC6SLX4, в котором отсутствуют секции типа SLICEL.
В ПЛИС предшествующего поколения серии Spartan использовались секции, построенные на базе 4-входовых таблиц преобразования, каждая из которых сопряжена с одним триггером. В кристаллах семейств Spartan-6 LX и Spartan-6 LXT основу секций всех типов образуют четыре реальные 6-входовые таблицы преобразования LUT и восемь триггеров, подключенных попарно к выходам таблиц преобразования. Таким образом, архитектура секций, образующих конфигурируемые логические блоки кристаллов серии Spartan-6, в значительной степени подобна структуре секций, применяемых в ПЛИС новых семейств Virtex-6 LXT и Virtex-6 SXT [1]. Как и в кристаллах этих семейств, 6-входо-вые таблицы преобразования LUT в ПЛИС Spartan-6 LX и Spartan-6 LXT могут конфигурироваться в виде двойных 5-входовых функциональных генераторов с общими входами и раздельными выходами.
Подробная функциональная схема секции SLICEX конфигурируемых логических блоков CLB ПЛИС серии Spartan-6 показана на рис. 1.
Рис. 1. Функциональная схема секции SLICEX
В отличие от секций типа SLICEX, в состав секций SLICEL дополнительно входит логика ускоренного переноса и мультиплексоры, предназначенные для расширения функциональных возможностей конфигурируемых логических блоков CLB. Эти мультиплексоры применяются для увеличения числа булевых переменных в выполняемых функциях. Детализированная функциональная схема секции SLICEL, применяемой в составе конфигурируемых логических блоков CLB кристаллов семейств Spartan-6 LX и Spartan-6 LXT, изображена на рис. 2.
Рис. 2. Функциональная схема секции SLICEL
В секциях типа SLICEM, кроме логики ускоренного переноса и мультиплексоров расширения количества аргументов выполняемых функций, применяются таблицы преобразования, которые могут конфигурироваться как элементы 64-разрядной распределенной памяти или как сдвиговые регистры различной разрядности (до 32 разрядов). Полная функциональная схема секций данного типа представлена на рис. 3.
Рис. 3. Функциональная схема секции SLICEM
В состав конфигурируемых логических блоков CLB ПЛИС серии Spartan-6 входят попарно секции типов SLICEX и SLICEL или SLICEX и SLICEM. Таким образом, в кристаллах семейств Spartan-6 LX и Spartan-6 LXT 50% логических ресурсов составляют секции типа SLICEX и по 25% — секции типов SLICEL и SLICEM.
Из восьми триггеров, входящих в состав секций всех типов, четыре элемента могут конфигурироваться как триггеры с динамическим управлением (D-триггеры, flip-flop) или потенциальным управлением (триггеры-защелки, latch). Условные графические образы этих триггеров на рис. 1-3 имеют обозначения FF/LAT. Остальные четыре триггера, обозначенные как FF, могут применяться в реализуемых устройствах только как триггеры с динамическим управлением. Более подробное описание архитектуры и особенностей использования конфигурируемых логических блоков ПЛИС серии Spartan-6 приведено в [19].
Система формирования и распределения тактовых сигналов ПЛИС семейств Spartan-6 LX и Spartan-6 LXT
В кристаллах серии Spartan-6 применяется новая система формирования и распределения тактовых сигналов, которая имеет значительные преимущества по сравнению с соответствующими ресурсами ПЛИС семейств Spartan-3, Spartan-3E, Spartan-3A, Spartan-3AN и Spartan-3A DSP, обеспечивая более высокую производительность разрабатываемых устройств. Основу этой системы составляют блоки управления синхронизацией CMT и широко разветвленная инфраструктура распределения тактовых сигналов внутри кристаллов. Структурная схема, наглядно демонстрирующая взаимосвязи блоков управления синхронизацией CMT и линий распределения тактовых сигналов различного типа в ПЛИС семейств Spartan-6 LX и Spartan-6 LXT, изображена на рис. 4.
Рис. 4. Структурная схема взаимосвязей блоков управления синхронизацией CMT и линий распределения тактовых сигналов
Структура блоков управления синхронизацией CMT кристаллов серии Spartan-6 включает в себя те же компоненты, что и в ПЛИС семейств Virtex-5 LX, Virtex-5 LXT, Virtex-5 SXT, Virtex-5 FXT и Virtex-5 TXT [24]. Каждый блок управления синхронизацией кристаллов семейств Spartan-6 LX и Spartan-6 LXT включает в себя два цифровых модуля Digital Clock Manager (DCM) и аналоговый модуль фазовой автоподстройки частоты Phase-Locked-Loop (PLL). Количество блоков управления синхронизацией CMT в кристаллах рассматриваемой серии зависит от типа ПЛИС и варьируется в пределах от двух до шести. Функциональная схема блоков управления синхронизацией CMT, входящих в состав архитектуры кристаллов серии Spartan-6, показана на рис. 5.
Рис. 5. Функциональная схема блоков управления синхронизацией CMT, применяемых в кристаллах семейств Spartan-6 LX и Spartan-6 LXT
Цифровые модули DCM выполняют следующие функции:
- Формирование сигналов синхронизации с частотой входного тактового сигнала с различными значениями фазового сдвига.
- Деление частоты входного сигнала синхронизации на фиксированное значение, находящееся в пределах от 1,5 до 16.
- Формирование сигналов синхронизации с удвоенным значением частоты входного тактового сигнала.
- Устранение расхождения фронтов тактовых сигналов, возникающих при распространении этих сигналов внутри кристаллов или на печатных платах.
- Цифровой синтез сигналов с частотой, определяемой путем умножения и деления частоты входного сигнала синхронизации в пределах допустимого диапазона, с возможностью динамического управления.
- Автономная генерация сигналов синхронизации.
Модули фазовой автоподстройки частоты PLL могут осуществлять функции как синтеза выходных сигналов с различными значениями частоты, так и повышения стабильности входных и выходных сигналов блоков управления синхронизацией CMT. Данные модули поддерживают широкий диапазон частот входных сигналов: от 19 до 500 МГц. При этом генератор, управляемый напряжением (Voltage-Controlled Oscillator, VCO), который является основным элементом модулей фазовой автоподстройки частоты, позволяет формировать выходные сигналы со значениями частот, достигающих 1 ГГц.
Модули DCM и PLL могут использоваться для формирования необходимой совокупности тактовых сигналов как независимо друг от друга, так и в виде каскадных соединений DCM — PLL или PLL — DCM. На рис. 6 представлено три наиболее часто применяемых варианта коммутации модулей DCM и PLL в составе блоков управления синхронизацией CMT. Вариант 1 соответствует независимому использованию цифровых модулей DCM и аналогового модуля фазовой автоподстройки частоты для формирования сигналов синхронизации. Второй вариант обеспечивает высокую стабильность тактового сигнала, подаваемого на вход цифрового модуля DCM. Третий вариант применяется для повышения стабильности сигналов синхронизации, формируемых на выходах цифрового модуля DCM.
Рис. 6. Варианты коммутации модулей DCM и PLL в составе блоков управления синхронизацией CMT в кристаллах семейств Spartan-6 LX и Spartan-6 LXT
Инфраструктура распределения тактовых сигналов внутри кристаллов семейств Spartan-6 LX и Spartan-6 LXT включает в себя специальные выводы ПЛИС GCLK, предназначенные для подключения сигналов синхронизации, совокупность глобальных цепей синхронизации, сеть региональных цепей синхронизации, глобальные мультиплексоры и буферные элементы. В каждом кристалле серии Spartan-6 предусмотрено 32 вывода GCLK и 16 глобальных линий тактовых сигналов, которые могут использоваться для синхронизации любых логических и специализированных блоков ПЛИС (рис. 4).
Понятие региона в ПЛИС серии Spartan-6 отличается от аналогичного термина, применяемого в кристаллах семейств Virtex-6 LXT и Virtex-6 SXT [1]. В ПЛИС семейств Spartan-6 LX и Spartan-6 LXT регионом можно считать совокупность ресурсов ввода/вывода, относящихся к одному банку. Структура этих ресурсов будет рассмотрена в следующем разделе. Соответственно сеть цепей региональных тактовых сигналов в кристаллах серии Spartan-6 предназначена для синхронизации работы модулей, входящих в состав ресурсов ввода/вывода. Структура этой сети приведена на рис. 7.
Рис. 7. Структура сети региональных тактовых сигналов в кристаллах семейств Spartan-6 LX и Spartan-6 LXT
Конфигурация сети цепей региональных тактовых сигналов позволяет использовать для тактирования модулей, которые относятся к ресурсам ввода/вывода, как входные сигналы синхронизации, поступающие с соответствующих выводов ПЛИС, так и сигналы, формируемые блоками управления синхронизацией CMT. Подробные рекомендации по практическому использованию компонентов системы формирования и распределения тактовых сигналов ПЛИС семейств Spartan-6 LX и Spartan-6 LXT приведены в [17].
Структура ресурсов ввода/вывода ПЛИС семейств Spartan-6 LX и Spartan-6 LXT
Структура ресурсов ввода/вывода ПЛИС семейств Spartan-6 LX и Spartan-6 LXT в значительной степени похожа на структуру аналогичных ресурсов, представленных в составе архитектуры кристаллов серии Virtex 5. Основными элементами этой структуры являются блоки ввода/вывода (Input/Output block, IOB) и логические ячейки ввода/вывода (Input/Output LOGIC, IOLOGIC). Блоки ввода/вывода включают в себя входные и выходные буферные элементы, сопряженные с выводами ПЛИС. Функциональная схема логических ячеек ввода/вывода, представленных в кристаллах семейств Spartan-6 LX и Spartan-6 LXT, приведена на рис. 8. В их состав входит входная/выходная логика IOLOGIC (входные и выходные триггеры и элементы задержки), присутствующая в ПЛИС семейств Spartan-3, Spartan-3E, Spartan-3A, Spartan-3AN и Spartan-3A DSP. Кроме того, в кристаллах серии Spartan-6, применяются программируемые последовательно-параллельные и параллельно-последовательные преобразователи входных и выходных данных соответственно. Разрядность параллельного кода в этих преобразователях можно выбирать в диапазоне от 2 до 4 бит. Каждая логическая ячейка ввода/вывода содержит две части с одинаковой структурой: основную (Master) и подчиненную (Slave). Такая организация необходима для реализации дифференциальных интерфейсов ввода/вывода с использованием параллельно-последовательных и последовательно-параллельных преобразователей данных.
На функциональной схеме, приведенной на рис. 8, показана структура логических ячеек ввода/вывода, представленных в кристаллах семейств Spartan-6 LX и Spartan-6 LXT.
Рис. 8. Функциональная схема логической ячейки ввода/вывода в кристаллах семейств Spartan-6 LX и Spartan-6 LXT
Основные различия специализированных аппаратных модулей кристаллов серии Spartan-6 и ПЛИС семейств Spartan-3, Spartan-3E, Spartan-3A, Spartan-3AN и Spartan-3A DSP
Новым видом специализированных аппаратных блоков, появившимся только в архитектуре кристаллов семейств Spartan-6 LX и Spartan-6 LXT, является ядро контроллера высокоскоростных интерфейсов памяти Memory Controller Block. В зависимости от типа ПЛИС в них может содержаться до четырех аппаратных блоков интерфейсов памяти MCB (табл. 1, 3). На основе этого аппаратного блока могут быть реализованы контроллеры интерфейсов памяти DDR2 SDRAM и DDR3 SDRAM со скоростями передачи данных до 800 Мбит/с (на частоте 400 МГц), а также DDR SDRAM и LP DDR со скоростями до 400 Мбит/с (на частоте 200 МГц).
Функциональная схема аппаратного блока контроллера высокоскоростных интерфейсов памяти MCB, применяемого в составе архитектуры ПЛИС серии Spartan-6, изображена на рис. 9.
Рис. 9. Функциональная схема аппаратного блока контроллера высокоскоростных интерфейсов памяти MCB
Каждый блок MCB содержит шесть 32-разрядных пользовательских портов данных и команд, модуль арбитража, контроллер, канал передачи данных и модуль реализации физического уровня интерфейса. Пользовательские порты включают в себя буферные элементы FIFO, функционирующие по принципу «первым вошел — первым вышел». Модуль арбитража определяет для каждого пользовательского порта текущий приоритет доступа к элементам памяти. Контроллер преобразует команды пользовательского интерфейса в соответствующую последовательность инструкций выбранного стандартного интерфейса памяти. Канал передачи данных осуществляет коммутацию потоков данных между пользовательской логикой и элементами памяти. Модуль реализации физического уровня интерфейса преобразует инструкции стандартного интерфейса памяти в соответствующие последовательности сигналов.
Для разработки устройств с использованием аппаратных блоков MCB можно эффективно применять «мастер» Memory Interface Generator (MIG), входящий в состав средств CORE Generator [25]. Блок контроллера высокоскоростных интерфейсов памяти поддерживается также средствами проектирования встраиваемых микропроцессорных систем Xilinx Embedded Development Kit [9, 26].
Структура модифицированных аппаратных секций цифровой обработки сигналов (ЦОС) DSP48A1, применяемых в ПЛИС семейств Spartan-6 LX и Spartan-6 LXT, включает в себя, в основном, те же главные элементы, что и базовый вариант DSP48A, входящий в состав архитектуры кристаллов предыдущего поколения семейства Spartan-3A DSP [8]. В то же время новая модификация имеет несколько дополнительных функциональных возможностей по сравнению с базовой версией. Архитектура и топология усовершенствованных секций ЦОС предоставляет возможность их каскадного соединения практически без использования основных трассировочных ресурсов кристалла. Тем самым создаются предпосылки для повышения производительности разрабатываемых многозвенных устройств ЦОС.
Подробная структурная схема модифицированной аппаратной секции ЦОС DSP48A1, применяемой в кристаллах семейств Spartan-6 LX и Spartan-6 LXT, представлена на рис. 10.
Рис. 10. Структурная схема модифицированной аппаратной секции ЦОС DSP48A1
Основными элементами структуры этой секции являются: предварительный 18-разрядный сумматор, умножитель двух 18-разрядных значений, итоговый 48-разрядный сумматор/аккумулятор и совокупность буферных регистров, предназначенных для организации конвейерной обработки данных. В новом варианте аппаратной секции ЦОС предусмотрена дополнительная выходная шина данных MFOUT, на которую поступает результат выполнения операции умножения. Эта шина предназначена для подключения к стандартным логическим ресурсам ПЛИС. Кроме того, в данном варианте модуля ЦОС усовершенствована логика формирования сигнала выходного переноса. В секции DSP48A1 присутствует еще один выход сигнала переноса CFOUT, который используется для подключения к стандартной логике кристаллов серии Spartan-6. Новые элементы архитектуры аппаратной секции ЦОС выделены на представленной схеме (рис. 10), чтобы наглядно продемонстрировать отличия модуля DSP48A1 от базового варианта DSP48A.
Структура аппаратных блоков интерфейса PCI Express, которые включены в состав архитектуры ПЛИС семейства Spartan-6 LXT, приведена на рис. 11. В каждом кристалле данного семейства представлен один блок интерфейса PCI Express Base Specification Revision 1.1, который может конфигурироваться как конечное устройство (Endpoint). При использовании аппаратных блоков интерфейса PCI Express совместно с последовательными высокоскоростными приемопередатчиками RocketIO GTP поддерживается скорость передачи данных в каждом направлении до 2,5 Гбит/с.
Рис. 11. Структурная схема аппаратных блоков интерфейса PCI Express, используемых в ПЛИС семейства Spartan-6 LXT
Аппаратные средства для отладки проектов, разрабатываемых на основе ПЛИС серии Spartan-6
Кроме, собственно, ПЛИС новых семейств Spartan-6 LX и Spartan-6 LXT фирма Xilinx традиционно предоставляет разработчикам несколько разновидностей инструментальных комплектов, предназначенных, в первую очередь, для осуществления аппаратной отладки устройств и систем, проектируемых на основе кристаллов этой серии. Инструментальные модули, новые версии средств проектирования и типовые проекты (Reference Designs), входящие в состав этих комплектов, позволяют быстро освоить на практике использование аппаратных ресурсов и преимуществ архитектуры ПЛИС нового поколения серии Spartan. Уже в ближайшее время разработчикам будет доступен инструментальный комплект Spartan-6 FPGA SP601 Evaluation Kit.
Основным компонентом этого комплекта является инструментальный модуль Spartan-6 SP601 Base Board, выполненный на базе кристалла XC6SLX16-CS324-2CES. Архитектура данного модуля позволяет использовать в качестве источников сигналов синхронизации для ПЛИС кварцевый генератор с частотой 200 МГц, расположенный на плате, дополнительный генератор, устанавливаемый в соответствующую панель, и внешние тактовые сигналы (в том числе дифференциальные), поступающие через высокочастотные разъемы типа SMA. Для хранения конфигурационной информации в составе отладочного модуля предусмотрены микросхемы Flash-памяти с последовательным интерфейсом (Serial Peripheral Interface, SPI) и параллельным интерфейсом (Byte Peripheral Interface, BPI). Наличие оперативной памяти DDR2 SDRAM в составе инструментального модуля Spartan-6 SP601 Base Board емкостью 128 Мбайт создает предпосылки для эффективной реализации на его основе встраиваемых микропроцессорных систем, проектируемых на базе конфигурируемых 32-разрядных микропроцессорных ядер семейства MicroBlaze. Этому способствуют также компоненты, реализующие физический уровень интерфейса 10/100/1000 Tri-Speed Ethernet PHY и мост UART-USB.
Присутствие на плате разъема, соответствующего промышленному стандарту FPGA Mezzanine Connector (FMC-LPC), предназначенного для подключения специализированных субмодулей (карт расширения), позволяет адаптировать рассматриваемый инструментальный комплект для решения задач отладки разрабатываемых устройств и систем различной специализации. Кроме того, восемь пользовательских выводов ПЛИС XC6SLX16-CS324-2CES подключены к разъему, который соответствует спецификации плат расширения, выпускаемых компанией Digilent Incorporated. Наличие светодиодных индикаторов и элементов управления (кнопок и DIP-переключателей) повышает наглядность и эффективность процесса отладки разрабатываемых устройств и систем.
В состав инструментального комплекта Spartan-6 FPGA SP601 Evaluation Kit включена последняя версия свободно распространяемых средств разработки устройств и программирования кристаллов ISE WEBPACK Design Suite, а также несколько типовых проектов, в том числе базовый проект, проект, демонстрирующий применение аппаратных контроллеров интерфейсов памяти MCB, и проект с поддержкой мультизагрузочного режима конфигурирования ПЛИС семейства Spartan-6 LX.
Кроме рассмотренного инструментального комплекта, фирмой Xilinx запланирован к концу текущего года выпуск следующих аппаратных отладочных наборов с более широкими функциональными возможностями:
- Spartan-6 FPGA SP605 Evaluation Kit;
- Spartan-6 FPGA Embedded Kit;
- Spartan-6 FPGA Connectivity Kit;
- Spartan-6 FPGA SP623 Transceiver Characterization Kit.
В состав первых трех из перечисленных комплектов входит инструментальный модуль SP605 Base Board, выполненный на базе кристалла XC6SLX45T. Инструментальный комплект Spartan-6 FPGA SP605 Evaluation Kit имеет широкое целевое назначение. Программно-аппаратный комплект Spartan-6 FPGA Embedded Kit предназначен, прежде всего, для отладки встраиваемых микропроцессорных систем. Комплект аппаратных и программных средств Spartan-6 FPGA Connectivity Kit ориентирован, в первую очередь, на отладку разрабатываемых устройств и систем с различными интерфейсами (PCI Express, Ethernet, DDR3). Инструментальный модуль комплекта Spartan-6 FPGA SP623 Transceiver Characterization Kit, выполненный на основе ПЛИС XC6SLX150T, предназначен для отладки устройств, использующих в своем составе высокоскоростные последовательные приемопередатчики RocketIO GTP. Каждый из этих инструментальных наборов комплектуется соответствующей редакцией САПР Xilinx ISE Design Suite 11.
Компания Avnet также планирует предоставить разработчикам в конце текущего года следующие инструментальные комплекты, которые включают в себя аппаратные отладочные модули, выполненные на базе ПЛИС семейств Spartan-6 LX и Spartan-6 LXT:
- Spartan-6 LX16 FPGA Evaluation Kit;
- Spartan-6 LX150T FPGA Evaluation Kit;
- Spartan-6 FPGA DSP Kit;
- Spartan-6 FPGA Industrial Ethernet Kit.
Более подробная информация об этих отладочных комплектах будет представлена после их выпуска в последующих публикациях.
Литература
- Зотов В. Особенности архитектуры нового поколения высокопроизводительных ПЛИС FPGA фирмы Xilinx серии Virtex-6 // Компоненты и технологии. 2009. № 8.
- Кузелин М. О., Кнышев Д. А., Зотов В. Ю. Современные семейства ПЛИС фирмы Xilinx / Справочное пособие. М.: Горячая линия -Телеком, 2004.
- Spartan-3 Generation FPGA User Guide. Xilinx, 2008.
- Spartan-3 Generation Configuration User Guide. Xilinx, 2008.
- Spartan-3A FPGA Family: Data Sheet. Xilinx, 2008.
- Spartan-3AN FPGA Family: Data Sheet. Xilinx, 2008.
- Spartan-3A DSP FPGA Family: Data Sheet. Xilinx, 2008.
- XtremeDSP DSP48A for Spartan-3A DSP FPGAs. User Guide. Xilinx, 2008.
- Зотов В. Проектирование встраиваемых микропроцессорных систем на основе ПЛИС фирмы Xilinx. М.: Горячая линия — Телеком, 2006.
- Зотов В. MicroBlaze — семейство 32-разрядных микропроцессорных ядер, реализуемых на основе ПЛИС фирмы Xilinx // Компоненты и технологии. 2003. № 9.
- Зотов В. Система команд микропроцессорного ядра MicroBlaze // Компоненты и технологии. 2004. № 1-3.
- Зотов В. Организация памяти микропроцессорного ядра MicroBlaze // Компоненты и технологии. 2004. № 5.
- Spartan-6 FPGA Packaging and Pinouts Advance Product Specification. Xilinx, 2009.
- Spartan-6 Family Overview. Xilinx, 2009.
- Spartan-6 FPGA Configuration User Guide. Xilinx, 2009.
- Spartan-6 FPGA SelectIO Resources User Guide. Xilinx, 2009.
- Spartan-6 FPGA Clocking Resources User Guide. Xilinx, 2009.
- Spartan-6 FPGA Block RAM User Guide. Xilinx, 2009.
- Spartan-6 FPGA Configurable Logic Block User Guide. Xilinx, 2009.
- Spartan-6 FPGA GTP Transceivers User Guide. Xilinx, 2009.
- Spartan-6 FPGA Memory Controller User Guide. Xilinx, 2009.
- Spartan-6 FPGA DSP48A1 User Guide. Xilinx, 2009.
- Spartan-6 FPGA Data Sheet: DC and Switching Characteristics. Xilinx, 2009.
- Зотов В. Инструментальный модуль компании Avnet для отладки проектов встраиваемых систем, разрабатываемых на базе нового семейства ПЛИС FPGA фирмы Xilinx Virtex-5 FXT // Компоненты и технологии. 2008. № 9.
- Зотов В. Проектирование цифровых устройств, реализуемых на базе ПЛИС FPGA фирмы Xilinx, с использованием средств CORE Generator // Компоненты и технологии. 2006. № 12. 2007. № 1.
- Зотов В. Embedded Development Kit — система проектирования встраиваемых микропроцессорных систем на основе ПЛИС серий FPGA фирмы Xilinx // Компоненты и технологии. 2004. № 4.