Смекни!
smekni.com

ПЛИС Xilinx семейства Virtex™ (стр. 6 из 9)

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

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

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

Программное средство размещения и трассировки (placeandroute — 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 0 0 0 Выход 1 Есть Нет
Boundary-scan 1 0 1 1 Нет Нет
SelectMAP 1 1 0 Вход 8 Нет Нет
Slave-serial 1 1 1 Вход 1 Есть Нет
Master-serial 1 0 0 Выход 1 Есть Да
Boundary-scan 0 0 1 1 Нет Да
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 изображена полная схема, совмещающая подчиненные ре­жимы и ведущий режим. FPGAVirtex, конфигурируемые в подчиненном режиме, должны быть подключены так же, как устройство, изображенное третьим слева.

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

В Табл. 10 содержится более подробная информация для величин, при­веденных на Рис. 13. Для FPGA, соединенных в цепочку, процесс конфи­гурирования должен быть задержан до тех пор, пока на контактах

всех микросхем цепочки не появится высокий логический уровень.