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

Опрос

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

Реклама

 

2001 №3

ПЛИС фирмы Xilinx: семейство SpartanTM-II

Кузелин Михаил


В начале 1998 г. компания Xilinx выпустила новую серию ПЛИС с архитектурой FPGA — семейство Spartan. Данная серия предназначена для использования в серийных проектах как альтернатива заказным специализированным ИМС. Основными параметрами, позволяющими использовать ПЛИС серии Spartan вместо заказных ИМС, являются сопоставимые цены и возможность работать в устройствах с системными частотами до 200 МГц. При этом микросхемы семейства Spartan могут перепрограммироваться непосредственно в готовом устройстве, и время разработки проекта занимает менее одного месяца в отличие от заказных специализированных ИМС, проектирование и производство которых занимает не менее шести месяцев.

Первоначально серия включала в себя два семейства: семейство Spartan с напряжением питания ядра кристалла 5 В и семейство Spartan-XL с напряжением питания ядра 3,3 В. Эти семейства имели логическую емкость от 5000 до 40 000 системных вентилей.

В начале 2001 г. начато серийное производство нового семейства Spartan-II с напряжением питания ядра 2,5 В и логической емкостью от 15 000 до 200 000 системных вентилей.

Архитектура семейства Spartan-II основана на архитектуре популярного семейства Virtex. ПЛИС семейства Spartan-II могут применяться в проектах как альтернатива специализированным интегральным схемам емкостью до 200 000 вентилей и системным быстродействием до 200 МГц. Стоимость ПЛИС Spartan-II эквивалентна таковой у заказных специализированных интегральных схем в партиях от 100 000 штук и в 3–4 раза меньше, чем стоимость ПЛИС семейства Virtex при розничных объемах. Такое снижение цены в сравнении с семейством Virtex достигнуто благодаря использованию новой технологии производства кремния и уменьшению номенклатуры корпусов. Набор выполняемых функций аналогичен семейству Virtex, но отсутствует термодиод.

Семейство состоит из шести кристаллов, отличающихся логической емкостью. Сравнительные параметры приведены в табл. 1.

Таблица 1
Кристалл Логич. ячейки Системные вентили Матрица КЛБ КЛБ Блочная ОЗУ, бит Пользовательские блоки ввода/вывода, макс
XC2S15 432 15000 8x2 96 16384 86
XC2S30 972 30000 12x18 216 24576 132
XC2S50 1728 50000 16x24 384 32768 176
XC2S100 2700 100000 20x30 600 40960 196
XC2S150 3888 150000 24x36 864 49152 260
XC2S200 5292 200000 28x42 1176 57344 284

Кристаллы семейства Spartan-II производятся на основе статического ОЗУ, поэтому функционирование их определяется загружаемыми во внутренние ячейки памяти конфигурационными данными. Конфигурационные данные могут загружаться в кристалл несколькими способами. В ведущем последовательном режиме (Master Serial) загрузка осуществляется из внешнего ПЗУ и полностью управляется самой микросхемой Spartan-II. В других режимах управление загрузкой осуществляется внешними устройствами (подчиненный параллельный режим (Slave Parallel), подчиненный последовательный (Slave Serial) и JTAG).

Конфигурационные данные создаются пользователем при помощи программного обеспечения проектирования Xilinx FoundationTM и Alliance Series. Оно включает в себя модули схемного и текстового ввода, моделирования, автоматического и ручного размещения и трассировки, создания, загрузки и верификации конфигурационных данных. Также существует бесплатный пакет ПО WebPack ISE, доступный на сайте ( www.xilinx.com/webpack/index.html).

Кристаллы Spartan-II обеспечивают более высокую производительность, чем предыдущие поколения ПЛИС с архитектурой FPGA. Устройства могут работать на системных частотах до 200 МГц и частотах внутри кристалла, превышающих 350 МГц.

К настоящему времени кристаллы полностью протестированы на «эталонных» схемах. На основе тестов выявлено, что, хотя производительность сильно зависит от конкретного проекта, большинство из них работают на частотах, превышающих 100 МГц.

Архитектура Spartan-II

Основными особенностями архитектуры кристаллов семейства Spartan-II являются гибкость и регулярность. Кристаллы состоят из матрицы КЛБ (конфигурируемый логический блок), которая окружена программируемыми блоками ввода/вывода (БВВ). Все соединения между основными элементами КЛБ, БВВ осуществляются с помощью набора иерархических высокоскоростных программируемых трассировочных ресурсов. Изобилие последних позволяет реализовывать на ПЛИС семейства Spartan-II даже самые насыщенные и сложные проекты. Также на кристалле имеются блоки памяти и модули управления синхронизацией — DLL. Интерфейс ввода/вывода VersaRing создает дополнительные трассировочные ресурсы по периферии кристалла. Эти трассы улучшают общую «трассируемость» устройства и возможности трассировки после закрепления электрических цепей к конкретным контактам. Блок-схема архитектуры кристалла семейства Spartan-II показана на рис.1.

Рис. 1. Структура архитектуры Spartan-II

Блок ввода/вывода

Основным отличительным свойством БВВ семейства Spartan-II является поддержка широкого спектра стандартов сигналов ввода/вывода, что позволяет сопрягать Spartan-II с большинством быстродействующих элементов памяти и шинных интерфейсов. Поддерживаемые стандарты: LVTTL 2-24 мА, LVCMOS2, PCI, GTL, GTL+, HSTL Class I, HSTL Class III, HSTL Class IV, SSTL3 Class I & II, SSTL2 Class I & II, CTT, AGP.

Блоки ввода/вывода Spartan-II полностью соответствуют спецификациям шины PCI, поэтому микросхемы позволяют реализовывать интерфейсные схемы, работающие на частоте 33 МГц или 66 МГц. В дополнение к этому кристаллы Spartan-II удовлетворяют требованию «горячей замены» для шины Compact PCI.

Банки ввод/вывода

Некоторые из указанных выше стандартов требуют подключения напряжения VCCO и/или VREF. Эти внешние напряжения подключаются к контактам микросхемы, которые функционируют группами, называемыми банками.

Рис. 2. Банки ввода/вывода Spartan-II

Как показано на рис. 2, каждая кромка микросхемы разделена на два банка. Каждый банк имеет несколько контактов VCCO, но все они должны быть подключены к одному и тому же напряжению. Это напряжение определяется выбранным для данного банка стандартом выходных сигналов.Стандарты для выходных сигналов конкретного банка могут быть различными только в том случае, если они используют одинаковое значение напряжения VCCO. Совместимые стандарты показаны в табл. 2. Стандарты GTL и GTL+ присутствуют во всех вариантах, поскольку их выходы с открытым стоком не зависят от значения VCCO.

Таблица 2
VCCO Совместимые стандарты
3,3 В PCI, LVTTL, SSTL3 |, SSTL3 ||, CTT, AGP, GTL, GTL+
2,5 В SSTL2 |, SSTL2 ||, LVCMOS2, GTL, GTL+
1,5 В HSTL |, HSTL |||, HSTL |V, GTL, GTL+

Некоторые стандарты требуют подачи соответствующих пороговых напряжений VCCO на входные каскады. При этом определенные БВВ автоматически конфигурируются как входы, соответствующие напряжению VCCO. Эту роль может выполнять приблизительно один контакт из шести в каждом банке.

Контакты VREF в пределах одного банка внутренне соединены между собой, следовательно, в рамках одного банка может быть использовано только одно значение напряжения VREF. Для правильной работы все контакты VREF одного банка должны быть подсоединены к внешнему источнику напряжения.

В пределах одного банка можно одновременно использовать входы, которые требуют напряжения VREF, и входы, которые его не требуют. Входные буферы, которые используют VREF, несовместимы с сигналами 5 В стандартов. БВВ, запрограммированные на стандарты LVTTL, LVCMOS2 и PCI, совместимы с 5 В стандартами.

Номера контактов VCCO и VREF для каждого банка приведены в таблицах и диаграммах для конкретного корпуса или кристалла. На диаграммах также показано, к какому банку относится конкретный контакт ввода/вывода (см. материалы в Интернете по адресу: www.xilinx.com/partinfo/databook.htm).

В рамках конкретного типа корпуса микросхемы число контактов VCCO и VREF может меняться в зависимости от емкости кристалла. Чем больше логическая емкость кристалла, тем большее число контактов ввода/вывода преобразовано в контакты типа VREF. Поскольку для меньших кристаллов существует максимальный набор контактов VREF, имеется возможность проектирования печатной платы, позволяющей также использовать на ней и большие кристаллы с таким же типом корпуса. Все контакты VREF, предполагаемые к использованию для больших кристаллов, при этом должны быть подсоединены к напряжению VREF и не должны использоваться как контакты ввода/вывода.

В меньших кристаллах некоторые из контактов VREF, используемые в больших кристаллах, не соединены внутри корпуса. Эти неприсоединенные контакты могут быть оставлены «висящими в воздухе» вне микросхемы или подключены к напряжению VCCO при необходимости обеспечения совместимости разрабатываемой печатной платы с большими кристаллами.

В корпусах TQ144 и PQ208 все контакты VCCO соединены вместе внутри микросхемы и, следовательно, ко всем из них должно быть подключено одно и то же напряжение VCCO. В корпусе CS144 пары банков, расположенные на одной стороне, внутренне соединены, обеспечивая, таким образом, возможность выбора только четырех возможных значений напряжения для VCCO. Контакты VREF остаются внутренне соединенными в рамках каждого из восьми банков и могут использоваться так, как это было описано выше.

Конфигурируемый логический блок — КЛБ

Базовым элементом КЛБ является логическая ячейка, которая состоит из 4-входового функционального генератора, логики ускоренного переноса и запоминающего элемента. Выход каждого функционального генератора каждой логической ячейки подсоединен к выходу КЛБ и к D-входу триггера. Каждый КЛБ серии Spartan-II содержит четыре логические ячейки, организованные в виде двух одинаковых секций. Устройство каждой из них показано на рис. 3.

Рис. 3. Секция КЛБ семейства Spartan-II

В дополнение к четырем базовым логическим ячейкам, КЛБ серии Spartan-II содержит логику, которая позволяет комбинировать ресурсы функциональных генераторов для реализации функций от пяти или шести переменных. Таким образом, при оценке числа эквивалентных системных вентилей для микросхем семейства Spartan-II каждый КЛБ приравнивается к 4,5 логической ячейки.

Функциональные генераторы реализованы в виде 4-входовых таблиц преобразования (Look-Up Table — LUT). Кроме использования в качестве функциональных генераторов каждый LUT-элемент может быть также использован как синхронная память типа RAM размерностью 16ґ1 бит. Более того, из двух LUT-элементов в рамках одной секции можно реализовать синхронную память RAM размерностью 16ґ2 бита или 32ґ1 бит, либо двухпортовую синхронную память RAM размерностью 16ґ1 бит.На LUT-элементе микросхемы Spartan-II может быть реализован 16-битовый сдвиговый регистр, который подходит для захвата высокоскоростных или пакетных потоков данных. Этот режим может также использоваться для запоминания данных в приложениях цифровой обработки сигналов.

Блочная память

В ПЛИС семейства Spartan-II встроена особая блочная память (Block SelectRAM) большой емкости. Она создана в дополнение к распределенной памяти небольшой емкости, реализованной на таблицах преобразования (LUTRAM).Блоки памяти Block Select RAM организованы в виде столбцов. Все кристаллы Spartan-II содержат два таких столбца, по одному вдоль каждой вертикальной кромки. Эти колонки увеличивают полный размер кристалла. Каждый блок памяти равен по высоте четырем КЛБ, таким образом, микросхема Spartan-II, имеющая 8 КЛБ по высоте, содержит 2 блока памяти на колонку и 4 блока памяти в целом.

В табл. 3 приводятся емкости блочной памяти для различных кристаллов Spartan-II.

Каждый блок памяти — это полностью синхронная двухпортовая RAM с независимым управлением для каждого порта. Размерность шины данных для обоих портов может быть сконфигурирована независимо, что позволяет создавать преобразователи размерности шины.В кристаллах Spartan-II созданы специальные трассировочные ресурсы для связи блочной памяти с КЛБ и другими блоками блочной памяти.

Таблица 3
Кристалл Spartan-|| Число блоков Общий объём блочной памяти, бит
XC2S15 4 16384
XC2S30 6 24576
XC2S50 8 32768
XC2S100 10 40960
XC2S150 12 49152
XC2S200 14 57344

Модули автоподстройки задержки

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

Вдобавок, для устранения задержек, возникающих при распределении тактовых сигналов, DLL создает новые возможности управления функциями синхронизации. Модуль DLL может создавать четыре квадратурные фазы из исходного источника синхросигнала; удваивать частоту синхросигнала либо делить эту частоту на 1.5, 2, 2.5, 3, 4, 5, 8 или 16.Модуль DLL также функционирует как тактовое зеркало. Путем вывода из микросхемы сигнала с выхода DLL и последующего ввода этого сигнала снова внутрь кристалла схема DLL при работе с несколькими микросхемами Spartan-II может устранить разбег фаз для тактовых сигналов на уровне печатной платы.

Чтобы гарантировать, что системная синхронизация будет нормально функционировать до момента окончания конфигурирования системы и начала штатной работы, схема DLL имеет возможность задерживать процесс конфигурирования до нормальной синхронизации с системой.

Периферийное сканирование

Кристаллы Spartan-II поддерживают команды периферийного сканирования, приведенные в спецификации стандарта IEEE 1149.1. Test Access Port (TAP) и регистры реализованы для выполнения команд EXTEST, INTEST, SAMPLE/PRELOAD, BYPASS, IDCODE, USERCODE и HIGHZ. Кроме того, порт TAP поддерживает две внутренние сканирующие цепочки и позволяет загрузить/считать конфигурацию кристалла.

TAP использует предопределенные контакты микросхемы и LVTTL-стандарт сигналов. Для того чтобы выход TDO выдавал сигналы в стандарте LVTTL, на контакт VCCO второго банка должно быть подано напряжение 3,3 В. В противном случае напряжение на выходе TDO будет меняться в пределах от нуля до VCCO.

Операции периферийного сканирования не зависят от конкретных конфигураций блоков ввода/вывода и ти па корпуса. Все блоки ввода/вывода, включая не подключенные к контактам, рассматриваются как независимые двунаправленные контакты с тремя состояниями в единой цепочке сканирования. Сохранение возможности осуществлять двунаправленное тестирование после конфигурирования облегчает тестирование внешних межсоединений.

Подробная информация о семействе Spartan-II представлена на сервере компании Xilinx по адресу www.xilinx.com.

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

 


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

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