Реферат: ПЛИС Xilinx семейства Virtex™
БВВ содержит три запоминающих элемента, функционирующих либо как 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 периферийного сканирования.
4.2.1. Ввод сигнала
Входной сигнал БВВ может быть протрассирован либо непосредственно к блокам внутренней логики, либо через входной триггер.
Кроме того, между выходом буфера и D-входом триггера может быть подключен элемент задержки, исключающий время удержания для случая контакт-контакт. Данная задержка согласована с внутренней задержкой распределения сигнала тактирования FPGA, что гарантирует нулевое время удержания для распределения сигналов контакт-контакт.
Каждый входной буфер может быть сконфигурирован таким образом, чтобы удовлетворять одному из низковольтных сигнальных стандартов, поддерживаемых устройством. В некоторых из этих стандартов входной буфер использует напряжение порогового уровня (), формируемое пользователем. Использование напряжений позволяет ввести в устройство принудительные опорные величины для различных, близких по используемым логическим уровням стандартов (см. также «Банки ввода-вывода»).
К каждому входу после окончания процесса конфигурирования могут быть, по выбору, подключены внутренние резисторы (либо pull-up, либо pull-down). Сопротивление этих резисторов лежит в пределах 50... 150 кОм.
4.2.2. Вывод сигнала
Выходной сигнал проходит через буфер с тремя состояниями, выход которого соединен непосредственно с выводом микросхемы. Сигнал может быть протрассирован на вход буфера с тремя состояниями, либо непосредственно от внутренней логической структуры, либо через выходной триггер блока ввода-вывода.
Управление буфером с тремя состояниями также может осуществляться либо непосредственно от внутренней логической структуры, либо через специальный триггер БВВ, который позволяет создать синхронное управление сигналом разрешения и запрещения для буфера с тремя состояниями. Каждый такой выходной каскад рассчитан на втекающий ток до 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 пары банков, расположенные на одной стороне, внутренне соединены, обеспечивая, таким образом, возможность выбора только четырех возможных значений напряжения для . Контакты остаются внутренне соединенными в рамках каждого из восьми банков и могут использоваться, как было описано выше.
4.3. Конфигурируемый логический блок - КЛБ
Базовым элементом КЛБ является логическая ячейка - ЛЯ (Logic Cell — LC). ЛЯ состоит из 4-входового функционального генератора, логики ускоренного переноса и запоминающего элемента. Выход каждого функционального генератора каждой логической ячейки подсоединен к выходу КЛБ и к D-входу триггера. Каждый КЛБ серии Virtex содержит четыре логические ячейки, организованные в виде двух одинаковых секций (Рис. 4). На Рис. 5 представлено детальное изображение одной секции.
В дополнение к четырем базовым логическим ячейкам, КЛБ серии Virtex содержит логику, которая позволяет комбинировать ресурсы функциональных генераторов для реализации функций от пяти или шести переменных. Таким образом, при оценке числа эквивалентных системных вентилей для микросхем семейства Virtex, каждый КЛБ приравнивается к 4.5 ЛЯ.
4.3.1. Таблица преобразования
Функциональные генераторы реализованы в виде 4-входовых таблиц преобразования (Look-Up Table — LUT). Кроме использования в качестве функциональных генераторов, каждый LUT-элемент может быть также использован как синхронное ОЗУ размерностью 16х1 бит. Более того, из двух LUT-элементов в рамках одной секции можно реализовать синхронное ОЗУ размерностью 16х2 бита или 32х1 бит, либо двухпортовое синхронное ОЗУ размерностью 16х1 бит.
На LUT-элементе микросхемы Virtex может быть реализован 16-разрядный сдвиговый регистр, который идеально подходит для захвата высокоскоростных или пакетных потоков данных. Этот режим может также использоваться для запоминания данных в приложениях цифровой обработки сигналов.
4.3.2. Запоминающие элементы
Запоминающие элементы в каждой секции КЛБ Virtex могут конфигурироваться как динамические триггеры (чувствительные к фронту сигнала) D-типа, либо как триггеры-защелки, чувствительные к уровню сигнала. D-вход триггера может управляться либо от функционального генератора в рамках той же секции КЛБ, либо непосредственно от входов данной секции КЛБ, минуя функциональные генераторы.
Кроме сигналов синхронизации (Clock) и разрешения синхронизации (Clock Enable — СЕ) в каждой секции КЛБ есть сигналы синхронной установки (Set) и сброса (Reset). Обозначение этих сигналов — SR и BY соответственно. Сигнал SR переводит запоминающий элемент в состояние, определенное для него в конфигурационных данных, а сигнал BY — в противоположное состояние. Эти же сигналы могут быть использованы также в качестве асинхронной предустановки (Preset) и очистки (Clear). Все сигналы управления могут быть независимо про-инвертированы. Они подаются на оба триггера в рамках конкретной секции КЛБ.
4.3.3. Дополнительная логика
Дополнительная логика, входящая в каждый КЛБ, представлена двумя мультиплексорами: F5 и F6.
На вход мультиплексора F5 подаются сигналы с выходов функциональных генераторов данной секции КЛБ. Этот узел может работать как функциональный генератор, реализующий любую 5-входовую функцию, либо как мультиплексор 4:1, либо как некоторая функция от девяти входных переменных.
Аналогично, мультиплексор F6 объединяет выходы всех четырех функциональных генераторов КЛБ, используя один из выходов мультиплексора F5. Это позволяет реализовать либо любую 6-входовую функцию, либо мультиплексор 8:1, либо некоторую функцию до 19 переменных.
Каждый КЛБ имеет четыре сквозных линии — по одной на каждую логическую ячейку. Эти линии используются как дополнительные входы данных, либо как дополнительные трассировочные ресурсы, не расходующие логические ресурсы.
4.3.4. Арифметическая логика
Каждая ЛЯ содержит специальную логику ускоренного переноса, которая обеспечивает наилучшую реализацию на ПЛИС различных арифметических функций. КЛБ содержит две отдельные цепи переноса — по одной на каждую секцию. Размерность цепи переноса — два бита на КЛБ.
Арифметическая логика включает в себя элемент, реализующий функцию исключающего ИЛИ, который позволяет реализовать однобитовый сумматор в одной логической ячейке.
В каждой логической ячейке имеется элемент, реализующий функцию И (AND), который предназначен для построения быстродействующих умножителей.
Специальные трассы логики ускоренного переноса могут также использоваться для каскадного включения функциональных генераторов при необходимости создания функций с большим количеством входных переменных.