Обзор архитектуры семейства Virtex
Поможем в ✍️ написании учебной работы
Поможем с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой

Особенности

 

• Высокопроизводительные, большой емкости, программируемые пользователем логические интегральные схемы с архитектурой FPGA (Field Programmable Gate Arrays):

— емкость от 50К до 1М системных вентилей;

— системная производительность до 200 МГц;

— совместимы с шиной PCI 66 МГц;

— поддерживают функцию Hot-swap для Compact PCI.

• Поддержка большинства стандартов ввода-вывода (технология SelectIO™):

— 16 высокопроизводительных стандартов ввода — вывода;

— прямое подключение к ZBTRAM устройствам.

•  Встроенные цепи управления тактированием:

— четыре встроенных модуля автоподстройки задержек (DLL -delay-locked loop) для расширенного управления тактовыми сигналами как внутри кристалла, так и всего устройства;

— четыре глобальные сети распределения тактовых сигналов с малыми разбегами фронтов, плюс 24 локальные тактовые сети.

• Иерархическая система элементов памяти:

— на базе 4-входовых таблиц преобразования (4-LUT - - Look-Up Table), конфигурируемых либо как 16-битовое ОЗУ (Random Access Memory), либо как 16-разрядный сдвиговый регистр;

— встроенная блочная память, каждый блок конфигурируется как синхронное двухпортовое ОЗУ емкостью 4 Кбит;

— быстрые интерфейсы к внешнему высокопроизводительному ОЗУ.

• Гибкая архитектура с балансом быстродействия и плотности упаковки логики:

— специальная логика ускоренного переноса для высокоскоростных арифметических операций;

— специальная поддержка умножителей;

— каскадируемые цепочки для функций с большим количеством входов;

— многочисленные регистры/защелки с разрешением тактирования и синхронные/асинхронные цепи установки и сброса;

— внутренние шины с тремя состояниями;

— логика периферийного сканирования в соответствии со стандартом IEEE1149.1;

— датчик температуры кристалла.

• Проектирование осуществляется пакетами программного обеспечения Foundation ™ и Alliance Series , работающими на ПК или рабочей станции.

• Конфигурация кристалла хранится во внешнем ПЗУ, и загружается в кристалл после включения питания автоматически или принудительно:

— неограниченное число циклов загрузки,

— четыре режима загрузки.

• Производятся по 0.22-мкм КМОП-технологии с 5-слойной металлизацией на основе статического ОЗУ.

• 100%-ное фабричное тестирование.

Описание

 

Семейство FPGA Virtex™ позволяет реализовать высокопроизводи­тельные, большой емкости, цифровые устройства на одном кристалле. Рез­кое увеличение эффективности реализаций достигнуто благодаря новой архитектуре, более эффективной для размещения и трассировки элемен­тов, а также производству кристаллов на основе 0.22-мкм процесса с пя­тью слоями металлизации. Все это позволяет использовать кристаллы Virtex как альтернативу масочно-программируемым вентильным матри­цам. В состав семейства Virtex входят девять микросхем, отличающихся логической емкостью (Табл. 1).

 

Таблица 1. Основные характеристики семейства Virtex.

Прибор Системные вентили Матрица КЛБ Логические ячейки Число доступных входов-выходов Блочная память [бит]

Память на базе LUT [бит]

XCV50 57 906 16x24 1 728 180

32 768

24 576
XCV100 108 904 20x30 2 700 180

40 960

38 400
XCV150 164 676 24x36 3 888 260

49 152

55 296
XCV200 236 666 28x42 5 292 284

57 344

75 264
XCV300 322 970 32x48 6 912 316

65 536

98 304
XCV400 468 252 40x60 10 800 404

81 920

153 600
XCV600 661 111 48x72 15 552 512

98 304

221 184
XCV800 888 439 56x84 21 168 512

114 688

301 056
XCV1000 1 124 022 64x96 27 648 512

131 072

393 216
               

 

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

Быстродействие

Кристаллы Virtex обеспечивают более высокую производительность, чем предыдущие поколения FPGA. Проекты могут работать на системных частотах до 200 МГц, включая блоки ввода-вывода. Блоки ввода-вывода Virtex полностью соответствуют спецификациям PCI-шины, поэтому кри­сталл позволяет реализовывать интерфейсные схемы, работающие на час­тоте 33 МГц или 66 МГц. В дополнение к этому кристаллы Virtex удовле­творяют требованию «hot-swap» для Compact PCI.

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

В отличие от предыдущих семейств ПЛИС фирмы «Xilinx», в сериях Virtex™ и Spartan™ градация по быстродействию обозначается классом, а не задержкой на логическую ячейку. Соответственно, в семействах Virtex™ и Spartan™ чем больше класс, тем выше быстродействие.

Описание архитектуры

Матрица Virtex

Программируемая пользователем вентильная матрицу серии Virtex пока­зана на Рис. I . Соединение между КЛБ осуществляется с помощью главных трассировочных матриц — ГТМ. ГТМ — это матрица программируемых транзисторных двунаправленных переключателей, расположенных на пере­сечении горизонтальных и вертикальных линий связи. Каждый КЛБ окру­жен локальными линиями связи (VersaBlock™), которые позволяют осуще­ствить соединения с матрицей ГТМ.

 

Таблица 2. Производительность стандартных функций Virtex-6

 

Функция Разрядность [бит] Производительность

Внутрисистемная производительность

Сумматор

16 5.0 нс 64 7.2 нс

Конвейерный умножитель

8х8 5.1 нс 16х16 6.0 нс

Декодер адреса

16 4.4 нс 64 6.4 нс Мультиплексор 16:1 5.4 нс

Схема контроля по четности

9 4.1 нс 18 5.0 нс 36 6.9 нс

Versa Ring

Блоки ввода-вывода (БВВ)

Versa Ring Блочная память Матрица КЛБ Блочная память

Versa Ring

 

Versa Ring

 

DLL

Блоки ввода-вывода (БВВ)

DLL

               

 

Рис. 1. Структура архитектуры Virtex.

 

Интерфейс ввода-вывода VersaRing создает дополнительные трассиро­вочные ресурсы по периферии кристалла. Эти трассы улучшают общую «трассируемость» устройства и возможности трассировки после закрепле­ния электрических цепей к конкретным контактам.

Архитектура Virtex также включает следующие элементы, которые со­единяются с матрицей ГТМ:

• Специальные блоки памяти (BRAMs) размером 4096 бит каждый.

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

Буферы с тремя состояниями (BUFT), которые расположены вблизи каждого КЛБ и управляют горизонтальными сегментированными трассами.

Коды, записанные в ячейки статической памяти, управляют настройкой логических элементов и коммутаторами трасс, осуществляющих соединения в схеме. Эти коды загружаются в ячейки после включения пи­тания и могут перезагружаться в процессе работы, если необходимо изме­нить реализуемые микросхемой функции.

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

Основным отличительным свойством EBB семейства Virtex является поддержка широкого спектра стандартов сигналов ввода-вывода. На Рис. 2 представлена структурная схема БВВ. В Табл. 3 перечислены поддержива­емые стандарты.

 

Таблица 3. Поддерживаемые стандарты ввода-вывода.

 

Стандарт ввод/вывод Напряжение порогового уровня входных каскадов, Напряжение питания выходных каскадов, Напряжение согласования с платой, 5-В совместимость
LVTTL нет 3.3 нет да
LVCMOS2 нет 2.5 нет да
PCI, 5 A нет 3.3 нет да
PCI, 3.3 A нет 3.3 нет нет
GTL 0.8 нет 1.2 нет
GTL+ 1.0 нет 1.5 нет
HSTL Class I 0.75 1.5 0.75 нет
HSTL Class III 0.9 1.5 1.5 нет
HSTL Class IV 0.9 1.5 1.5 нет
SSTL3 Class I & II 1.5 3.3 1.5 нет
SSTL2 Class I & II 1.25 2.5 1.25 нет
CTT 1.5 3.3 1.5 нет
AGP 1.32 3.3 нет нет

 

БВВ содержит три запоминающих элемента, функционирующих либо как D-тригтеры, либо как триггеры-защелки. Каждый БВВ имеет входной сигнал синхронизации (CLK), распределенный на три триггера и незави­симые для каждого триггера сигналы разрешения тактирования (Clock Enable — СЕ).

Кроме того, на все триггеры заведен сигнал сброса/установки (Set/Reset-SR). Для каждого триггера этот сигнал может быть сконфигурирован неза­висимо, как синхронная установка (Set), синхронный сброс (Reset), асин­хронная предустановка (Preset) или асинхронный сброс (Clear).

Входные и выходные буферы, а также все управляющие сигналы в БВВ допускают независимый выбор полярности. Данное свойство не отображено на блок-схеме БВВ, но контролируется программой проектирования.

Все контакты защищены от повреждения электростатическим разрядом и от всплесков перенапряжения. Реализованы две формы защиты от перенапряжения, олдна допускает 5-В совместимость, а другая нет. Для случая 5-В совместимости, структура, подобная диоду Зенера, закорачивает на землю контакт, когда напряжение на нем возрастает приблизительно до 6.5В. В случае, когда требуется 3.3-В PCI-совместимость, обычные диоды ограничения могут подсоединяться к источнику питания выходных каскадов, . Тип защиты от перенапряжения может выбираться независимо для каждого контакта. По выбору, к каждому контакту может подключаться:

1. Резистор, соединенный с общей шиной питания (pull-down).

2. Резистор, соединенный с шиной питания (pull-up).

3. Маломощная схема удержания последнего состояния (week-keeper).

 

До начала процесса конфигурирования микросхемы все выводы, не задействованные в этом процессе, принудительно переводятся в состояние высокого импеданса. Резисторы «pull-down» и элементы «week-keeper» неактивны, а резисторы «pull-up» можно активировать.

Активация резисторов «pull-up» перед конфигурацией управляется внутренними глобальными линиями через управляющие режимные кон­такты. Если резисторы «pull-up» не активны, то выводы находятся в состо­янии неопределенного потенциала. Если в проекте необходимо иметь оп­ределенные логические уровни до начала процесса конфигурирования нужно использовать внешние резисторы.

Все БВВ микросхемы Virtex совместимы со стандартом IEEE 1149.1 периферийного сканирования.

Ввод сигнала

Входной сигнал БВВ может быть протрассирован либо непосредствен­но к блокам внутренней логики, либо через входной триггер.

Кроме того, между выходом буфера и D-входом триггера может быть подключен элемент задержки, исключающий время удержания для случая контакт-контакт. Данная задержка согласована с внутренней задержкой распределения сигнала тактирования FPGA, что гарантирует нулевое вре­мя удержания для распределения сигналов контакт-контакт.

Каждый входной буфер может быть сконфигурирован таким обра­зом, чтобы удовлетворять одному из низковольтных сигнальных стан­дартов, поддерживаемых устройством. В некоторых из этих стандартов входной буфер использует напряжение порогового уровня ( ), фор­мируемое пользователем. Использование напряжений  позволяет ввести в устройство принудительные опорные величины для различных, близких по используемым логическим уровням стандартов (см. также «Банки ввода-вывода»).

К каждому входу после окончания процесса конфигурирования могут быть, по выбору, подключены внутренние резисторы (либо pull-up, либо pull-down). Сопротивление этих резисторов лежит в пределах 50... 150 кОм.

 

Вывод сигнала

Выходной сигнал проходит через буфер с тремя состояниями, выход ко­торого соединен непосредственно с выводом микросхемы. Сигнал может быть протрассирован на вход буфера с тремя состояниями, либо непосредственно от внутренней логической структуры, либо через выходной триг­гер блока ввода-вывода.

Управление буфером с тремя состояниями также может осуществлять­ся либо непосредственно от внутренней логической структуры, либо через специальный триггер БВВ, который позволяет создать синхронное управ­ление сигналом разрешения и запрещения для буфера с тремя состояния­ми. Каждый такой выходной каскад рассчитан на втекающий ток до 48 мА и вытекающий ток до 24 мА. Программирование мощности и скорости на­растания сигнала выходного каскада позволяет минимизировать переход­ные процессы в шинах.

Для большинства сигнальных стандартов выходной уровень логичес­кой единицы зависит от приложенного извне напряжения . Использо­вание напряжения  позволяет ввести в устройство принудительные опорные величины для различных, близких по используемым логическим уровням стандартов (см. также «Банки ввода-вывода»).

По выбору, к каждому выходу может быть подключена схема «week-keeper». Если данная цепь активирована (пользователем на этапе создания схемы), то она следит за напряжением на контакте микросхемы и создает слабую нагрузку для входного сигнала, подключенную либо к «земле» (ес­ли на входе уровень логического нуля), либо к источнику питания (если на входе уровень логической единицы). Если контакт подключен к несколь­ким источникам сигнала, эта цепь удерживает уровень входного сигнала в его последнем состоянии, при условии, что все источники были переведе­ны в состояние с высоким импедансом. Поддержание таким путем одного из допустимых логических уровней позволяет ликвидировать неопреде­ленность уровня шины.

Так как схема «week-keeper» использует входной буфер для слежения за входным уровнем, то необходимо использовать подходящее значение напряжения , если выбранный сигнальный стандарт требует этого. Подключение данного напряжения должно удовлетворять требованиям правил разбиения на банки.

4.2.3. Банки ввода-вывода

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

Как показано на Рис. 3, каждая сторона кристалла микросхемы разделена на два банка. Каждый банк имеет несколько контактов , но все они должны быть подключены к одному и тому же напряжению. Это напряжение определяется выбранным для данного банка\стандартом выходных сигналов.

 

 

Рис. 3. Банки ввода-вывода Virtex

 

Стандарты для выходных сигналов конкретного банка могут быть раз­личными только в том случае, если они используют одинаковое значение напряжения . Совместимые стандарты показаны в Табл. 4. GTL и GTL+ присутствуют везде, поскольку их выходы с открытым стоком не зависят от значения .

 

Таблица 4. Выходные совместимые стандарты.

Совместимые стандарты
3.3 В PCI, LVTTL, SSTL3 I, SSTL3 II, CTT, AGP, GTL, GTL+
2.5 В SSTL2 I, SSTL2 II, LVCMOS2, GTL, GTL+
1.5 В HSTL I, HSTL III, HSTL IV, GTL, GTL+

 

 

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

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

В пределах одного банка можно одновременно использовать входы, ко­торые требуют напряжения  и входы, которые этого не требуют. В то же время, только одно значение напряжения  может быть использова­но в рамках одного банка. Входные буферы, которые используют , не совместимы с сигналами 5-В стандартов.

Контакты  и  для каждого банка приведены в таблицах и ди­аграммах под конкретный корпус и кристалл. На диаграммах также пока­зано, к какому банку относится конкретный контакт ввода-вывода.

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

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

В корпусах типа TQ-144 и PQ-240/HQ-240 все контакты  соедине­ны вместе внутри микросхемы и, следовательно, ко всем из них должно быть подключено одно и то же напряжение . В корпусе CS-144 пары банков, расположенные на одной стороне, внутренне соединены, обеспе­чивая, таким образом, возможность выбора только четырех возможных значений напряжения для . Контакты  остаются внутренне со­единенными в рамках каждого из восьми банков и могут использоваться, как было описано выше.

 

Таблица 6. Соотношение шин адреса и данных

Разрядность Глубина Шина адреса Шина данных
1 4096 ADDR<11:0> DATA<0>
2 2048 ADDR<10:0> DATA<1:0>
4 1024 ADDR<9:0> DATA<3:0>
8 512 ADDR<8:0> DATA<7:0>
16 256 ADDR<7:0> DATA<15:0>

 

Таблица 7. Инструкции периферийного сканирования

Команда Двоичный код Описание
EXTEST 00000 Разрешает операцию периферийного сканирования EXTEST
SAMPLE/PRELOAD 00001 Разрешает операцию периферийного сканирования SAMPLE/PRELOAD
USER1 00010 Доступ к определенному пользователем регистру 1
USER2 00011 Доступ к определенному пользователем регистру 2
CFG_OUT 00100 Доступ к конфигурационной шине для операций считывания
CFG_IN 00101 Доступ к конфигурационной шине для операций записи
INTEST 00111 Разрешает операцию периферийного сканирования INTEST
USERCODE 01000 Разрешает считывание пользовательского кода
IDCODE 01001 Разрешает считывание ID кода
HIGHZ 01010 Переводит выходы в третье состояние во время операции BYPASS
JSTART 01100 Активизирует вход TCK порта TAP
BYPASS 11111 Разрешает BYPASS
RESERVED Любой другой Зарезервированные инструкции

 

 

До конфигурации кристалла доступны все команды кроме USER1 и USER2. После конфигурации кристалла доступны все команды без исклю­чения. Во время конфигурации не рекомендуется использовать команды Extest, INtest и Sample/Preload.

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

На Рис. 10 показана логика периферийного сканирования кристаллов серии Virtex. Логика периферийного сканирования состоит из 3-разрядно­го регистра данных на один БВВ, контроллера порта ТАР и регистра ко­манд с декодированием.

4.6.1. Регистры данных

Первичный регистр данных является регистром периферийного скани­рования. Для каждого вывода микросхемы, связанного с программируе­мым БВВ, регистр данных ПС содержит три разряда сдвигового регистра и три разряда регистра-защелки (для входа, выхода и управления третьим состоянием). Выводы, не доступные для программирования пользовате­лем, имеют только по одному разряду в регистре данных ПС (для входа или выхода).

Другим регистром данных является регистр BYPASS. Данный регистр осуществляет синхронизацию данных, проходящих через кристалл, в сле­дующее устройство с периферийным сканированием. В кристалле имеет­ся только один такой регистр.

Кристалл семейства Virtex содержит две дополнительные внутренние цепи сканирования, которые могут быть задействованы использованием в проекте макромодуля BSCAN. Выводы SEL1 и SEL2 макромодуля BSCAN переводятся в логическую единицу при командах USER1 и USER2 соот­ветственно, задействуя эти цепи. Данные с выхода ТОО считываются вхо­дами TDO1 или TDO2 макромодуля BSCAN. Макромодуль BSCAN также имеет раздельные тактовые входы DRCK1 и DRCK2 для каждого пользо­вательского регистра ПС, общий вход TDI и общие выходы RESET, SHIFT и UPDATE, отражающие состояние контроллера порта ТАР.

4.6.2. Порядок битов регистра данных ПС

Порядок в каждом БВВ: Вход, Выход, Высокий импеданс. Только входные контакты представлены одним битом, а только выходные -всеми тремя.

Если смотреть на кристалл, как он представлен в программном обеспе­чении проектирования (модуль FPGA EDITOR), то последовательность битов в регистре данных ПС будет определяться, как на Рис. 11.

 

Бит 0 (крайний TDO) Бит 1 Бит 2
 

 


     

 

  (Крайний к TDI)

Правая половина верхнего края БВВ (справа-налево)   GCLK2 GCLK3 Левая половина верхнего края БВВ (спрва-налево)   Левый край БВВ (сверху-вниз)   М1 М0 М2 Левая половина нижнего края БВВ (слева-направо)   GCLK1 GCLK2 Правая половина нижнего края БВВ (слева-направо)    DONE PROG Правый край БВВ (снизу-вверх)    CCLK  

Рис. 11. Последовательность битов ПС.

 


Идентификационные регистры

 

Имеются два идентификационных регистра: IDCODE-регистр и USER-CODE-регистр. IDCODE позволяет определить микросхему, подсоединен­ную к JTAG-nopry.

IDCODE имеет следующий двоичный формат:

vvvv : ffff: fffa : aaaa : аааа : сссс : сссс : ссс1,

где v — код корпуса, f— код семейства кристаллов (03h для семейства Virtex), а — число строк матрицы КЛБ (от 010h для XCV50 до 040h для XCV1000), с — код компании производителя (49h для фирмы «Xilinx»)

В Табл. 8 приведены идентификационные коды (IDCODEs), присвоен­ные кристаллам серии Virtex.

Используя USERCODE, пользователь может записать и считать свой идентификационный номер для данного проекта. Пользовательский иденти­фикационный код включается в конфигурационный файл во время его созда­ния. USERCODE может быть считан только после конфигурации кристалла.

 

Таблица 8. Идентификационные коды (IDCODEs), присвоенные кристаллам серии Virtex

Кристалл IDCODE
XCV50 v0610093h
XCV100 v0614093h
XCV150 v0618093h
XCV200 v061C093h
XCV300 v0620093h
XCV400 v0628093h
XCV600 v0630093h
XCV800 v0638093h
XCV1000 v0640093h

 

Включение ПС в проект

Так как все контакты, необходимые для ПС, предопределены в каждом кристалле, то не нужно включать в проект дополнительных элементов, ес­ли не будут использоваться пользовательские регистры (USER1 и USER2). Для задействования этих регистров в проект необходимо включить эле­мент BSCAN и соединить соответствующие выводы.

5. Система проектирования

Разработка кристаллов Virtex осуществляется программным обеспече­нием проектирования Xilinx Foundation и/или Xilinx Alliance . Процесс про­ектирования включает: ввод проекта, размещение в кристалл и верификацию. Для ввода проекта могут применяться стандартные электронные САПР, таких фирм, как «Aldec», «Cadence», «Simplicity», «Mentor Graphics» или «Synopsys». Для размещения в кристалл и верифи­кации используются специализированные под архитектуру САПР, выпус­каемые только фирмой «Xilinx».

Система проектирования фирмы «Xilinx» интегрирована в управляю­щую программу, называемую Xilinx Design Manager ( XDM ), которая обеспе­чивает доступ к общему пользовательскому интерфейсу, независимо от вы­бора вида программы ввода или верификации. Программа XDM упрощает выбор настроек, необходимых для выполнения проекта, благодаря наличию разветвленного меню и легко доступной справочной системе (on-line help).

Прикладные программы, начиная от создания схемы (schematic cap­ture), до размещения и трассировки (Placement and Routing — PAR), до­ступны из программы XDM . Цепочка команд, определяющих последова­тельность обрабатывающих процессов, генерируется до начала их испол­нения и запоминается для последующего документирования.

Несколько расширенных свойств программного обеспечения облегчает проектирование микросхем Virtex. Например, схемные относительно рас­положенные макросы (Relationally Placed Macros — RPMs), в которых со­держится информация о принудительной взаимной ориентации составных частей элементов проекта, дают необходимую информацию для их реаль­ного размещения на кристалле. Они помогают обеспечить оптимальное выполнение стандартных логических функций.

Для ввода проектов с помощью языков описания аппаратных средств (Hardware Description Language — HDL), система проектирования Xilinx Foundation предоставляет интерфейсы к синтезаторам следующих фирм:

— «Synopsis» (FPGA Compiler, FPGA Express);

— «Exemplar» (Spectrum);

— «Symplicity» (Symplify).

Для схемного ввода проектов системы проектирования Xilinx Foundation и Alliance предоставляют интерфейсы к следующим системам создания схем:

Mentor Graphics V8 (Design Architect Quick Sim II);

Innoveda (Viewdraw).

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

Для упрощения взаимодействия различных САПР существует стан­дартный формат файлов (EDIF), который поддерживается всеми произво­дителями САПР.

САПР для Virtex включает унифицированную библиотеку стандартных функций. Эта библиотека содержит свыше 400 примитивов и макросов, от двухвходовых вентилей И, до 16-битовых аккумуляторов и включает арифметические функции, компараторы, счетчики, регистры данных, де­шифраторы, шифраторы, функции ввода-вывода, защелки, булевы функ­ции, мультиплексоры и сдвигающие регистры.

Часть библиотеки, содержащей детальные описания общих логических функций, реализованных в виде «нежестких» макросов (soft macro), не со­держит никакой информации о разбиении этих функций на реальные физи­ческие блоки и об их размещении в кристалле. Быстродействие данных макросов зависит, таким образом, от этих двух процедур, которые реализуют­ся на этапе размещения проекта в кристалл. В то же время относительно расположенные макросы (RPMs) содержат в себе предварительно опреде­ленную информацию о разбиении на физические блоки и о размещении, ко­торая дает возможность для оптимального выполнения этих функций. Пользователи могут создать свою собственную библиотеку «нежестких» макросов и RPM из примитивов и макросов стандартной библиотеки".

Среда проектирования поддерживает ввод иерархических проектов, в которых схемы верхнего уровня содержат основные функциональные бло­ки, в то время как системы нижнего уровня определяют логические функ­ции этих блоков. Данные элементы иерархического проекта автоматичес­ки объединяются соответствующими средствами на этапе размещения в кристалл. При иерархической реализации могут объединяться различные средства ввода проекта, давая возможность каждую из частей вводить на­иболее подходящим для нее методом.

Верификация проекта

В дополнение к обычному программному моделированию FPGA, поль­зователь может использовать метод непосредственной отладки реальных цепей. Благодаря неограниченному количеству циклов перепрограммиро­вания кристаллов FPGA, работоспособность проектов можно проверить в реальном масштабе времени, вместо того чтобы использовать большой на­бор тестовых векторов, необходимых при программном моделировании.

Система проектирования устройств Virtex поддерживает и программное моделирование и метод отладки непосредственно аппаратных цепей. Для выполнения моделирования система извлекает временную информацию, полученную после размещения из базы данных проекта, и вводит ее в сете­вой :перечень. Пользователь может и сам проверить критичные по времени части проекта, используя статический временной анализатор TRACE .

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

Режимы конфигурирования

Virtex поддерживает следующие четыре режима конфигурирования:

— подчиненный последовательный режим (Slave-serial);

— ведущий последовательный режим (Master-serial);

— режим SelectMap;

— режим периферийного сканирования (Boundary Scan — JTAG).

Комбинация кодов на специальных входных контактах (М2, Ml, М0) позволяет выбрать один из режимов конфигурирования, при этом четыре из восьми кодов соответствуют «подтянутому» (pull-up) состоянию входов блоков ввода-вывода до начала процедуры конфигурирования, и еще четы­ре комбинации состоянию неопределенного потенциала блоков ввода-вы­вода. Соответствие этих кодов необходимому режиму приведено в Табл. 9.

 

Таблица 9. Конфигурационные коды.

Режим М2 М1 М0 CCLK Разрядность данных Последовательный выход DOUT Контакты «подтянуты»
Master-serial 0 0 0 Выход 1 Есть Нет
Boundary-scan 1 0 1   1 Нет Нет
SelectMAP 1 1 0 Вход 8 Нет Нет
Slave-serial 1 1 1 Вход 1 Есть Нет
Master-serial 1 0 0 Выход 1 Есть Да
Boundary-scan 0 0 1   1 Нет Да
SelectMAP 0 1 0 Вход 8 Нет Да
Slave-serial 0 1 1 Вход 1 Есть Да

 

Конфигурирование микросхемы FPGA через порт периферийного ска­нирования доступно всегда, независимо от значения этого кода. Задание кода отключает другие режимы. Все три контакта режима конфигурирова­ния имеют внутренние «подтягивающие» резисторы и по умолчанию задают, таким образом, состояния высокого логического уровня, если отсутствуют внешние подключения.

Таблица 10. Параметры сигналов подчиненного и ведущего режимов

Параметр

Обозначение

Значение

min max Предустановка/удержание входного сигнала DIN, подчиненный режим 1/2* 5.0 нс/0 нс   Предустановка/удержание входного сигнала DIN, ведущий режим 1/2* 5.0 нс/0 нс   Задержка сигнала DOUT 3*   12 нс Длительность высокого уровня 4* 5.0 нс   Длительность низкого уровня 5* 5.0 нс   Частота     66 МГц *См. рис. 13.        

 

6.1.2. Ведущий последовательный резким

В ведущем последовательном режиме с выхода CCLK FPGA сигнал по­дается на соответствующий вход микросхемы ППЗУ, которая передает данные на DIN-вход той же микросхемы FPGA. Прием данных в FPGA осуществляется по каждому нарастающему фронту сигнала CCLK. После полного конфигурирования микросхемы, данные для следующих уст­ройств, соединенных цепочкой, появляются на выходе DOUT после каж­дого нарастающего фронта сигнала CCLK. Данные конфигурирования, по­ступающие на все микросхемы FPGA, соединенные в цепочку, обязатель­но начинаются с блока, называемого преамбулой.

Интерфейс, поддерживающий этот режим, идентичен интерфейсу под­чиненного режима, за исключением того, что для генерации синхросигна­ла конфигурирования используется внутренний осциллятор FPGA. Часто­та для этого синхросигнала может быть выбрана из широкого диапазона значений, но по умолчанию всегда используется низкая частота. Переклю­чение на более высокую частоту происходит данными, которые распозна­ются микросхемой в самом конфигурационном потоке, после чего остав­шаяся часть потока загружается уже с новой скоростью. Переключение снова на более низкую частоту запрещается. Частота синхронизации CCLK устанавливается выбором ConfigRate в программе генерации кон­фигурационного потока. Максимальная частота CCLK, которая может быть выбрана — 60 МГц. Выбирая конкретную частоту CCLK, необходи­мо убедиться, что используемые ПЗУ и все соединенные в цепочку микро­схемы FPGA рассчитаны на конфигурирование в таком темпе.

После включения питания, частота CCLK равна 2.5 МГц. Эта частота ис­пользуется до момента загрузки битов ConfigRate, после чего частота меня­ется на новое значение, определенное этими битами. Если в проекте не за­дается другая частота, то используемая по умолчанию частота равна 4 МГц.

На Рис. 12 показана полная система, содержащая кристалл в ведущем и кристалл в подчиненном режимах. В этой схеме крайнее левое устройст­во работает в ведущем последовательном режиме. Остальные устройства работают в подчиненном последовательном режиме. На вход  микросхемы ППЗУ подается сигнал с контактов  микросхемы FPGA. Аналогично, на вход  — с выхода DONE. При этом в зависимости от выбранной стартовой последовательности существует конфликт потенци­алов на контакте DONE.

Для последовательного конфигурирования микросхем FPGA необходимо использовать последовательность, изображенную в виде алгоритма на Рис. 14.

Временная диаграмма для ведущего последовательного режима показа­на на Рис. 15. Данный режим выбирается заданием кода <000> или <100> на входах М2, Ml, М0. Необходимую временную информацию для этого режима содержит Табл. 10.

Время нарастания напряжения питания  от уровня 1 В до мини­мально допустимого значения  не должно превышать 50 мс, в против­ном случае необходимо удерживать сигнал  в состоянии низко­го логического уровня до момента достижения допустимого уровня .

6.1.3. Режим SelectMAP

SelectMAP — самый быстрый режим конфигурирования. В этом режи­ме данные записываются в FPGA побайтно с использованием флага BUSY, управляющего потоком данных.

Внешний источник создаёт байтовый поток данных и сигналы CCLK, выбор кристалла (Chip Select — ), запись ( ). Если установлен высокий логический уровень сигнала BUSY, данные должны удерживать­ся до тех пор, пока BUSY не будет переведен в состояние низкого уровня.

Используя этот режим можно считать данные. Если сигнал  не установлен (т.е. находится в состоянии высокого логического уровня), кон­фигурационные данные читаются обратно из FPGA, как часть операции обратного считывания.

После окончания конфигурирования контакты порта SelectMAP могут использоваться как дополнительные пользовательские входы-выходы.

 

 

 


                             

 

 

Можно использовать этот порт для быстрого 8-битового обратного считы­вания конфигурационных данных.

Сохранение такой возможности после конфигурирования реализует­ся на этапе создания битового потока. Для сохранения такой возможно­сти необходимо использовать ограничения типа PROHIBIT, предохра­няющие контакты порта SelectMAP от использования в качестве поль­зовательских.

Несколько FPGA Virtex могут конфигурироваться в режиме SelectMAP, и далее одновременно запускаться для штатного функционирования. Для кон­фигурирования нескольких устройств таким способом, необходимо соеди­нить параллельно индивидуальные сигналы отдельных микросхем CCLK, Data,  и BUSY. Конкретные микросхемы конфигурируются по очере­ди за счет поочередной подачи активного сигнала на контакт выборки ( ) этой FPGA и записи соответствующих ей данных. В Табл. 11 представлены временные параметры сигналов режима SelectMAP.


Запись

Процедура записи посылает пакеты конфигурационных данных в FPGA. Необходимо отметить, что конфигурационный пакет можно расще­пить на несколько таких последовательностей. Пакет не должен быть за­кончен за время одной активизации сигнала , изображенной на Рис. 16.

Последовательность операций:

1. Установить сигналы  и  в состояние низкого логическо­го уровня. Отметим, что если сигнал  активизируется во время уже функционирующего сигнала CCLK, сигнал  должен оставаться неизменным. В противном случае, как описано далее, будет инициирова­но преждевременное прекращение процедуры.

 

Таблица 11. Параметры сигналов режима SelectMAP.

Параметр

Обозначение

Значение

min max Предустановка/удержание входных сигналов D0-D7 1/2* 5.0 нс/0 нс   Предустановка/удержание входного сигнала 3/4* 7.0 нс/0 нс   Предустановка/удержание входного сигнала 5/6* 7.0 нс/0 нс   Задержка распространения сигнала 7*   12.0 нс Частота     66 МГц Частота без подтверждения получения данных     50 МГц *См. рис. 16.        

 

2. Данные подать на вход D[7:0]. Отметим, что для избежания кон­фликта между данными от различных источников, информация не должна выдаваться во время, когда сигнал  имеет значение ‘0’, a  — значение ‘1’. Также нельзя активизировать больше одного CS, в то вре­мя когда сигнал WRITE имеет значение ‘1’.

3. Данные принимаются по нарастающему фронту CCLK при усло­вии, что сигнал BUSY при этом имеет значение ‘0’. В случае, если сиг­нал BUSY имел значение ‘1’ от предыдущей записи, данные не прини­маются. Данные снова будут приниматься по первому же нарастающему фронту CCLK после перехода BUSY в состояние ‘0’; при этом данные должны удерживаться до этого события.

4. Повторять шаги 2 и 3 до тех пор, пока не будут переданы все данные.

5. Перевести сигналы  и  в неактивное состояние.

Алгоритм процедуры записи показан на Рис. 17. Отметим, что если сигнал CCLK медленнее, чем , FPGA не будет выставлять сигнал BUSY, в этом случае обмен подтверждениями готовности после реального приема данных не нужен, и данные могут просто вводиться в FPGA по каждому циклу сигнала CCLK.

 

Преждевременное прекращение процедуры

После установки активного уровня сигнала , пользователь не может переключаться с записи на чтение или наоборот. В противном случае такое действие приведет к преждевременному прекращению текущей пакетной команды. Устройство будет оставаться в состоянии BUSY (занято) до тех пор, пока прерванная процедура будет завершена. После прекращения процедуры, для продолжения приема пакета, необходимо повторить пере­дачу того слова, которое было прервано не на границе слова.

Для того чтобы инициировать преждевременное прекращение проце­дуры записи, необходимо перевести сигнал  в неактивное состоя­ние. Как показано на Рис. 18, прекращение процедуры начнется с прихо­дом нарастающего фронта CCLK.

 

 

Задержка конфигурирования

Конфигурирование FPGA может быть задержано удержанием сигнала на контакте  в, состоянии низкого логического уровня до мо­мента готовности системы к конфигурированию. На протяжении фазы очистки конфигурационной памяти последовательность операций состоит из повторения цикла очистки памяти по всем адресам. Эти операции про­должаются до окончания одного полного цикла очистки памяти по всем адресам после установки сигнала на входе  в состояние ‘1’. Та­ким образом, задержка процесса конфигурирования равнозначна продол­жению фазы очистки памяти.

 

 

Таблица 12. Значения временных параметров при подаче питания.

Параметр

Значение

min max   2.0 мс   100 мкс 0.5 мкс 4.0 мкс 300 нс  

 

Другой вариант — подача от источника с открытым стоком сигнала низкого уровня на вход . Источник сигнала с открытым стоком необ­ходим потому, что контакт  — двунаправленный и работает как выход, имеющий низкий логический уровень во время фазы очистки памяти. Уве­личение времени удержания низкого логического уровня на этом контакте приводит, к тому, что конфигурационный автомат продолжает выполнять фазу очистки памяти. Таким образом, процесс конфигурирования задер­живается, не входя в фазу загрузки данных.

Обратное считывание

Конфигурационные данные, записанные в конфигурационной памяти FPGA, могут быть считаны обратно для выполнения верификации. Наряду с этими данными возможно обратное считывание содержимого всех триггеров/защелок, LUTRAMs, BlockRAMs. Эта возможность используется для выполнения отладки проектов в реальном масштабе времени.

Таблица 15. Рекомендуемые значения

Обозна-чение

Описание

Значения

Единица измерения

min max

Напряжение питания ядра при =0…+85 °C (коммерческое исполнение) 2.5 - 5% 2.5 + 5% В Напряжение питания ядра при =0…+85 °C (промышленное исполнение) 2.5 – 5% 2.5 + 5% В

Напряжение питания выходных каскадов при =0…+85 °C (коммерческое исполнение) 1.4 3.6 В Напряжение питания выходных каскадов при =0…+85 °C (промышленное исполнение) 1.4 3.6 В Время передачи входного сигнала   250 нс

 

Корпуса

В Табл. 16 приведены комбинации: кристалл Virtex — корпус, и число пользовательских выводов для каждой комбинации.

 

Таблица 16. Корпуса.

Корпус

Максимальное число пользовательских контактов

XCV50 XCV100 XCV150 XCV200 XCV300 XCV400 XCV600 XCV800 XCV1000
CS-144 94 94              
TQ-144 98 98              
PQ-240 166 166 166 166 166        
HQ-240           166 166 166  
BG-256 180 180 180 180          
BG-352     260 260 260        
BG-432         316 316 316 316  
BG-560           404 404 404 404
FG-256 176 176 176 176          
FG-456     260 284 312        
FG-676           404 444 444  
FG-680             512 512 512

 

Особенности

 

• Высокопроизводительные, большой емкости, программируемые пользователем логические интегральные схемы с архитектурой FPGA (Field Programmable Gate Arrays):

— емкость от 50К до 1М системных вентилей;

— системная производительность до 200 МГц;

— совместимы с шиной PCI 66 МГц;

— поддерживают функцию Hot-swap для Compact PCI.

• Поддержка большинства стандартов ввода-вывода (технология SelectIO™):

— 16 высокопроизводительных стандартов ввода — вывода;

— прямое подключение к ZBTRAM устройствам.

•  Встроенные цепи управления тактированием:

— четыре встроенных модуля автоподстройки задержек (DLL -delay-locked loop) для расширенного управления тактовыми сигналами как внутри кристалла, так и всего устройства;

— четыре глобальные сети распределения тактовых сигналов с малыми разбегами фронтов, плюс 24 локальные тактовые сети.

• Иерархическая система элементов памяти:

— на базе 4-входовых таблиц преобразования (4-LUT - - Look-Up Table), конфигурируемых либо как 16-битовое ОЗУ (Random Access Memory), либо как 16-разрядный сдвиговый регистр;

— встроенная блочная память, каждый блок конфигурируется как синхронное двухпортовое ОЗУ емкостью 4 Кбит;

— быстрые интерфейсы к внешнему высокопроизводительному ОЗУ.

• Гибкая архитектура с балансом быстродействия и плотности упаковки логики:

— специальная логика ускоренного переноса для высокоскоростных арифметических операций;

— специальная поддержка умножителей;

— каскадируемые цепочки для функций с большим количеством входов;

— многочисленные регистры/защелки с разрешением тактирования и синхронные/асинхронные цепи установки и сброса;

— внутренние шины с тремя состояниями;

— логика периферийного сканирования в соответствии со стандартом IEEE1149.1;

— датчик температуры кристалла.

• Проектирование осуществляется пакетами программного обеспечения Foundation ™ и Alliance Series , работающими на ПК или рабочей станции.

• Конфигурация кристалла хранится во внешнем ПЗУ, и загружается в кристалл после включения питания автоматически или принудительно:

— неограниченное число циклов загрузки,

— четыре режима загрузки.

• Производятся по 0.22-мкм КМОП-технологии с 5-слойной металлизацией на основе статического ОЗУ.

• 100%-ное фабричное тестирование.

Описание

 

Семейство FPGA Virtex™ позволяет реализовать высокопроизводи­тельные, большой емкости, цифровые устройства на одном кристалле. Рез­кое увеличение эффективности реализаций достигнуто благодаря новой архитектуре, более эффективной для размещения и трассировки элемен­тов, а также производству кристаллов на основе 0.22-мкм процесса с пя­тью слоями металлизации. Все это позволяет использовать кристаллы Virtex как альтернативу масочно-программируемым вентильным матри­цам. В состав семейства Virtex входят девять микросхем, отличающихся логической емкостью (Табл. 1).

 

Таблица 1. Основные характеристики семейства Virtex.

Прибор Системные вентили Матрица КЛБ Логические ячейки Число доступных входов-выходов Блочная память [бит]

Память на базе LUT [бит]

XCV50 57 906 16x24 1 728 180

32 768

24 576
XCV100 108 904 20x30 2 700 180

40 960

38 400
XCV150 164 676 24x36 3 888 260

49 152

55 296
XCV200 236 666 28x42 5 292 284

57 344

75 264
XCV300 322 970 32x48 6 912 316

65 536

98 304
XCV400 468 252 40x60 10 800 404

81 920

153 600
XCV600 661 111 48x72 15 552 512

98 304

221 184
XCV800 888 439 56x84 21 168 512

114 688

301 056
XCV1000 1 124 022 64x96 27 648 512

131 072

393 216
               

 

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

Обзор архитектуры семейства Virtex

 

Основными особенностями архитектуры кристаллов семейства Virtex являются гибкость и регулярность. Кристаллы состоят из матрицы КЛБ (Конфигурируемый Логический Блок), которая окружена программируе­мыми блоками ввода-вывода (БВВ). Все соединения между основными элементами (КЛБ, БВВ) осуществляются с помощью набора иерархичес­ких высокоскоростных программируемых трассировочных ресурсов. Изобилие таких ресурсов позволяет реализовывать на кристалле семейст­ва Virtex даже самые громоздкие и сложные проекты.

Кристаллы семейства Virtex производятся на основе статического ОЗУ (Static Random Access Memory — SRAM), поэтому функционирование кри­сталлов определяется загружаемыми во внутренние ячейки памяти конфи­гурационными данными. Конфигурационные данные могут загружаться в кристалл несколькими способами. В ведущем последовательном режиме (Master Serial) загрузка осуществляется из внешнего ОЗУ и полностью уп­равляется самой FPGA Virtex. В других режимах управление загрузкой осу­ществляется внешними устройствами (режимы Select-MAP™, подчинен­ный-последовательный (Slave Serial и JTAG).

Конфигурационные данные создаются пользователем при помощи программного обеспечения проектирования Xilinx Foundation и Alliance Series . Программное обеспечение включает в себя схемный и текстовый ввод, моделирование, автоматическое и ручное размещение и трассировку, создание, загрузку и верификацию загрузочных данных.

Быстродействие

Кристаллы Virtex обеспечивают более высокую производительность, чем предыдущие поколения FPGA. Проекты могут работать на системных частотах до 200 МГц, включая блоки ввода-вывода. Блоки ввода-вывода Virtex полностью соответствуют спецификациям PCI-шины, поэтому кри­сталл позволяет реализовывать интерфейсные схемы, работающие на час­тоте 33 МГц или 66 МГц. В дополнение к этому кристаллы Virtex удовле­творяют требованию «hot-swap» для Compact PCI.

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

В отличие от предыдущих семейств ПЛИС фирмы «Xilinx», в сериях Virtex™ и Spartan™ градация по быстродействию обозначается классом, а не задержкой на логическую ячейку. Соответственно, в семействах Virtex™ и Spartan™ чем больше класс, тем выше быстродействие.

Описание архитектуры

Матрица Virtex

Программируемая пользователем вентильная матрицу серии Virtex пока­зана на Рис. I . Соединение между КЛБ осуществляется с помощью главных трассировочных матриц — ГТМ. ГТМ — это матрица программируемых транзисторных двунаправленных переключателей, расположенных на пере­сечении горизонтальных и вертикальных линий связи. Каждый КЛБ окру­жен локальными линиями связи (VersaBlock™), которые позволяют осуще­ствить соединения с матрицей ГТМ.

 

Таблица 2. Производительность стандартных функций Virtex-6

 

Функция Разрядность [бит] Производительность

Внутрисистемная производительность

Сумматор

16 5.0 нс 64 7.2 нс

Конвейерный умножитель

8х8 5.1 нс 16х16 6.0 нс

Декодер адреса

16 4.4 нс 64 6.4 нс Мультиплексор 16:1 5.4 нс

Схема контроля по четности

9 4.1 нс 18 5.0 нс 36 6.9 нс

Дата: 2019-12-10, просмотров: 203.