Обзор архитектуры семейства Virtex — КиберПедия 

Архитектура электронного правительства: Единая архитектура – это методологический подход при создании системы управления государства, который строится...

Индивидуальные очистные сооружения: К классу индивидуальных очистных сооружений относят сооружения, пропускная способность которых...

Обзор архитектуры семейства Virtex

2020-04-01 118
Обзор архитектуры семейства Virtex 0.00 из 5.00 0 оценок
Заказать работу

Особенности

 

• Высокопроизводительные, большой емкости, программируемые пользователем логические интегральные схемы с архитектурой FPGA (Field Programmable Gate Arrays):

— емкость от 50К до 1М системных вентилей;

— системная производительность до 200 МГц;

— совместимы с шиной PCI 66 МГц;

— поддерживают функцию Hot-swap для Compact PCI.

• Поддержка большинства стандартов ввода-вывода (технология SelectIO™):

— 16 высокопроизводительных стандартов ввода — вывода;

— прямое подключение к ZBTRAM устройствам.

• Встроенные цепи управления тактированием:

— четыре встроенных модуля автоподстройки задержек (DLL -delay-locked loop) для расширенного управления тактовыми сигналами как внутри кристалла, так и всего устройства;

— четыре глобальные сети распределения тактовых сигналов с малыми разбегами фронтов, плюс 24 локальные тактовые сети.

• Иерархическая система элементов памяти:

— на базе 4-входовых таблиц преобразования (4-LUT - - Look-Up Table), конфигурируемых либо как 16-битовое ОЗУ (Random Access Memory), либо как 16-разрядный сдвиговый регистр;

— встроенная блочная память, каждый блок конфигурируется как синхронное двухпортовое ОЗУ емкостью 4 Кбит;

— быстрые интерфейсы к внешнему высокопроизводительному ОЗУ.

• Гибкая архитектура с балансом быстродействия и плотности упаковки логики:

— специальная логика ускоренного переноса для высокоскоростных арифметических операций;

— специальная поддержка умножителей;

— каскадируемые цепочки для функций с большим количеством входов;

— многочисленные регистры/защелки с разрешением тактирования и синхронные/асинхронные цепи установки и сброса;

— внутренние шины с тремя состояниями;

— логика периферийного сканирования в соответствии со стандартом IEEE1149.1;

— датчик температуры кристалла.

• Проектирование осуществляется пакетами программного обеспечения Foundation ™ и Alliance Series, работающими на ПК или рабочей станции.

• Конфигурация кристалла хранится во внешнем ПЗУ, и загружается в кристалл после включения питания автоматически или принудительно:

— неограниченное число циклов загрузки,

— четыре режима загрузки.

• Производятся по 0.22-мкм КМОП-технологии с 5-слойной металлизацией на основе статического ОЗУ.

• 100%-ное фабричное тестирование.

Описание

 

Семейство FPGA Virtex™ позволяет реализовать высокопроизводи­тельные, большой емкости, цифровые устройства на одном кристалле. Рез­кое увеличение эффективности реализаций достигнуто благодаря новой архитектуре, более эффективной для размещения и трассировки элемен­тов, а также производству кристаллов на основе 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 предоставляет разработчику широ­кие возможности реализации быстродействующих, большой логической ем­кости цифровых устройств, при значительном снижении времени разработки.

Быстродействие

Кристаллы Virtex обеспечивают более высокую производительность, чем предыдущие поколения FPGA. Проекты могут работать на системных частотах до 200 МГц, включая блоки ввода-вывода. Блоки ввода-вывода Virtex полностью соответствуют спецификациям PCI-шины, поэтому кри­сталл позволяет реализовывать интерфейсные схемы, работающие на час­тоте 33 МГц или 66 МГц. В дополнение к этому кристаллы Virtex удовле­творяют требованию «hot-swap» для Compact PCI.

К настоящему времени кристаллы полностью протестированы на «эта­лонных» схемах. На основе тестов выявлено, что хотя производительность сильно зависит от конкретного проекта, большинство проектов работают на частотах превышающих 100 МГц и могут достигать системных частот до 200 МГц. В Табл. 2 представлены производительности некоторых стандартных функций, реализованных на кристаллах с градацией быстродействия '6'.

В отличие от предыдущих семейств ПЛИС фирмы «Xilinx», в сериях Virtex™ и Spartan™ градация по быстродействию обозначается классом, а не задержкой на логическую ячейку. Соответственно, в семействах Virtex™ и Spartan™ чем больше класс, тем выше быстродействие.

Описание архитектуры

Матрица 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 нс

Versa Ring

Блоки ввода-вывода (БВВ)

Versa Ring Блочная память Матрица КЛБ Блочная память

Versa Ring

 

Versa Ring

 

DLL

Блоки ввода-вывода (БВВ)

DLL

               

 

Рис. 1. Структура архитектуры Virtex.

 

Интерфейс ввода-вывода VersaRing создает дополнительные трассиро­вочные ресурсы по периферии кристалла. Эти трассы улучшают общую «трассируемость» устройства и возможности трассировки после закрепле­ния электрических цепей к конкретным контактам.

Архитектура Virtex также включает следующие элементы, которые со­единяются с матрицей ГТМ:

• Специальные блоки памяти (BRAMs) размером 4096 бит каждый.

• Четыре модуля автоподстройки задержек (DLL), предназначенных для компенсации задержек тактовых сигналов, а также деления, умножения и сдвига фазы тактовых частот.

Буферы с тремя состояниями (BUFT), которые расположены вблизи каждого КЛБ и управляют горизонтальными сегментированными трассами.

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

Блок ввода-вывода

Основным отличительным свойством 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), распределенный на три триггера и незави­симые для каждого триггера сигналы разрешения тактирования (Clock Enable — СЕ).

Кроме того, на все триггеры заведен сигнал сброса/установки (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 совместимы со стандартом IEEE 1149.1 периферийного сканирования.

Ввод сигнала

Входной сигнал БВВ может быть протрассирован либо непосредствен­но к блокам внутренней логики, либо через входной триггер.

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

Каждый входной буфер может быть сконфигурирован таким обра­зом, чтобы удовлетворять одному из низковольтных сигнальных стан­дартов, поддерживаемых устройством. В некоторых из этих стандартов входной буфер использует напряжение порогового уровня (), фор­мируемое пользователем. Использование напряжений   позволяет ввести в устройство принудительные опорные величины для различных, близких по используемым логическим уровням стандартов (см. также «Банки ввода-вывода»).

К каждому входу после окончания процесса конфигурирования могут быть, по выбору, подключены внутренние резисторы (либо pull-up, либо pull-down). Сопротивление этих резисторов лежит в пределах 50... 150 кОм.

 

Вывод сигнала

Выходной сигнал проходит через буфер с тремя состояниями, выход ко­торого соединен непосредственно с выводом микросхемы. Сигнал может быть протрассирован на вход буфера с тремя состояниями, либо непосредственно от внутренней логической структуры, либо через выходной триг­гер блока ввода-вывода.

Управление буфером с тремя состояниями также может осуществлять­ся либо непосредственно от внутренней логической структуры, либо через специальный триггер БВВ, который позволяет создать синхронное управ­ление сигналом разрешения и запрещения для буфера с тремя состояния­ми. Каждый такой выходной каскад рассчитан на втекающий ток до 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 пары банков, расположенные на одной стороне, внутренне соединены, обеспе­чивая, таким образом, возможность выбора только четырех возможных значений напряжения для . Контакты  остаются внутренне со­единенными в рамках каждого из восьми банков и могут использоваться, как было описано выше.

 

Таблица 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>

 

Таблица 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. Порядок битов регистра данных ПС

Порядок в каждом БВВ: Вход, Выход, Высокий импеданс. Только входные контакты представлены одним битом, а только выходные -всеми тремя.

Если смотреть на кристалл, как он представлен в программном обеспе­чении проектирования (модуль FPGA EDITOR), то последовательность битов в регистре данных ПС будет определяться, как на Рис. 11.

 

Бит 0 (крайний TDO) Бит 1 Бит 2
 

 


     

 

  (Крайний к TDI)

Правая половина верхнего края БВВ (справа-налево)   GCLK2 GCLK3 Левая половина верхнего края БВВ (спрва-налево)   Левый край БВВ (сверху-вниз)   М1 М0 М2 Левая половина нижнего края БВВ (слева-направо)   GCLK1 GCLK2 Правая половина нижнего края БВВ (слева-направо)    DONE PROG Правый край БВВ (снизу-вверх)    CCLK  

Рис. 11. Последовательность битов ПС.

 

Идентификационные регистры

 

Имеются два идентификационных регистра: 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

 

Включение ПС в проект

Так как все контакты, необходимые для ПС, предопределены в каждом кристалле, то не нужно включать в проект дополнительных элементов, ес­ли не будут использоваться пользовательские регистры (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 cap­ture), до размещения и трассировки (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 из примитивов и макросов стандартной библиотеки".

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

Верификация проекта

В дополнение к обычному программному моделированию FPGA, поль­зователь может использовать метод непосредственной отладки реальных цепей. Благодаря неограниченному количеству циклов перепрограммиро­вания кристаллов FPGA, работоспособность проектов можно проверить в реальном масштабе времени, вместо того чтобы использовать большой на­бор тестовых векторов, необходимых при программном моделировании.

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

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

Режимы конфигурирования

Virtex поддерживает следующие четыре режима конфигурирования:

— подчиненный последовательный режим (Slave-serial);

— ведущий последовательный режим (Master-serial);

— режим SelectMap;

— режим периферийного сканирования (Boundary Scan — 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 через порт периферийного ска­нирования доступно всегда, независимо от значения этого кода. Задание кода отключает другие режимы. Все три контакта режима конфигурирова­ния имеют внутренние «подтягивающие» резисторы и по умолчанию задают, таким образом, состояния высокого логического уровня, если отсутствуют внешние подключения.

Таблица 10. Параметры сигналов подчиненного и ведущего режимов

Параметр

Обозначение

Значение

min max Предустановка/удержание входного сигнала DIN, подчиненный режим 1/2* 5.0 нс/0 нс   Предустановка/удержание входного сигнала DIN, ведущий режим 1/2* 5.0 нс/0 нс   Задержка сигнала DOUT 3*   12 нс Длительность высокого уровня

Поделиться с друзьями:

Биохимия спиртового брожения: Основу технологии получения пива составляет спиртовое брожение, - при котором сахар превращается...

Опора деревянной одностоечной и способы укрепление угловых опор: Опоры ВЛ - конструкции, предназначен­ные для поддерживания проводов на необходимой высоте над землей, водой...

Поперечные профили набережных и береговой полосы: На городских территориях берегоукрепление проектируют с учетом технических и экономических требований, но особое значение придают эстетическим...

Состав сооружений: решетки и песколовки: Решетки – это первое устройство в схеме очистных сооружений. Они представляют...



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.166 с.