ref-14924 (722082), страница 7
Текст из файла (страница 7)
Сохранение такой возможности после конфигурирования реализуется на этапе создания битового потока. Для сохранения такой возможности необходимо использовать ограничения типа PROHIBIT, предохраняющие контакты порта SelectMAP от использования в качестве пользовательских.
Несколько FPGA Virtex могут конфигурироваться в режиме SelectMAP, и далее одновременно запускаться для штатного функционирования. Для конфигурирования нескольких устройств таким способом, необходимо соединить параллельно индивидуальные сигналы отдельных микросхем CCLK, Data,
и BUSY. Конкретные микросхемы конфигурируются по очереди за счет поочередной подачи активного сигнала на контакт выборки (
) этой FPGA и записи соответствующих ей данных. В Табл. 11 представлены временные параметры сигналов режима SelectMAP.
Запись
Процедура записи посылает пакеты конфигурационных данных в FPGA. Необходимо отметить, что конфигурационный пакет можно расщепить на несколько таких последовательностей. Пакет не должен быть закончен за время одной активизации сигнала
, изображенной на Рис. 16.
Последовательность операций:
1. Установить сигналы
и
в состояние низкого логического уровня. Отметим, что если сигнал
активизируется во время уже функционирующего сигнала CCLK, сигнал
должен оставаться неизменным. В противном случае, как описано далее, будет инициировано преждевременное прекращение процедуры.
Таблица 11. Параметры сигналов режима SelectMAP.
Параметр | Обозначение | Значение | ||
| min | max | |||
| Предустановка/удержание входных сигналов D0-D7 | 1/2* | 5.0 нс/0 нс | ||
| 3/4* | 7.0 нс/0 нс | |||
| 5/6* | 7.0 нс/0 нс | |||
| 7* | 12.0 нс | |||
| Частота | 66 МГц | |||
| Частота без подтверждения получения данных | 50 МГц | |||
| *См. рис. 16. | ||||
2. Данные подать на вход D[7:0]. Отметим, что для избежания конфликта между данными от различных источников, информация не должна выдаваться во время, когда сигнал
имеет значение ‘0’, a
— значение ‘1’. Также нельзя активизировать больше одного CS, в то время когда сигнал WRITE имеет значение ‘1’.
3. Данные принимаются по нарастающему фронту CCLK при условии, что сигнал BUSY при этом имеет значение ‘0’. В случае, если сигнал BUSY имел значение ‘1’ от предыдущей записи, данные не принимаются. Данные снова будут приниматься по первому же нарастающему фронту CCLK после перехода BUSY в состояние ‘0’; при этом данные должны удерживаться до этого события.
4. Повторять шаги 2 и 3 до тех пор, пока не будут переданы все данные.
5. Перевести сигналы
и
в неактивное состояние.
Алгоритм процедуры записи показан на Рис. 17. Отметим, что если сигнал CCLK медленнее, чем
, FPGA не будет выставлять сигнал BUSY, в этом случае обмен подтверждениями готовности после реального приема данных не нужен, и данные могут просто вводиться в FPGA по каждому циклу сигнала CCLK.
Преждевременное прекращение процедуры
После установки активного уровня сигнала
, пользователь не может переключаться с записи на чтение или наоборот. В противном случае такое действие приведет к преждевременному прекращению текущей пакетной команды. Устройство будет оставаться в состоянии BUSY (занято) до тех пор, пока прерванная процедура будет завершена. После прекращения процедуры, для продолжения приема пакета, необходимо повторить передачу того слова, которое было прервано не на границе слова.
Для того чтобы инициировать преждевременное прекращение процедуры записи, необходимо перевести сигнал
в неактивное состояние. Как показано на Рис. 18, прекращение процедуры начнется с приходом нарастающего фронта CCLK.
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).
Обычно процесс конфигурирования запускается автоматически после подачи напряжения питания, однако, как будет описано далее, он может быть задержан пользователем. Конфигурационный процесс может также быть инициирован установкой активного уровня сигнала
. Переход сигнала
в состояние ‘1’ означает окончание фазы очистки памяти, а установка активного уровня сигнала DONE (‘1’) означает окончание процесса в целом.
Временная диаграмма для конфигурационных сигналов после подачи напряжения питания показана на Рис. 19, а соответствующие временные характеристики — в Табл. 12.
6.2.1. Задержка конфигурирования
Конфигурирование FPGA может быть задержано удержанием сигнала на контакте
в, состоянии низкого логического уровня до момента готовности системы к конфигурированию. На протяжении фазы очистки конфигурационной памяти последовательность операций состоит из повторения цикла очистки памяти по всем адресам. Эти операции продолжаются до окончания одного полного цикла очистки памяти по всем адресам после установки сигнала на входе
в состояние ‘1’. Таким образом, задержка процесса конфигурирования равнозначна продолжению фазы очистки памяти.
Таблица 12. Значения временных параметров при подаче питания.
Другой вариант — подача от источника с открытым стоком сигнала низкого уровня на вход
. Источник сигнала с открытым стоком необходим потому, что контакт
— двунаправленный и работает как выход, имеющий низкий логический уровень во время фазы очистки памяти. Увеличение времени удержания низкого логического уровня на этом контакте приводит, к тому, что конфигурационный автомат продолжает выполнять фазу очистки памяти. Таким образом, процесс конфигурирования задерживается, не входя в фазу загрузки данных.
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. Обратное считывание











