Операции периферийного сканирования не зависят от конкретных конфигураций блоков ввода-вывода и типа корпуса. Все блоки ввода-вывода, включая неподключенные к контактам, рассматриваются как независимые двунаправленные контакты с тремя состояниями, в единой цепочке сканирования. Сохранение возможности осуществлять двунаправленное тестирование после конфигурирования облегчает тестирование внешних межсоединений.
В Табл. 7 приведены команды периферийного сканирования, поддерживаемые кристаллами Virtex. Внутренние сигналы могут быть проанализированы в процессе выполнения команды Extest посредством подключения их к неиспользуемым выходам блоков ввода-вывода, либо к блокам ввода-вывода, не присоединенным к контактам. Они могут быть также подсоединены к неиспользуемым выходам блоков ввода-вывода, которые определены как однонаправленные входные контакты.
Команда | Двоичный код | Описание |
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
Кристалл | IDCODE |
XCV50 | v0610093h |
XCV100 | v0614093h |
XCV150 | v0618093h |
XCV200 | v061C093h |
XCV300 | v0620093h |
XCV400 | v0628093h |
XCV600 | v0630093h |
XCV800 | v0638093h |
XCV1000 | v0640093h |
4.6.4. Включение ПС в проект
Так как все контакты, необходимые для ПС, предопределены в каждом кристалле, то не нужно включать в проект дополнительных элементов, если не будут использоваться пользовательские регистры (USER1 и USER2). Для задействования этих регистров в проект необходимо включить элемент BSCAN и соединить соответствующие выводы.
5. Система проектирования
Разработка кристаллов Virtex осуществляется программным обеспечением проектирования XilinxFoundationи/или XilinxAlliance. Процесс проектирования включает: ввод проекта, размещение в кристалл и верификацию. Для ввода проекта могут применяться стандартные электронные САПР, таких фирм, как «Aldec», «Cadence», «Simplicity», «MentorGraphics» или «Synopsys». Для размещения в кристалл и верификации используются специализированные под архитектуру САПР, выпускаемые только фирмой «Xilinx».
Система проектирования фирмы «Xilinx» интегрирована в управляющую программу, называемую XilinxDesignManager (XDM), которая обеспечивает доступ к общему пользовательскому интерфейсу, независимо от выбора вида программы ввода или верификации. Программа XDMупрощает выбор настроек, необходимых для выполнения проекта, благодаря наличию разветвленного меню и легко доступной справочной системе (on-linehelp).
Прикладные программы, начиная от создания схемы (schematiccapture), до размещения и трассировки (PlacementandRouting — PAR), доступны из программы XDM. Цепочка команд, определяющих последовательность обрабатывающих процессов, генерируется до начала их исполнения и запоминается для последующего документирования.
Несколько расширенных свойств программного обеспечения облегчает проектирование микросхем Virtex. Например, схемные относительно расположенные макросы (RelationallyPlacedMacros — RPMs), в которых содержится информация о принудительной взаимной ориентации составных частей элементов проекта, дают необходимую информацию для их реального размещения на кристалле. Они помогают обеспечить оптимальное выполнение стандартных логических функций.
Для ввода проектов с помощью языков описания аппаратных средств (HardwareDescriptionLanguage — HDL), система проектирования XilinxFoundationпредоставляет интерфейсы к синтезаторам следующих фирм:
— «Synopsis» (FPGA Compiler, FPGA Express);
— «Exemplar» (Spectrum);
— «Symplicity» (Symplify).
Для схемного ввода проектов системы проектирования XilinxFoundationи Allianceпредоставляют интерфейсы к следующим системам создания схем:
— Mentor Graphics V8 (Design Architect Quick Sim II);
— Innoveda(Viewdraw).
Существует множество других производителей, которые предлагают аналогичные по функциям системы ввода проекта.
Для упрощения взаимодействия различных САПР существует стандартный формат файлов (EDIF), который поддерживается всеми производителями САПР.
САПР для Virtex включает унифицированную библиотеку стандартных функций. Эта библиотека содержит свыше 400 примитивов и макросов, от двухвходовых вентилей И, до 16-битовых аккумуляторов и включает арифметические функции, компараторы, счетчики, регистры данных, дешифраторы, шифраторы, функции ввода-вывода, защелки, булевы функции, мультиплексоры и сдвигающие регистры.