Реферат: ПЛИС Xilinx семейства Virtex™

ПЛИСсемейства Virtex

 

1.Особенности

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

 

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

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

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

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

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

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

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

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

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

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

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

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

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

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


2.Описание

Семейство FPGAVirtex™ позволяет реализовать высокопроизводи­тельные,большой емкости, цифровые устройства на одном кристалле. Рез­кое увеличениеэффективности реализаций достигнуто благодаря новой архитектуре, болееэффективной для размещения и трассировки элемен­тов, а также производствукристаллов на основе 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предоставляет разработчику широ­кие возможности реализации быстродействующих,большой логической ем­кости цифровых устройств, при значительном снижениивремени разработки.

 

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

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

Кристаллы семейства Virtexпроизводятся на основе статического ОЗУ (StaticRandom AccessMemory — SRAM),поэтому функционирование кри­сталлов определяется загружаемыми во внутренниеячейки памяти конфи­гурационными данными. Конфигурационные данные могутзагружаться в кристалл несколькими способами. В ведущемпоследовательном режиме (MasterSerial) загрузка осуществляется из внешнегоОЗУ и полностью уп­равляется самой FPGAVirtex. В других режимах управление загрузкойосу­ществляется внешними устройствами (режимы Select-MAP™,подчинен­ный-последовательный (SlaveSerial и JTAG).

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

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

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

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

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

 

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

 

4.1.Матрица 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 нс Системная производительность Стандарт HSTL Class IV 200МГц Стандарт LVTTL 180МГц DLL Блоки ввода-вывода (БВВ) DLL Блоки ввода-вывода (БВВ) Versa Ring Блоки ввода-вывода (БВВ) Versa Ring Блочная память Матрица КЛБ Блочная память Versa Ring Versa Ring DLL Блоки ввода-вывода (БВВ) DLL /> /> /> /> /> /> /> />

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

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

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

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

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

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

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

 

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

Основным отличительным свойством 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),распределенный на три триггера и незави­симые для каждого триггера сигналыразрешения тактирования (ClockEnable — СЕ).

Кроме того, на все триггеры заведен сигналсброса/установки (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совместимы со стандартом IEEE1149.1 периферийного сканирования.

 

4.2.1.Ввод сигнала

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

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

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

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

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

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

Управление буфером с тремя состояниями такжеможет осуществлять­ся либо непосредственно от внутренней логической структуры,либо через специальный триггер БВВ, который позволяет создать синхронное управ­лениесигналом разрешения и запрещения для буфера с тремя состояния­ми. Каждый такойвыходной каскад рассчитан на втекающий ток до 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пары банков, расположенные на одной стороне, внутренне соединены, обеспе­чивая,таким образом, возможность выбора только четырех возможных значений напряжениядля />. Контакты /> остаются внутренне со­единеннымив рамках каждого из восьми банков и могут использоваться, как было описановыше.

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

Базовым элементом КЛБ является логическаяячейка — ЛЯ (Logic Cell — LC).ЛЯ состоит из 4-входового функционального генератора, ло­гики ускоренногопереноса и запоминающего элемента. Выход каждого функционального генераторакаждой логической ячейки подсоединен к выходу КЛБ и к D-входутриггера. Каждый КЛБ серии Virtexсодержит че­тыре логические ячейки, организованные в виде двух одинаковыхсекций (Рис. 4). На Рис. 5 представлено детальное изображениеодной секции.

/>

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

/>

4.3.1.  Таблицапреобразования

Функциональные генераторы реализованы в виде4-входовых таблиц преобразования (Look-UpTable — LUT).Кроме использования в качестве функциональных генераторов, каждый LUT-элементможет быть также ис­пользован как синхронное ОЗУ размерностью 16х1 бит. Болеетого, из двух LUT-элементов в рамках однойсекции можно реализовать синхрон­ное ОЗУ размерностью 16х2 бита или 32х1 бит,либо двухпортовое син­хронное ОЗУ размерностью 16х1 бит.

На LUT-элементемикросхемы Virtex может быть реализован16-раз­рядный сдвиговый регистр, который идеально подходит для захвата высо­коскоростныхили пакетных потоков данных. Этот режим может также ис­пользоваться длязапоминания данных в приложениях цифровой обработ­ки сигналов.

 

4.3.2.  Запоминающиеэлементы

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

Кроме сигналов синхронизации (Clock) иразрешения синхрониза­ции (ClockEnable — СЕ) в каждой секции КЛБ есть сигналысинхрон­ной установки (Set) исброса (Reset). Обозначение этих сигналов— SR и BYсоответственно. Сигнал SRпереводит запоминающий элемент в состояние, определенное для него вконфигурационных данных, а сиг­нал BY — впротивоположное состояние. Эти же сигналы могут быть использованы также в качествеасинхронной предустановки (Preset) иочистки (Clear). Все сигналы управлениямогут быть независимо про-инвертированы. Они подаются на оба триггера в рамкахконкретной секции КЛБ.

 

4.3.3.Дополнительная логика

Дополнительная логика, входящая в каждый КЛБ,представлена двумя мультиплексорами: F5 и F6.

На вход мультиплексора F5подаются сигналы с выходов функциональных генераторов данной секции КЛБ. Этотузел может работать как функциональ­ный генератор, реализующий любую 5-входовуюфункцию, либо как мульти­плексор 4:1, либо как некоторая функция от девятивходных переменных.

Аналогично, мультиплексор F6объединяет выходы всех четырех функ­циональных генераторов КЛБ, используя одиниз выходов мультиплексора F5.Это позволяет реализовать либо любую 6-входовую функцию, либо мультиплексор8:1, либо некоторую функцию до 19 переменных.

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

 

4.3.4.  Арифметическаялогика

Каждая ЛЯ содержит специальную логикуускоренного переноса, кото­рая обеспечивает наилучшую реализацию на ПЛИСразличных арифмети­ческих функций. КЛБ содержит две отдельные цепи переноса —по одной на каждую секцию. Размерность цепи переноса — два бита на КЛБ.

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

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

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

 

4.3.5.  Буферыс тремя состояниями

Каждый КЛБ Virtexсодержит два буфера с тремя состояниями, кото­рые нагружены на внутренние шины(см. также п. 4.4.4 «Специальные трассировочные ресурсы»). Каждый буфер BUFTимеет независимый вход управления с третьим состоянием и независимый входнойконтакт.

4.3.6.  Блочнаяпамять (BlockRAM)

В FPGAVirtex встроена особая блочная память (BlockSelect RAM)большой емкости. Она создана в дополнение к распределенной памяти не­большойемкости (Select RAM),реализованной на таблицах преобразова­ния (LookUp TableRAM — LUTRAM).

Блоки памяти BlockSelect RAM+организованы в виде столбцов. Все устройства Virtexсодержат два таких столбца, по одному вдоль каждой вертикальной стороныкристалла. Эти колонки увеличивают полный раз­мер кристалла. Каждый блок памятиравен по высоте четырем КЛБ, таким образом, микросхема Virtex,имеющая 64 КЛБ по высоте, содержит 1-6 бло­ков памяти на колонку и 32 блокапамяти в целом. В Табл. 5 приводятся ем­кости блочной памяти дляразличных кристаллов Virtex.

Таблица 5. Емкость блочнойпамяти.

Кристалл Virtex Число блоков Общий объем блочной памяти [бит] XCV50 8 32 768 XCV100 10 40 960 XCV150 12 49 152 XCV200 14 57 344 XCV300 16 65 536 XCV400 20 81 920 XCV600 24 98 304 XCV800 28 114 688 XCV1000 32 131 072

Каждый блок памяти, как показано на Рис.6, это полностью синхронное двухпортовое ОЗУ с независимым управлением длякаждого порта. Размер­ность шины данных для обоих портов может бытьсконфигурирована незави­симо, что позволяет создавать преобразователиразмерности шины. В Табл. 6 показаны возможные соотношения размерностейшин данных и адреса.

В кристаллах Virtexсозданы специальные трассировочные ресурсы для связи блочной памяти с блокамиКЛБ и другими блоками памяти.

/>

Таблица 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>

 

4.4.Программируемая трассировочная матрица

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

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

 

4.4.1.Локальные связи

Как показано на Рис. 7, в кристалле Virtexсозданы локальные трасси­ровочные ресурсы, называемые VersaBlock.Они позволяют реализовать три типа соединений:

1.   Связимежду таблицами преобразования (LUT),триггерами и глав­ной трассировочной матрицей (ГТМ).

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

3.         Прямыетрассы, которые создают высокоскоростные соединения с соседними по горизонталиКЛБ, избегая при этом больших задержек, при­сущих трассам ГТМ.

/>

4.4.2.Трассировочные ресурсы общего назначения

Большинство связей в кристаллах Virtexреализуются с помощью трас­сировочных ресурсов общего назначения, и,следовательно, большая часть ресурсов межсоединений связана с этим типомтрассировочной иерархии. Трассировочные ресурсы общего назначения расположены ввиде горизон­тальных и вертикальных трассировочных каналов и размещены внепосредственной близости от строк и столбцов матрицы, образованной блока­миКЛБ. Ниже перечислены эти ресурсы:

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

• ГТМ связана в каждом изчетырех направлений с соседней ГТМ посредством 24 трасс одинарной длины.

• 96 буферизованных НЕХ-линийтрассируют сигналы ГТМ к шести другим ГТМ в каждом из четырех направлений.НЕХ-линии органи­зованы в виде зигзагообразных линий. НЕХ-линии могут подклю­чатьсяк источникам сигнала только в своих конечных точках или се­рединных (три блокаот источника). Одна третья часть НЕХ-линий является двунаправленными, в товремя как остальные — однона­правленные.

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

 

4.4.3. Трассировочные ресурсы для блоков ввода-вывода

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

 

4.4.4. Специальные трассировочные ресурсы

Некоторые классы сигналов требуют наличияспециальных трассиро­вочных ресурсов для получения максимальногобыстродействия. В уст­ройстве Virtexспециальные трассировочные ресурсы создавались для двух классов сигналов:

• Горизонтальные трассировочныересурсы создавались для реализа­ции микросхеме шин с тремя состояниями. Четыреразделенные ли­нии шин реализованы для каждой строки КЛБ, позволяя организовы­ватьсразу несколько шин в пределах одной строки (Рис. 8).

Двеспециальные линии для распространения сигналов быстрого пе­реноса кприлегающему КЛБ в вертикальном направлении.

/>

4.4.5.Глобальные трассировочные ресурсы

Глобальные трассировочные ресурсыраспределяют тактовые сигналы и другие сигналы с большим коэффициентомразветвления по выходу на всем пространстве кристалла. Кристалл Virtexимеет два типа глобальных трасси­ровочных ресурсовтназываемых соответственнопервичными и вторичными:

• Первичные глобальныетрассировочные ресурсы представляют со­бой четыре специальные глобальные сетисо специально выделенными входными контактами и связанными с ними глобальнымибуферами, спроектированными для распределения сигналов синхронизации с высокимкоэффициентом разветвления и с минимальными разбегами фронтов. Каждая такаясеть может быть нагружена на входы синхро­низации всех КЛБ, БВВ и BlockRAM — блоков микросхемы. Исто­чниками сигналовдля этих сетей могут быть только глобальные бу­феры. Всего имеется четыреглобальных буфера — по одному для каждой глобальной сети.

•  Вторичные глобальные трассировочныересурсы состоят из 24 маги­стральных линий, 12 — вдоль верхней стороныкристалла и 12 — вдоль нижней.  По этим связям может быть распространено до 12уникальных сигналов на колонку по 12 длинным линиям данной колонки. Вторичныересурсы являются более 'гибкими, чем пер­вичные, т.к. эти сигналы, в отличие отпервичных, могут трассиро­ваться не только до входов синхронизации.

4.5.Распределение сигналов синхронизации

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

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

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

/>

4.5.1.Модули автоподстройки задержки (DLL)

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

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

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

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

 

4.6.Периферийное сканирование (ПС)

Микросхемы Virtexподдерживают команды периферийного сканирова­ния, приведенные в спецификациистандарта IEЕЕ 1149.1. Порт TestAccess Port (TAP) ирегистры реализованы для выполнения команд Extest, INTEST, Sample/Preload, Bypass, IDCODE, USERCODE и HIGHZ.Кроме того, порт ТАР поддерживает две внутренние сканирующие цепочки и поз­воляетзагрузить/считать конфигурацию кристалла.

Порт ТАР использует предопределенные контактымикросхемы и LVTTL уровни сигналов. Для тогочтобы выход TDO выдавал сигналы на уровнях LVTTL, наконтакт /> второго банка должно бытьподано на­пряжение 3.3 В. В противном случае напряжение на выходе ТDОбудет ме­няться в пределах от нуля до />.

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

В Табл. 7 приведены командыпериферийного сканирования, поддержи­ваемые кристаллами Virtex.Внутренние сигналы могут быть проанализи­рованы в процессе выполнения команды Extestпосредством подключения их к неиспользуемым выходам блоков ввода-вывода, либо кблокам ввода-вывода, не присоединенным к контактам. Они могут быть такжеподсоеди­нены к неиспользуемым выходам блоков ввода-вывода, которые определе­ныкак однонаправленные входные контакты.

Таблица 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. Порядок битов регистра данных ПС

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

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

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

Бит 2

/>


     

       (Крайний к TDI)

/>   Правая половина верхнего края БВВ (справа-налево)

  GCLK2

  GCLK3

/>


   Левая половина верхнего края БВВ (спрва-налево)

/>


   Левый край БВВ (сверху-вниз)

   М1

   М0

   М2

/>


   Левая половина нижнего края БВВ (слева-направо)

   GCLK1

   GCLK2

/>


   Правая половина нижнего края БВВ (слева-направо)

  

    DONE

    PROG

/>


   Правый край БВВ (снизу-вверх)

  

    CCLK  

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

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

Имеются два идентификационных регистра: 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

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

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

 

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

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

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

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

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

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

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

— «Exemplar» (Spectrum);

— «Symplicity» (Symplify).

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

— Mentor Graphics V8 (DesignArchitect Quick Sim II);

—  Innoveda(Viewdraw).

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

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

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

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

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

 

5.1.Размещение проекта в кристалл

Программное средство размещения и трассировки(place androute — PAR) обеспечиваетавтоматическое протекание процесса размещения проекта в кристалл, котороеописывается ниже. Процедура разбиения на физические блоки получает исходнуюинформацию о проекте в виде перечня связей фор­мата EDIF иосуществляет привязку абстрактных логических элементов к ре­альным физическимресурсам архитектуры FPGA(БВВ, КЛБ). Затем проце­дура размещения определяет наилучшее место для ихразмещения, руковод­ствуясь информацией о межсоединениях и желаемомбыстродействии. В за­вершении, процедура трассировки выполняет соединения междублоками.

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

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

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

 

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

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

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

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

 

6.Конфигурирование кристалла в устройстве

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

К специальным контактам конфигурированияотносятся следующие:

-    контактырежима конфигурирования (М2, Ml,М0);

-    контактсинхронизации процесса конфигурирования (CCLK);

-    контакт/>;

-    контактDONE;

-    контакты  порта   периферийного   сканирования   (TDI,  ТОО,

TMS, ТСК).

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

 

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

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

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

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

— режим SelectMap;

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

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

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

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

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

 

6.1.1.Подчиненный последовательный резким

В этом режиме FPGAпринимает конфигурационные данные в последо­вательной форме отпоследовательного ПЗУ или от другого источника по­следовательныхконфигурационных данных.

Данные последовательного битового потока (bitstream)должны быть установлены на входе DINнезадолго до появления нарастающего фронта сигнала, генерируемого внешнимисточником и подаваемого на вход CCLK.

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

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

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

Подчиненный последовательный режим выбираетсязаданием кода <111> на входах режима конфигурирования (М2, Ml,М0). Внутрен­ние высокоомные резисторы на режимных контактах «подтягивают»данные входы в состояние высокого логического уровня и, таким об­разом, задаютэтот режим по умолчанию, если выходы не имеют внешних подключений. На Рис.13 изображена временная диаграмма для данного режима.

/>

/>

В Табл. 10 содержится более подробнаяинформация для величин, при­веденных на Рис. 13. Для 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.Ведущий последовательный резким

В ведущем последовательном режиме с выхода CCLKFPGA сигнал по­дается на соответствующийвход микросхемы ППЗУ, которая передает данные на 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, выбор кристалла (ChipSelect — />),запись (/>). Если установлен высокийлогический уровень сигнала BUSY,данные должны удерживать­ся до тех пор, пока BUSY небудет переведен в состояние низкого уровня.

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

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

/>


                             

/>

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

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

Несколько FPGAVirtex могут конфигурироваться в режиме 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.

/>

6.1.4.Использование резкима периферийного сканирования для конфигурирования Virtex

Для конфигурирования в режиме периферийногосканирования исполь­зуются только специальные контакты порта тестового доступа(Test AccessPort — ТАР) в соответствии со стандартом IEEE1149.1.

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

Для конфигурирования FPGAчерез порт периферийного сканирования необходимо выполнить следующие действия:

1.Загрузить   команду  CFG_IN  во   внутренний   регистр   команд (instructionregister — IR).

2.Ввести состояние Shift-DR (SDR).

3.Выдать стандартный конфигурационный bitstream на TDI.

4.Возвратиться к состоянию Run-Test-Idle (RTI).

5.Загрузить в регистр IR команду JSTART.

6.Ввести состояние SDR.

7.Выдать   ТСК   для   длины   последовательности   (длина программируемая).

8.Возвратиться к состоянию RT1.

Как отмечалось ранее, конфигурирование иобратное считывание все­гда доступно в режиме периферийного сканирования. Длявыборки режи­ма необходимо подать код <101> или <001> на контактыМ2, Ml, М0.

 

6.2.Последовательность конфигурации

Конфигурирование устройств Virtex — процесс, состоящий из трех фаз. В первой фазе конфигурирования очищаетсяпамять. Следующая фа­за — загрузка данных в конфигурационную память. Наконец,активизиру­ется логика (фаза Start-Up).

Обычно процесс конфигурирования запускаетсяавтоматически после подачи напряжения питания, однако, как будет описано далее,он может быть задержан пользователем. Конфигурационный процесс может также бытьинициирован установкой активного уровня сигнала />.Пе­реход сигнала /> в состояние ‘1’означает окончание фазы очистки па­мяти, а установка активного уровня сигнала DONE(‘1’) означает оконча­ние процесса в целом.

Временная диаграмма для конфигурационныхсигналов после подачи напряжения питания показана на Рис. 19, асоответствующие временные характеристики — в Табл. 12.

 

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

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

/>

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

Параметр Значение min max

/>

2.0 мс

/>

100 мкс

/>

0.5 мкс 4.0 мкс

/>

300 нс

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

 

6.2.2.Последовательность вхождения в штатный режим работы

При выполнении вхождения в штатный режимработы по умолчанию глобальный сигнал управления третьим состоянием (globaltristate — GTS)активизируется через один цикл CCLKпосле перехода сигнала DONE всостояние ‘1’. Это позволяет выходам FPGAвключиться надле­жащим образом.

Одним циклом CCLKпозже активизируются сигнал глобальной уста­новки/сброса (GlobalSet/Reset — GSR) иглобального разрешения записи (GlobalWrite Enable — GWE).Это создает условия для начала нормальной работы внутренних запоминающихэлементов.

Временная диаграмма для этих событий можетбыть изменена. Кроме того, события GTS, GSR и GWEмогут активизироваться после перехода всех выходов DONE ввысокое состояние при конфигурировании множе­ственных устройств FPGA, чтопозволяет начинать их работу в штатном режиме синхронно. Во время выполненияпоследовательности допускает­ся включение на любой фазе паузы до моментанормального захвата сле­дящей системы схемы автоподстройки задержки (DLL).

 

6.3.Формат потока конфигурационных данных

Кристаллы Virtexконфигурируются последовательной загрузкой в них фреймов данных, которыеобъединены в двоичный поток (bitstream). ВТабл. 13 представлены объемы конфигурационной последовательности длякристаллов Virtex.

Таблица13. Размер конфигурационной последовательности для различных микросхемсемейства Virtex

Кристалл Конфигурационные биты XCV50 559 200 XCV100 781 216 XCV150 1 040 096 XCV200 1 335 840 XCV300 1 751 808 XCV400 2 546 048 XCV600 3 607 968 XCV800 4 715 616 XCV1000 6 127 744

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

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


8. Характеристикимикросхем семейства Virtexпопостоянному току

В Табл. 14 приведены максимальнодопустимые значения параметров микросхем семейства Virtex попостоянному току.

Таблица14. Диапазон максимально допустимых значений параметров микросхем семейства Virtex по постоянному току

Обозна-чение Описание Значение Единица измерения

/>

Напряжение питания ядра относительно GND -0.5…3.0 В

/>

Напряжение питания выходных каскадов относительно GND -0.5…4.0 В

/>

Входное опорное напряжение -0.5…3.6 В

/>

Напряжение входного сиг-нала относительно GND

Используя />

-0.5…3.6 В

Не используя />

-0.5…5.5 В

/>

Напряжение, прикладываемое к 3-стабильному выходу -0.5…5.5 В

/>

Максимальное время нарастания напряжения питания от 1 до 2.375 В 50 мс

/>

Температура хранения (окружающей среды) -65…+150 °C

/>

Максимальная температура припоя +260 °C

/>

Максимальная рабочая температура контактов +125 °C

Внимание! Превышениемаксимальных значений ведет к повреждению кристалла.

В Табл. 15 приведены рекомендуемыезначения параметров микросхем семейства Virtex попостоянному току.

Таблица 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 нс

9.Корпуса

В Табл. 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

10.Обозначение микросхем семейства Virtex

Способобозначения микросхем семейства Virtexпоказан на Рис. 20.

/>

еще рефераты
Еще работы по радиоэлектронике