ПЛИС Xilinx семейства Virtex™
четыре специальные глобальные сети со специально выделенными
входными контактами и связанными с ними глобальными буферами,
спроектированными для распределения сигналов синхронизации с высоким
коэффициентом разветвления и с минимальными разбегами фронтов.
Каждая такая сеть может быть нагружена на входы синхронизации всех
КЛБ, БВВ и Block RAM — блоков микросхемы. Источниками сигналов для
этих сетей могут быть только глобальные буферы. Всего имеется четыре
глобальных буфера — по одному для каждой глобальной сети.
• Вторичные глобальные трассировочные ресурсы состоят из 24
магистральных линий, 12 — вдоль верхней стороны кристалла и 12 —
вдоль нижней. По этим связям может быть распространено до 12
уникальных сигналов на колонку по 12 длинным линиям данной колонки.
Вторичные ресурсы являются более 'гибкими, чем первичные, т.к. эти
сигналы, в отличие от первичных, могут трассироваться не только до
входов синхронизации.
4.5. Распределение сигналов синхронизации
Как было описано выше, Virtex имеет высокоскоростные, с малыми
искажениями трассировочные ресурсы для распределения сигналов синхронизации
на всем пространстве микросхемы. Типичное распределение цепей синхронизации
показано на Рис. 9.
В микросхему встроено четыре глобальных буфера, два — в середине
верхней части микросхемы, два — в середине нижней части. Эти буферы через
первичные глобальные сети могут подводить сигналы синхронизации на любой
тактовый вход.
Для каждого глобального буфера имеется соответствующий, примыкающий к
нему контакт микросхемы. Сигнал на вход глобального буфера может подаваться
как с этих контактов, так и от сигналов, трассируемых ресурсами общего
назначения.
[pic]
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. Порт Test Access Port
(TAP) и регистры реализованы для выполнения команд Extest, INTEST,
Sample/Preload, Bypass, IDCODE, USERCODE и HIGHZ. Кроме того, порт ТАР
поддерживает две внутренние сканирующие цепочки и позволяет
загрузить/считать конфигурацию кристалла.
Порт ТАР использует предопределенные контакты микросхемы и LVTTL
уровни сигналов. Для того чтобы выход TDO выдавал сигналы на уровнях LVTTL,
на контакт [pic] второго банка должно быть подано напряжение 3.3 В. В
противном случае напряжение на выходе ТDО будет меняться в пределах от нуля
до [pic].
Операции периферийного сканирования не зависят от конкретных
конфигураций блоков ввода-вывода и типа корпуса. Все блоки ввода-вывода,
включая неподключенные к контактам, рассматриваются как независимые
двунаправленные контакты с тремя состояниями, в единой цепочке
сканирования. Сохранение возможности осуществлять двунаправленное
тестирование после конфигурирования облегчает тестирование внешних
межсоединений.
В Табл. 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 |Любой другой |Зарезервированные инструкции |
[pic]
До конфигурации кристалла доступны все команды кроме USER1 и USER2.
После конфигурации кристалла доступны все команды без исключения. Во время
конфигурации не рекомендуется использовать команды Extest, INtest и
Sample/Preload.
В дополнение к описанным выше тестовым командам поддерживаются
команды, позволяющие загрузить/считать конфигурацию кристалла.
На Рис. 10 показана логика периферийного сканирования кристаллов серии
Virtex. Логика периферийного сканирования состоит из 3-разрядного регистра
данных на один БВВ, контроллера порта ТАР и регистра команд с
декодированием.
4.6.1. Регистры данных
Первичный регистр данных является регистром периферийного
сканирования. Для каждого вывода микросхемы, связанного с программируемым
БВВ, регистр данных ПС содержит три разряда сдвигового регистра и три
разряда регистра-защелки (для входа, выхода и управления третьим
состоянием). Выводы, не доступные для программирования пользователем, имеют
только по одному разряду в регистре данных ПС (для входа или выхода).
Другим регистром данных является регистр BYPASS. Данный регистр
осуществляет синхронизацию данных, проходящих через кристалл, в следующее
устройство с периферийным сканированием. В кристалле имеется только один
такой регистр.
Кристалл семейства Virtex содержит две дополнительные внутренние цепи
сканирования, которые могут быть задействованы использованием в проекте
макромодуля BSCAN. Выводы SEL1 и SEL2 макромодуля BSCAN переводятся в
логическую единицу при командах USER1 и USER2 соответственно, задействуя
эти цепи. Данные с выхода ТОО считываются входами TDO1 или TDO2 макромодуля
BSCAN. Макромодуль BSCAN также имеет раздельные тактовые входы DRCK1 и
DRCK2 для каждого пользовательского регистра ПС, общий вход TDI и общие
выходы RESET, SHIFT и UPDATE, отражающие состояние контроллера порта ТАР.
4.6.2. Порядок битов регистра данных ПС
Порядок в каждом БВВ: Вход, Выход, Высокий импеданс. Только входные
контакты представлены одним битом, а только выходные -всеми тремя.
Если смотреть на кристалл, как он представлен в программном
обеспечении проектирования (модуль FPGA EDITOR), то последовательность
битов в регистре данных ПС будет определяться, как на Рис. 11.
|Бит 0 (крайний TDO)| |
| |Правая половина верхнего края БВВ (справа-налево) |
|Бит 1 | |
|Бит 2 |GCLK2 |
| |GCLK3 |
| | |
| |Левая половина верхнего края БВВ (спрва-налево) |
| | |
| | |
| |Левый край БВВ (сверху-вниз) |
| | |
| |М1 |
| |М0 |
| |М2 |
| | |
| |Левая половина нижнего края БВВ (слева-направо) |
| | |
| |GCLK1 |
| |GCLK2 |
| | |
| |Правая половина нижнего края БВВ (слева-направо) |
| | |
| |DONE |
| |PROG |
| | |
| |Правый край БВВ (снизу-вверх) |
| | |
| |CCLK |
|(Крайний к TDI) | |
Рис. 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 осуществляется программным обеспечением
проектирования Xilinx Foundation и/или Xilinx Alliance. Процесс
проектирования включает: ввод проекта, размещение в кристалл и верификацию.
Для ввода проекта могут применяться стандартные электронные САПР, таких
фирм, как «Aldec», «Cadence», «Simplicity», «Mentor Graphics» или
«Synopsys». Для размещения в кристалл и верификации используются
специализированные под архитектуру САПР, выпускаемые только фирмой
«Xilinx».
Система проектирования фирмы «Xilinx» интегрирована в управляющую
программу, называемую Xilinx Design Manager (XDM), которая обеспечивает
доступ к общему пользовательскому интерфейсу, независимо от выбора вида
программы ввода или верификации. Программа XDM упрощает выбор настроек,
необходимых для выполнения проекта, благодаря наличию разветвленного меню и
легко доступной справочной системе (on-line help).
Прикладные программы, начиная от создания схемы (schematic capture),
до размещения и трассировки (Placement and Routing — PAR), доступны из
программы XDM. Цепочка команд, определяющих последовательность
обрабатывающих процессов, генерируется до начала их исполнения и
запоминается для последующего документирования.
Несколько расширенных свойств программного обеспечения облегчает
проектирование микросхем Virtex. Например, схемные относительно
расположенные макросы (Relationally Placed Macros — RPMs), в которых
содержится информация о принудительной взаимной ориентации составных частей
элементов проекта, дают необходимую информацию для их реального размещения
на кристалле. Они помогают обеспечить оптимальное выполнение стандартных
логических функций.
Для ввода проектов с помощью языков описания аппаратных средств
(Hardware Description Language — HDL), система проектирования Xilinx
Foundation предоставляет интерфейсы к синтезаторам следующих фирм:
. «Synopsis» (FPGA Compiler, FPGA Express);
. «Exemplar» (Spectrum);
. «Symplicity» (Symplify).
Для схемного ввода проектов системы проектирования Xilinx Foundation и
Alliance предоставляют интерфейсы к следующим системам создания схем:
. Mentor Graphics V8 (Design Architect Quick Sim II);
. Innoveda (Viewdraw).
Существует множество других производителей, которые предлагают
аналогичные по функциям системы ввода проекта.
Для упрощения взаимодействия различных САПР существует стандартный формат
файлов (EDIF), который поддерживается всеми производителями САПР.
САПР для Virtex включает унифицированную библиотеку стандартных функций.
Эта библиотека содержит свыше 400 примитивов и макросов, от двухвходовых
вентилей И, до 16-битовых аккумуляторов и включает арифметические функции,
компараторы, счетчики, регистры данных, дешифраторы, шифраторы, функции
ввода-вывода, защелки, булевы функции, мультиплексоры и сдвигающие
регистры.
Часть библиотеки, содержащей детальные описания общих логических функций,
реализованных в виде «нежестких» макросов (soft macro), не содержит никакой
информации о разбиении этих функций на реальные физические блоки и об их
размещении в кристалле. Быстродействие данных макросов зависит, таким
образом, от этих двух процедур, которые реализуются на этапе размещения
проекта в кристалл. В то же время относительно расположенные макросы (RPMs)
содержат в себе предварительно определенную информацию о разбиении на
физические блоки и о размещении, которая дает возможность для оптимального
выполнения этих функций. Пользователи могут создать свою собственную
библиотеку «нежестких» макросов и RPM из примитивов и макросов стандартной
библиотеки".
Среда проектирования поддерживает ввод иерархических проектов, в которых
схемы верхнего уровня содержат основные функциональные блоки, в то время
как системы нижнего уровня определяют логические функции этих блоков.
Данные элементы иерархического проекта автоматически объединяются
соответствующими средствами на этапе размещения в кристалл. При
иерархической реализации могут объединяться различные средства ввода
проекта, давая возможность каждую из частей вводить наиболее подходящим для
нее методом.
5.1. Размещение проекта в кристалл
Программное средство размещения и трассировки (place and route — PAR)
обеспечивает автоматическое протекание процесса размещения проекта в
кристалл, которое описывается ниже. Процедура разбиения на физические блоки
получает исходную информацию о проекте в виде перечня связей формата EDIF и
осуществляет привязку абстрактных логических элементов к реальным
физическим ресурсам архитектуры FPGA (БВВ, КЛБ). Затем процедура размещения
определяет наилучшее место для их размещения, руководствуясь информацией о
межсоединениях и желаемом быстродействии. В завершении, процедура
трассировки выполняет соединения между блоками.
Алгоритмы программы PAR поддерживают автоматическое выполнение
большинства проектов. Тем не менее, в некоторых приложениях пользователь
при необходимости может осуществлять контроль и управление процессом. Ни
этапе ввода проекта пользователь может задавать свою информацию для
разбиения, размещения и трассировки.
В программное обеспечение встроено средство Timing Wizard, управляющее
процессом размещения и трассировки с учетом требований к временам
распространения сигналов. При вводе проекта пользователь задает эту
информацию в виде временных ограничений для определенных цепей. Процедуры
анализа временных параметров связей анализируют эти, заданные
пользователем, требования и пытаются удовлетворить им.
Временные требования вводятся в схему в виде непосредственных
системных ограничений, таких, как минимально допустимая частота
синхронизации, или максимально допустимая задержка между двумя регистрами.
При таком подходе результирующее быстродействие системы с учетом суммарной
протяженности путей автоматически подгоняется под требования пользователя.
Таким образом, задание временных ограничений для отдельных цепей становится
не нужным.
5.2. Верификация проекта
В дополнение к обычному программному моделированию FPGA, пользователь
может использовать метод непосредственной отладки реальных цепей. Благодаря
неограниченному количеству циклов перепрограммирования кристаллов FPGA,
работоспособность проектов можно проверить в реальном масштабе времени,
вместо того чтобы использовать большой набор тестовых векторов, необходимых
при программном моделировании.
Система проектирования устройств Virtex поддерживает и программное
моделирование и метод отладки непосредственно аппаратных цепей. Для
выполнения моделирования система извлекает временную информацию, полученную
после размещения из базы данных проекта, и вводит ее в сетевой :перечень.
Пользователь может и сам проверить критичные по времени части проекта,
используя статический временной анализатор TRACE.
Для непосредственной отладки цепей к системе проектирования
поставляется кабель для загрузки конфигурационных данных и обратного
считывания данных из микросхемы. Этот кабель соединяет персональный
компьютер или рабочую станцию с микросхемой FPGA, установленной в
законченное устройство. После загрузки проекта в FPGA, пользователь может
выполнить один шаг изменения логического состояния схемы, затем выполнить
обратное считывание состояния триггеров в компьютер и проанализировать
правильность работы схемы. Простейшие модификации проекта при этом можно
осуществлять в считанные минуты.
6. Конфигурирование кристалла в устройстве
Микросхемы Virtex конфигурируются путем загрузки конфигурационных
данных во внутреннюю конфигурационную память. Часть специальных контактов,
которые при этом используются, не могут применяться для других целей, в то
же время некоторые из них могут после завершения конфигурирования служить в
качестве контактов ввода-вывода общего назначения.
К специальным контактам конфигурирования относятся следующие:
- контакты режима конфигурирования (М2, Ml, М0);
- контакт синхронизации процесса конфигурирования (CCLK);
- контакт [pic];
- контакт DONE;
- контакты порта периферийного сканирования (TDI, ТОО,
TMS, ТСК).
В зависимости от выбранного режима конфигурирования контакт CCLK может
быть либо источником сигнала синхронизации, либо наоборот — приемником
сигнала от внешнего генератора синхросигналов.
6.1. Режимы конфигурирования
Virtex поддерживает следующие четыре режима конфигурирования:
— подчиненный последовательный режим (Slave-serial);
— ведущий последовательный режим (Master-serial);
— режим SelectMap;
— режим периферийного сканирования (Boundary Scan — JTAG).
Комбинация кодов на специальных входных контактах (М2, Ml, М0)
позволяет выбрать один из режимов конфигурирования, при этом четыре из
восьми кодов соответствуют «подтянутому» (pull-up) состоянию входов блоков
ввода-вывода до начала процедуры конфигурирования, и еще четыре комбинации
состоянию неопределенного потенциала блоков ввода-вывода. Соответствие этих
кодов необходимому режиму приведено в Табл. 9.
Таблица 9. Конфигурационные коды.
|Режим |М2 |М1 |М0 |CCLK |Разрядност|Последовательны|Контакты |
| | | | | |ь данных |й выход DOUT |«подтянуты|
| | | | | | | |» |
|Master-seria|0 |0 |0 |Выход |1 |Есть |Нет |
|l | | | | | | | |
|Boundary-sca|1 |0 |1 | |1 |Нет |Нет |
|n | | | | | | | |
|SelectMAP |1 |1 |0 |Вход |8 |Нет |Нет |
|Slave-serial|1 |1 |1 |Вход |1 |Есть |Нет |
|Master-seria|1 |0 |0 |Выход |1 |Есть |Да |
|l | | | | | | | |
|Boundary-sca|0 |0 |1 | |1 |Нет |Да |
|n | | | | | | | |
|SelectMAP |0 |1 |0 |Вход |8 |Нет |Да |
|Slave-serial|0 |1 |1 |Вход |1 |Есть |Да |
Конфигурирование микросхемы FPGA через порт периферийного сканирования
доступно всегда, независимо от значения этого кода. Задание кода отключает
другие режимы. Все три контакта режима конфигурирования имеют внутренние
«подтягивающие» резисторы и по умолчанию задают, таким образом, состояния
высокого логического уровня, если отсутствуют внешние подключения.
6.1.1. Подчиненный последовательный резким
В этом режиме FPGA принимает конфигурационные данные в
последовательной форме от последовательного ПЗУ или от другого источника
последовательных конфигурационных данных.
Данные последовательного битового потока (bitstream) должны быть
установлены на входе DIN незадолго до появления нарастающего фронта
сигнала, генерируемого внешним источником и подаваемого на вход CCLK.
Несколько микросхем FPGA могут быть соединены в цепочку для
конфигурирования от единого внешнего источника конфигурационных данных.
После того как одна из микросхем сконфигурирована, данные для следующей
появляются на выходе DOUT. Изменение данных на выходе DOUT происходит после
нарастающего фронта сигнала на входе CCLK.
Процесс стробирования данных, подаваемых на вход DIN по нарастающему
фронту CCLK, отличается от аналогичного процесса в старых семействах
микросхем FPGA, но это не приводит к возникновению проблем для смешанных
конфигурационных цепочек. Такое изменение сделано для увеличения скоростей
последовательного конфигурирования цепочек FPGA, состоящих только из
микросхем Virtex.
На Рис. 12 изображена полная схема, совмещающая подчиненные режимы и
ведущий режим. FPGA Virtex, конфигурируемые в подчиненном режиме, должны
быть подключены так же, как устройство, изображенное третьим слева.
Подчиненный последовательный режим выбирается заданием кода на
входах режима конфигурирования (М2, Ml, М0). Внутренние высокоомные
резисторы на режимных контактах «подтягивают» данные входы в состояние
высокого логического уровня и, таким образом, задают этот режим по
умолчанию, если выходы не имеют внешних подключений. На Рис. 13 изображена
временная диаграмма для данного режима.
[pic]
[pic]
В Табл. 10 содержится более подробная информация для величин,
приведенных на Рис. 13. Для FPGA, соединенных в цепочку, процесс
конфигурирования должен быть задержан до тех пор, пока на контактах [pic]
всех микросхем цепочки не появится высокий логический уровень.
Таблица 10. Параметры сигналов подчиненного и ведущего режимов
|Параметр |Обозначение |Значение |
| | |min |max |
|Предустановка/удержание входного |1/2*|[pic] |5.0 нс/0 | |
|сигнала DIN, подчиненный режим | | |нс | |
|Предустановка/удержание входного |1/2*|[pic] |5.0 нс/0 | |
|сигнала DIN, ведущий режим | | |нс | |
|Задержка сигнала DOUT |3* |[pic] | |12 нс |
|Длительность высокого уровня |4* |[pic] |5.0 нс | |
|Длительность низкого уровня |5* |[pic] |5.0 нс | |
|Частота | |[pic] | |66 МГц |
|*См. рис. 13. | | | | |
6.1.2. Ведущий последовательный резким
В ведущем последовательном режиме с выхода CCLK FPGA сигнал подается
на соответствующий вход микросхемы ППЗУ, которая передает данные на DIN-
вход той же микросхемы FPGA. Прием данных в FPGA осуществляется по каждому
нарастающему фронту сигнала CCLK. После полного конфигурирования
микросхемы, данные для следующих устройств, соединенных цепочкой,
появляются на выходе DOUT после каждого нарастающего фронта сигнала CCLK.
Данные конфигурирования, поступающие на все микросхемы FPGA, соединенные в
цепочку, обязательно начинаются с блока, называемого преамбулой.
Интерфейс, поддерживающий этот режим, идентичен интерфейсу
подчиненного режима, за исключением того, что для генерации синхросигнала
конфигурирования используется внутренний осциллятор FPGA. Частота для этого
синхросигнала может быть выбрана из широкого диапазона значений, но по
умолчанию всегда используется низкая частота. Переключение на более высокую
частоту происходит данными, которые распознаются микросхемой в самом
конфигурационном потоке, после чего оставшаяся часть потока загружается уже
с новой скоростью. Переключение снова на более низкую частоту запрещается.
Частота синхронизации CCLK устанавливается выбором ConfigRate в программе
генерации конфигурационного потока. Максимальная частота CCLK, которая
может быть выбрана — 60 МГц. Выбирая конкретную частоту CCLK, необходимо
убедиться, что используемые ПЗУ и все соединенные в цепочку микросхемы FPGA
рассчитаны на конфигурирование в таком темпе.
После включения питания, частота CCLK равна 2.5 МГц. Эта частота
используется до момента загрузки битов ConfigRate, после чего частота
меняется на новое значение, определенное этими битами. Если в проекте не
задается другая частота, то используемая по умолчанию частота равна 4 МГц.
На Рис. 12 показана полная система, содержащая кристалл в ведущем и
кристалл в подчиненном режимах. В этой схеме крайнее левое устройство
работает в ведущем последовательном режиме. Остальные устройства работают в
подчиненном последовательном режиме. На вход [pic] микросхемы ППЗУ подается
сигнал с контактов [pic] микросхемы FPGA. Аналогично, на вход [pic] — с
выхода DONE. При этом в зависимости от выбранной стартовой
последовательности существует конфликт потенциалов на контакте DONE.
Для последовательного конфигурирования микросхем FPGA необходимо
использовать последовательность, изображенную в виде алгоритма на Рис. 14.
Временная диаграмма для ведущего последовательного режима показана на
Рис. 15. Данный режим выбирается заданием кода или на входах
М2, Ml, М0. Необходимую временную информацию для этого режима содержит
Табл. 10.
Время нарастания напряжения питания [pic] от уровня 1 В до минимально
допустимого значения [pic] не должно превышать 50 мс, в противном случае
необходимо удерживать сигнал [pic] в состоянии низкого логического уровня
до момента достижения допустимого уровня [pic].
6.1.3. Режим SelectMAP
SelectMAP — самый быстрый режим конфигурирования. В этом режиме данные
записываются в FPGA побайтно с использованием флага BUSY, управляющего
потоком данных.
Внешний источник создаёт байтовый поток данных и сигналы CCLK, выбор
кристалла (Chip Select — [pic]), запись ([pic]). Если установлен высокий
логический уровень сигнала BUSY, данные должны удерживаться до тех пор,
пока BUSY не будет переведен в состояние низкого уровня.
Используя этот режим можно считать данные. Если сигнал [pic] не
установлен (т.е. находится в состоянии высокого логического уровня),
конфигурационные данные читаются обратно из FPGA, как часть операции
обратного считывания.
После окончания конфигурирования контакты порта SelectMAP могут
использоваться как дополнительные пользовательские входы-выходы.
[pic]
Можно использовать этот порт для быстрого 8-битового обратного считывания
конфигурационных данных.
Сохранение такой возможности после конфигурирования реализуется на
этапе создания битового потока. Для сохранения такой возможности необходимо
использовать ограничения типа PROHIBIT, предохраняющие контакты порта
SelectMAP от использования в качестве пользовательских.
Несколько FPGA Virtex могут конфигурироваться в режиме SelectMAP, и
далее одновременно запускаться для штатного функционирования. Для
конфигурирования нескольких устройств таким способом, необходимо соединить
параллельно индивидуальные сигналы отдельных микросхем CCLK, Data, [pic] и
BUSY. Конкретные микросхемы конфигурируются по очереди за счет поочередной
подачи активного сигнала на контакт выборки ([pic]) этой FPGA и записи
соответствующих ей данных. В Табл. 11 представлены временные параметры
сигналов режима SelectMAP.
Запись
Процедура записи посылает пакеты конфигурационных данных в FPGA.
Необходимо отметить, что конфигурационный пакет можно расщепить на
несколько таких последовательностей. Пакет не должен быть закончен за время
одной активизации сигнала [pic], изображенной на Рис. 16.
Последовательность операций:
1. Установить сигналы [pic] и [pic] в состояние низкого логического
уровня. Отметим, что если сигнал [pic] активизируется во время уже
функционирующего сигнала CCLK, сигнал [pic] должен оставаться неизменным. В
противном случае, как описано далее, будет инициировано преждевременное
прекращение процедуры.
Таблица 11. Параметры сигналов режима SelectMAP.
|Параметр |Обозначение |Значение |
| | |min |max |
|Предустановка/удержание входных |1/2*|[pic] |5.0 нс/0 | |
|сигналов D0-D7 | | |нс | |
|Предустановка/удержание входного |3/4*|[pic] |7.0 нс/0 | |
|сигнала [pic] | | |нс | |
|Предустановка/удержание входного |5/6*|[pic] |7.0 нс/0 | |
|сигнала [pic] | | |нс | |
|Задержка распространения сигнала |7* |[pic] | |12.0 нс|
|[pic] | | | | |
|Частота | |[pic] | |66 МГц |
|Частота без подтверждения | |[pic] | |50 МГц |
|получения данных | | | | |
|*См. рис. 16. | | | | |
[pic]
2. Данные подать на вход D[7:0]. Отметим, что для избежания конфликта
между данными от различных источников, информация не должна выдаваться во
время, когда сигнал [pic] имеет значение ‘0’, a [pic] — значение ‘1’. Также
нельзя активизировать больше одного CS, в то время когда сигнал WRITE имеет
значение ‘1’.
3. Данные принимаются по нарастающему фронту CCLK при условии, что
сигнал BUSY при этом имеет значение ‘0’. В случае, если сигнал BUSY имел
значение ‘1’ от предыдущей записи, данные не принимаются. Данные снова
будут приниматься по первому же нарастающему фронту CCLK после перехода
BUSY в состояние ‘0’; при этом данные должны удерживаться до этого события.
4. Повторять шаги 2 и 3 до тех пор, пока не будут переданы все данные.
5. Перевести сигналы [pic] и [pic] в неактивное состояние.
Алгоритм процедуры записи показан на Рис. 17. Отметим, что если сигнал
CCLK медленнее, чем [pic], FPGA не будет выставлять сигнал BUSY, в этом
случае обмен подтверждениями готовности после реального приема данных не
нужен, и данные могут просто вводиться в FPGA по каждому циклу сигнала
CCLK.
[pic]
Преждевременное прекращение процедуры
После установки активного уровня сигнала [pic], пользователь не может
переключаться с записи на чтение или наоборот. В противном случае такое
действие приведет к преждевременному прекращению текущей пакетной команды.
Устройство будет оставаться в состоянии BUSY (занято) до тех пор, пока
прерванная процедура будет завершена. После прекращения процедуры, для
продолжения приема пакета, необходимо повторить передачу того слова,
которое было прервано не на границе слова.
Для того чтобы инициировать преждевременное прекращение процедуры
записи, необходимо перевести сигнал [pic] в неактивное состояние. Как
показано на Рис. 18, прекращение процедуры начнется с приходом нарастающего
фронта CCLK.
[pic]
6.1.4. Использование резкима периферийного сканирования для
конфигурирования Virtex
Для конфигурирования в режиме периферийного сканирования используются
только специальные контакты порта тестового доступа (Test Access Port —
ТАР) в соответствии со стандартом IEEE 1149.1.
Конфигурирование через порт ТАР выполняется с помощью специальной
команды CFG_IN. Эта команда позволяет преобразовать входные данные,
поступающие на вход TDI, в пакет данных для внутренней шины
конфигурирования.
Для конфигурирования FPGA через порт периферийного сканирования
необходимо выполнить следующие действия:
1. Загрузить команду CFG_IN во внутренний регистр команд
(instruction register — IR).
2. Ввести состояние Shift-DR (SDR).
3. Выдать стандартный конфигурационный bitstream на TDI.
4. Возвратиться к состоянию Run-Test-Idle (RTI).
5. Загрузить в регистр IR команду JSTART.
6. Ввести состояние SDR.
7. Выдать ТСК для длины последовательности (длина
программируемая).
8. Возвратиться к состоянию RT1.
Как отмечалось ранее, конфигурирование и обратное считывание всегда
доступно в режиме периферийного сканирования. Для выборки режима необходимо
подать код или на контакты М2, Ml, М0.
6.2. Последовательность конфигурации
Конфигурирование устройств Virtex -- процесс, состоящий из трех фаз. В
первой фазе конфигурирования очищается память. Следующая фаза — загрузка
данных в конфигурационную память. Наконец, активизируется логика (фаза
Start-Up).
Обычно процесс конфигурирования запускается автоматически после подачи
напряжения питания, однако, как будет описано далее, он может быть задержан
пользователем. Конфигурационный процесс может также быть инициирован
установкой активного уровня сигнала [pic]. Переход сигнала [pic] в
состояние ‘1’ означает окончание фазы очистки памяти, а установка активного
уровня сигнала DONE (‘1’) означает окончание процесса в целом.
Временная диаграмма для конфигурационных сигналов после подачи
напряжения питания показана на Рис. 19, а соответствующие временные
характеристики — в Табл. 12.
6.2.1. Задержка конфигурирования
Конфигурирование FPGA может быть задержано удержанием сигнала на
контакте [pic] в, состоянии низкого логического уровня до момента
готовности системы к конфигурированию. На протяжении фазы очистки
конфигурационной памяти последовательность операций состоит из повторения
цикла очистки памяти по всем адресам. Эти операции продолжаются до
окончания одного полного цикла очистки памяти по всем адресам после
установки сигнала на входе [pic] в состояние ‘1’. Таким образом, задержка
процесса конфигурирования равнозначна продолжению фазы очистки памяти.
[pic]
Таблица 12. Значения временных параметров при подаче питания.
|Параметр |Значение |
| |min |max |
|[pic] | |2.0 мс |
|[pic] | |100 мкс |
|[pic] |0.5 мкс |4.0 мкс |
|[pic] |300 нс | |
Другой вариант — подача от источника с открытым стоком сигнала низкого
уровня на вход [pic]. Источник сигнала с открытым стоком необходим потому,
что контакт [pic] — двунаправленный и работает как выход, имеющий низкий
логический уровень во время фазы очистки памяти. Увеличение времени
удержания низкого логического уровня на этом контакте приводит, к тому, что
конфигурационный автомат продолжает выполнять фазу очистки памяти. Таким
образом, процесс конфигурирования задерживается, не входя в фазу загрузки
данных.
6.2.2. Последовательность вхождения в штатный режим работы
При выполнении вхождения в штатный режим работы по умолчанию
глобальный сигнал управления третьим состоянием (global tristate - GTS)
активизируется через один цикл CCLK после перехода сигнала DONE в состояние
‘1’. Это позволяет выходам FPGA включиться надлежащим образом.
Одним циклом CCLK позже активизируются сигнал глобальной
установки/сброса (Global Set/Reset — GSR) и глобального разрешения записи
(Global Write 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 по постоянному току
|Обозна-|Описание |Значение |Единица |
|чение | | |измерения |
|[pic] |Напряжение питания ядра относительно GND |-0.5…3.0 |В |
|[pic] |Напряжение питания выходных каскадов |-0.5…4.0 |В |
| |относительно GND | | |
|[pic] |Входное опорное напряжение |-0.5…3.6 |В |
|[pic] |Напряжение входного |Используя [pic] |-0.5…3.6 |В |
| |сиг-нала относительно | | | |
| |GND | | | |
| | |Не используя |-0.5…5.5 |В |
| | |[pic] | | |
|[pic] |Напряжение, прикладываемое к 3-стабильному|-0.5…5.5 |В |
| |выходу | | |
|[pic] |Максимальное время нарастания напряжения |50 |мс |
| |питания от 1 до 2.375 В | | |
|[pic] |Температура хранения (окружающей среды) |-65…+150 |°C |
|[pic] |Максимальная температура припоя |+260 |°C |
|[pic] |Максимальная рабочая температура контактов|+125 |°C |
Внимание! Превышение максимальных значений ведет к повреждению
кристалла.
В Табл. 15 приведены рекомендуемые значения параметров микросхем
семейства Virtex по постоянному току.
Таблица 15. Рекомендуемые значения
|Обозна-|Описание |Значения |Единица |
|чение | | |измерения|
| | |min |max | |
|[pic] |Напряжение питания ядра при |2.5 - 5%|2.5 + |В |
| |[pic]=0…+85 °C (коммерческое | |5% | |
| |исполнение) | | | |
| |Напряжение питания ядра при |2.5 – 5%|2.5 + |В |
| |[pic]=0…+85 °C (промышленное | |5% | |
| |исполнение) | | | |
|[pic] |Напряжение питания выходных |1.4 |3.6 |В |
| |каскадов при [pic]=0…+85 °C | | | |
| |(коммерческое исполнение) | | | |
| |Напряжение питания выходных |1.4 |3.6 |В |
| |каскадов при [pic]=0…+85 °C | | | |
| |(промышленное исполнение) | | | |
|[pic] |Время передачи входного сигнала | |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.
[pic]
-----------------------
Да
Задержка конфигурации
Конфигурация при включении питания
Конфигурация, инициированная пользователем
[pic],
Банк 2 > 1.0В
Подача сигнала логического ‘0’ на [pic]
FPGA переводит в логический ‘0’ [pic] и DONE
Очистка конфигурационной памяти
[pic]
удерживается в логическом ‘0’
[pic]=’0’
FPGA опрашивает режимные контакты
Загрузка конфигурационных данных
Контрольная сумма совпадает?
Загрузка конфигурационных данных
Фаза Start-up. FPGA переводит в логическую ‘1’ DONE, активирует БВВ,
производит глобальный сброс/установку триггеров
Выполнение запрограммированных функций
Нет
Да
Нет
Нет
Нет
Да
Рис. 14. Алгоритм конфигурирования микросхем Virtex в последовательных
режимах
Страницы: 1, 2
|