Реферат: ПЛИС 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 v0640093h4.6.4.Включение ПС в проект
Так как все контакты, необходимые для ПС,предопределены в каждом кристалле, то не нужно включать в проект дополнительныхэлементов, если не будут использоваться пользовательские регистры (USER1 и USER2).Для задействования этих регистров в проект необходимо включить элемент BSCAN исоединить соответствующие выводы.
5.Система проектирования
Разработка кристаллов Virtexосуществляется программным обеспечением проектирования XilinxFoundationи/илиXilinxAlliance. Процесспроектирования включает: ввод проекта, размещение в кристалл и верификацию.Для ввода проекта могут применяться стандартные электронные САПР, таких фирм,как «Aldec», «Cadence», «Simplicity», «MentorGraphics» или «Synopsys».Для размещения в кристалл и верификации используются специализированные подархитектуру САПР, выпускаемые только фирмой «Xilinx».
Система проектирования фирмы «Xilinx»интегрирована в управляющую программу, называемую XilinxDesignManager(XDM), котораяобеспечивает доступ к общему пользовательскому интерфейсу, независимо от выборавида программы ввода или верификации. Программа XDMупрощаетвыбор настроек, необходимых для выполнения проекта, благодаря наличиюразветвленного меню и легко доступной справочной системе (on-linehelp).
Прикладные программы, начиная от созданиясхемы (schematic capture),до размещения и трассировки (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 7447. Обратноесчитывание
Конфигурационные данные, записанные вконфигурационной памяти 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 51210.Обозначение микросхем семейства Virtex
Способобозначения микросхем семейства Virtexпоказан на Рис. 20.
/>