Программирование Xilinx Семейство CPLD CoolRunner-II Thu, November 21 2024  

Поделиться

Нашли опечатку?

Пожалуйста, сообщите об этом - просто выделите ошибочное слово или фразу и нажмите Shift Enter.


Семейство CPLD CoolRunner-II Печать
Добавил(а) microsin   

Здесь приведен перевод даташита ds90 [1], который дает общий обзор семейства микросхем программируемой логики CPLD CoolRunner-II компании Xilinx. Все непонятные сокращения и термины см. в [3].

Основные возможности:

• Архитектура, оптимизированная для систем с питанием 1.8V.

- Самые быстрые в индустрии CPLD с низким энергопотреблением.
- Плотности кристалла от 32 до 512 макроячеек.

• Технология CMOS CPLD 0.18 микрон.

- Архитектура, оптимизированная для эффективного синтеза логики.
- Обеспечивается работа ввода вывода (I/O) в широком диапазоне напряжений от 1.5V до 3.3V.
- Гарантируется 1000 циклов программирование/стирание.
- Гарантируется 20 лет сохранения данных.

• Продвинутые системные функции.

- Быстрое программирование в системе ISP (in system programming). Интерфейс 1.8V ISP реализован на основе IEEE 1532 (JTAG).
- Переконфигурирование на лету (On-The-Fly Reconfiguration, OTF).
- Тестирование схем по стандарту IEEE1149.1 JTAG Boundary Scan.
- Опция включения триггера Шмитта на входе (для каждого вывода ножки порта).
- Во всех устройствах имеется несколько банков ввода/вывода (I/O banks).
- Непревзойденные параметры эффективности по низкому потреблению энергии (внешний сигнал управления DataGATE).
- Гибкие режимы тактирования:
   · Опция тактирования триггеров по обоим перепадам (DualEDGE).
   · Делитель тактовой частоты (на 2, 4, 6, 8, 10, 12, 14, 16).
   · Технология CoolCLOCK.
- Опции глобального сигнала с управлением макрочейкой.
   · Несколько глобальных сигналов тактов на макроячейку с выбором фазы.
   · Несколько глобальных сигналов разрешения выхода.
   · Сигналы глобальной установки/сброса.
- Обилие тактов для блоков p-term, сигналов разрешения выходов и сигналов установки/сброса.
- Эффективное управление тактами термов, сигналами разрешения выхода и установки сброса для каждой макроячейки, и общими между функциональными блоками.
- Продвинутая защита прошивки.
- Опция выхода с открытым коллектором для монтажного ИЛИ и управления светодиодами.
- Опции выбора на ножках I/O функций удержания шины (bus-hold), сигнала с тремя состояниями или слабой верхней подтяжки (weak pullup).
- Опция конфигурирования подключения к земле не используемых ножек I/O.
- Можно использовать смешанные напряжения I/O, совместимые с уровнями логики 1.5V, 1.8V, 2.5V и 3.3V для всех устройств.
- SSTL2_1, SSTL3_1 и HSTL_1 на устройствах с емкостью от 128 макроячеек и выше.
- Поддержка горячего подключения.

• Архитектура PLA.

- Отличные возможности по разводке сигналов.
- 100% маршрутизация p-term между функциональными блоками.

• Широкий ассортимент корпусов, включая корпуса с мелким шагом:

- Chip Scale Package (CSP) BGA, Fine Line BGA, TQFP, PQFP, VQFP и QFN.
- Бессвинцовые варианты (Pb-free) для всех видов корпусов.

• Запись/проверка проекта с использованием инструментов от Xilinx и стандартных индустриальных инструментов разработки CAE.

• Бесплатная поддержка всех плотностей кристаллов в среде разработки Xilinx® WebPACK™.

[Обзор семейства]

Микросхемы Xilinx CoolRunner™-II CPLD дают высокую скорость работы и простое применение семейств CPLD XC9500, XC9500XL, XC9500XV с универсальными возможностями по энергопотреблению XPLA3 в одной микросхеме CPLD. Это означает, что абсолютно такие же микросхемы можно использовать как в высокоскоростных системах обмена данными и вычислительных системах, так и в современных переносных устройствах, с дополнительным удобством внутрисхемного программирования (In System Programming, ISP). Низкое энергопотребление и высокая скорость работы комбинируется в одном семействе, простом в использовании и эффективном по цене. Техники тактирования и другие функции экономии потребляемой мощности расширяют возможности пользователя по бюджету питания. Все функции дизайна поддерживаются с инструментария начального уровня Xilinx ISE® WebPACK. Дополнительную информацию можно получить из врезки "Дополнительное чтение ..." в конце статьи.

В таблице 1 показана емкость в макроячейках и ключевые параметры времени для семейства CoolRunner-II CPLD. Таблица 2 показывает характеристики по постоянному току (DC).

Таблица 1. Основные параметры микросхем CoolRunner-II CPLD.

  XC2C32A XC2C64A XC2C128 XC2C256 XC2C384 XC2C512
Макроячеек 32 64 128 256 384 512
Максимум I/O
(зависит от корпуса)
33 64 100 184 240 270
TPD (нс) 3.8 4.6 5.7 7.1
TCO (нс) 3.7 3.9 4.2 4.5 5.8
FSYSTEM1 (МГц) 323 263 244 256 217 179

Таблица 2. DC-характеристики CoolRunner-II CPLD.

  XC2C32A XC2C64A XC2C128 XC2C256 XC2C384 XC2C512
ICC (μA), 0 МГц, 25°C (типовое значение) 16 17 19 21 23 25
ICC (mA), 50 МГц, 70°C (max) 2.5 5 10 27 45 55

Примечание: ICC это динамический ток.

Таблица 3 показывает возможности корпусов по количеству ножек I/O. Все корпуса предназначены для поверхностного монтажа, больше половины из них изготовлены с выводами в виде решетки шариков (ball-grid technologie). Сверхмалые корпуса дают максимальную функциональную емкость логики на минимальном пространстве печатной платы. Технология CMOS, используемая в микросхемах CoolRunner-II CPLD, генерирует минимум тепла, что дает возможность использовать высокую скорость работы в малых по размеру корпусах.

Таблица 3. Корпуса семейства CoolRunner-II CPLD и их количество портов ввода вывода (I/O pins).

  XC2C32A XC2C64A XC2C128 XC2C256 XC2C384 XC2C512
QFG32(1) 21 - - - - -
VQ44 33 33 - - - -
VQG44(1) 33 33 - - - -
QFG48(1) - 37 - - - -
CP56 33 45 - - - -
CPG56(1) 33 45 - - - -
VQ100 - 64 80 80 - -
VQG100(1) - 64 80 80 - -
CP132 - - 100 106 - -
CPG132(1) - - 100 106 - -
TQ144 - - 100 118 118 -
TQG144(1) - - 100 118 118 -
PQ208 - - - 173 173 173
PQG208(1) - - - 173 173 173
FT256 - - - 184 212 212
FTG256(1) - - - 184 212 212
FG324 - - - - 240 270
FGG324(1) - - - - 240 270

Примечание (1): буква "G" в третьем символе показывает Pb-free корпус.

За исключением корпусов Pb-free QF, есть как минимум 2 плотности в каждом корпусе VQ100 (100-pin 1.0mm QFP), TQ144 (144-pin 1.4mm QFP) и FT256 (256-ball 1.0mm spacing FLBGA). В частности FT256 важен для использования в тонких переносных устройствах с промежуточными и высокими требованиями к плотности логики.

Таблица 4 показывает, в каких устройствах семейства CoolRunner-II CPLD реализованы определенные продвинутые функции. Семейство реализует универсальные базовые функции, доступные во всех кристаллах, вместе с определенными продвинутыми функциями, которые включены в кристаллы, где плотность ячеек больше всего подходит этим функциям. Например, в микросхемах с 32 и 64 макроячейками вряд или понадобятся 4 банка ввода/вывода (I/O), однако скорее всего они будут востребованы в микросхемах на 384 и 512 макроячеек. Группирование банков I/O по выводам I/O используют одно из подмножеств стандартов совместимости по напряжениям уровней логики VCCIO (см. таблицу 5, где суммарно показаны стандарты I/O для микросхем CoolRunner-II CPLD).

Таблица 4. Функции семейства CoolRunner-II CPLD.

  XC2C32A XC2C64A XC2C128 XC2C256 XC2C384 XC2C512
IEEE 1532 tick tick tick tick tick tick
Банков I/O 2 2 2 2 4 4
Делитель тактов - - tick tick tick tick
Регистры DualEDGE tick tick tick tick tick tick
DataGATE - - tick tick tick tick
LVTTL tick tick tick tick tick tick
LVCMOS33, 25, 18, 15(2) tick tick tick tick tick tick
SSTL2_1 - - tick tick tick tick
SSTL3_1 - - tick tick tick tick
HSTL_1 - - tick tick tick tick
Конфигурируемая GND tick tick tick tick tick tick
Четырехкратная защита данных tick tick tick tick tick tick
Выходы с открытым стоком tick tick tick tick tick tick
Горячее подключение tick tick tick tick tick tick
Триггеры Шмитта на входах tick tick tick tick tick tick

Примечание (2): LVCMOS15 требуют использования на входах триггеров Шмитта.

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

Внутренняя архитектура микросхемы традиционна для CPLD, она представляет комбинацию макроячеек в функциональные блоки (Function Blocks, FB), соединяемые друг с другом глобальной матрицей трассировки (Xilinx Advanced Interconnect Matrix, AIM). FB используют конфигурацию массива программируемой логики (Programmable Logic Array, PLA), которая позволяет развести ячейки p-term и использовать совместно с любыми макроячейками FB. ПО разработки может эффективно синтезировать и оптимизировать логику, чтобы она соответственно уместилась в FB, с высоким коэффициентом использования ресурсов микросхемы. Изменения дизайна можно просто, автоматизированно управлять из программы, со 100% маршрутизируемостью PLA в каждом FB. Этот экстремально устойчивый строительный блок дает самое лучшее в индустрии удобство в разводке выводов кристалла на печатной плате, в самых широких условиях дизайна. Более подробно архитектура рассматривается в описании нижележащих FB, логики и внутренних соединений.

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

Рис. 1 показывает архитектуру на высоком уровне, где FB подключаются к выводам и взаимодействую друг с другом через внутреннюю матрицу соединений. В каждом FB содержится 16 макроячеек. BSC path это линия управления пограничным тестированием (JTAG Boundary Scan Control). Блок BSC и ISP имеет контроллер JTAG и схемы программирования ISP.

CoolRunner II CPLD Architecture fig01

Рис. 1. Архитектура CoolRunner-II CPLD.

[Функциональный блок (FB)]

FB микросхем CoolRunner-II CPLD состоит из 16 макроячеек, с 40 подключенными сигналами для создания логики и организации внутренних связей. Внутренняя система логики реализована на основе 56 p-term PLA. Все FB идентичны, независимо от их количества в устройстве. На рис. 2 показана высокоуровневая схема FB.

CoolRunner II CPLD Function Block fig02

Рис. 2. CoolRunner-II CPLD Function Block.

На верхнем уровне элементарные единицы логики (product terms, p-terms) находятся в массиве программируемой логики (programmable logic array, PLA). Эта структура экстремально гибкая и очень надежная в сравнении с фиксированной или каскадированной структурой p-term FB.

Классические CPLD обычно имеют несколько p-term, доступных для высокоскоростного пути распространения сигнала к определенной макроячейке. Они полагаются на захват не используемых p-term из соседних макроячеек, чтобы за их счет получить соответствующую необходимую логику. В результате эта архитектура дает модель изменяющихся интервалов времени, с запутанной логикой в FB, непригодную для использования.

Матрица PLA устроена по другому, и лучше. Во-первых, любой p-term может быть подключен к любому вентилю OR внутри макроячейки (макроячеек) FB. Во-вторых, любая логическая функция может иметь столько p-term, сколько необходимо подключить в FB, вплоть до верхнего предела 56. В-третьих, p-term могут быть повторно использованы в нескольких функциях OR макроячейки также в пределах FB, определенный продукт логики нужно создать только один раз, но он может быть повторно использован до 16 раз внутри FB. Естественно, это хорошо использует программа упаковки (fitting soft), которая идентифицирует p-term, которые можно сделать общими.

ПО поместит столько этих функций в FB, сколько сможет, так что это выглядит с точки зрения траты ресурсов бесплатным размещением. Нет никакой необходимости подгонять функции макроячеек так, чтобы они были смежными, или нет любых других ограничений по сохранению функций в том же FB, что обрабатывается программно. Функциям не нужно использовать общие такты, общие сигналы установки/сброса, или общие сигналы разрешения выхода, чтобы получить полные преимущества от PLA. Также каждый p-term подключается с одинаковой вводимой задержкой. Нет добавочных интервалов задержки от каскадирования при помещении большего количества p-term в FB. Когда достигается предел по количеству p-term в FB, делается малое по вводимой задержке внутреннее соединение для маршрутизации сигналов в другой FB, чтобы продолжить создание логики. ПО разработки Xilinx все это делает автоматически.

[Макроячейка]

Макроячейка CoolRunner-II CPLD экстремально эффективно подготовлена для создания логики. Пользователи могут разработать логические выражения суммы продуктов (sum of product, SOP), которые состоят из 40 входов и охватывают 56 p-term в одном FB. Макроячейка может дополнительно комбинировать выражение SOP в элемент XOR с другим одиночным выражением p-term. Также выбирается полярность полученного логического выражения. Кроме того, логическая функция может быть чисто комбинаторной или регистрируемой (синхронной), с элементом памяти, работающим по выбору как триггер D, или T, или прозрачная защелка. Дополнительно на каждой макроячейке независимо выбирается глобальное, уровня FB, или локальное для p-term получаемые сигналы тактирования, установки, сброса, и разрешения выхода. Каждый триггер макроячейки конфигурируется тактированием либо на переключение либо по одному перепаду, либо по двум (DualEDGE). С тактированием по обоим перепадам тактов получается удвоенная пропускная способность, или при тактировании по одному перепаду может быть снижено энергопотребление (которое может быть дополнительно снижено делителем тактовой частоты). Для тактирования по одному перепаду или защелкивания уровня может быть выбрана любая полярность тактов для каждой макроячейки. Структура макроячейки CoolRunner-II CPLD показана на рис. 3. Обратите внимание, что на рис. 4, где используются стандартные логические символы, кроме трапецеидальных мультиплексоров, имеется выбор входа, что программируется статически от сигналов выбора (не показаны). Апноут Xilinx XAPP376 [4] дает подробное объяснение, как создается логика в семействе CoolRunner-II CPLD.

CoolRunner II CPLD Macrocell fig03

Рис. 3. CoolRunner-II CPLD Macrocell.

Каждая макроячейка, когда она конфигурируется как D-триггер, имеет опциональный сигнал разрешения тактирования, который в состоянии разрешения непрерывно пропускает сигнал тактов. Обратите внимание, что доступны сигналы управления Term-ами (Control Terms, CT), используемые совместно для ключевых функций внутри FB, и обычно они используются каждый раз, когда та же самая логическая функция неоднократно создавалась бы в нескольких макроячейках. CT p-term-ы доступны для тактирования FB (CTC), асинхронной установки FB (CTS), асинхронного сброса FB (CTR) и разрешения выхода FB (CTE).

Триггер любой макроячейки может быть сконфигурирован как входной регистр или защелка, который получает входной сигнал от вывода I/O макроячейки, или напрямую управляется AIM. В случае необходимости комбинаторный функционал макроячейки сохраняется для использования во встроенной логике. FToggle это максимальная частота тактирования, которая может надежно переключать T-триггер.

[Advanced Interconnect Matrix (AIM)]

Матрица внутренних соединений (Advanced Interconnect Matrix, AIM) это быстрый коммутатор с малым потреблением энергии. Для создания логики AIM направляется программным обеспечением для доставки до 40 сигналов к каждому FB. Результаты от всех макроячеек FB, как и всех входных выводов, отправляются обратно через AIM для создания соединений с другими FB. Все это также диктуется ПО разработки. При подключении к различным FB матрица AIM минимизирует как задержку распространения (propagation delay, TPD), так и потребление мощности.

[I/O Block]

Блоки ввода/вывода (I/O) это в сущности трансиверы (приемо-передатчики). Однако каждая ножка I/O либо автоматически совместима со стандартными диапазонами напряжений, либо может быть запрограммирована для этого. Подробнее про I/O CoolRunner-II см. апноут XAPP382.

В дополнение к уровням логики каждый вход может быть выбран на прохождение входного сигнала через триггер Шмитта. Это добавляет маленькую задержку, то значительно уменьшает влияние шума на каждом входном выводе, где эта функция активирована. Триггер Шмитта добавляет гистерезис примерно 500 mV. Все входы LVCMOS могут иметь вход с гистерезисом. Гистерезис также позволяет просто генерировать схемы внешнего тактирования. Распространение сигнала триггера Шмитта лучше всего посмотреть на рис. 4. В таблице 5 показана совместимость триггера Шмитта со стандартами I/O.

CoolRunner II CPLD IO Block Diagram fig04

Рис. 4. Блок-схема CoolRunner-II CPLD I/O.

Выходы могут быть сконфигурированы для непосредственного управления (простой двухтактный выход), для работы как выход с тремя состояниями или как выход с открытым стоком. Также доступен выбор медленного или быстрого переключения выхода. В таблице 5 суммарно показаны поддерживаемые стандарты напряжений, связанные с определенными возможностями устройства. Все входы и запрещенные выходы допускают совместимость с уровнями до 3.3V.

Семейство CoolRunner-II поддерживает высокоскоростные стандарты ввода/вывода SSTL2-1, SSTL3-1 и HSTL-1 в устройствах на 128-макроячеек и выше. Рис. 4 подробно показывает вывод I/O, где показано, что доступны выводы, требующие сравнения с внешним опорным напряжением. Все эти стандарты I/O для правильного функционирования требуют применения выводов VREF. CoolRunner-II CPLD поддерживают работу любого вывода I/O в качестве вывода VREF, давая разработчику печатной платы дополнительную свободу в разводке. Однако, если не сделать правильное размещение вывода VREF, то могут потребоваться дополнительные выводы VREF, что потенциально снизит доступное количество ножек I/O или потребует переразводки печатной платы. Подробнее выводы VREF и их размещение см. апноут XAPP399.

Должны быть соблюдены требования по диапазону выводов VREF. ПО разработки Xilinx помогает разработчикам достичь правильного выбора выводов.

В таблице 5 суммарно показаны поддерживаемые обычные стандарты I/O, и показаны стандарты, которые требуют значений VREF и терминирование сигналов на плате. Уровни VREF даны в отдельных даташитах.

Таблица 5. Поддержка различных стандартов уровней логики I/O микросхемами CoolRunner-II CPLD.

Атрибут выбора стандарта VCCIO Вход VREF Напряжение терминирования платы (VTT) Триггер Шмитта
LVTTL 3.3 нет нет Можно выбрать
LVCMOS33 3.3 нет нет Можно выбрать
LVCMOS25 2.5 нет нет Можно выбрать
LVCMOS18 1.8 нет нет Можно выбрать
LVCMOS15 1.5 нет нет Обязательно
HSTL_1 1.5 0.75 1.25 Обязательно
SSTL2_1 2.5 1.25 1.25 Обязательно
SSTL3_1 3.3 1.5 1.5 Обязательно

[Распределение выходов по банкам]

CPLD широко используют как преобразователи интерфейсов, в том числе с преобразованием уровней логики. Для этой цели выходные выводы сгруппированы в большие банки. Устройства XC2C32A, XC2C64A, XC2C128 и XC2C256 поддерживают 2 выходных банка. С двумя банками выходы могут быть переключены на поддержку двух разных или одного диапазона уровней выхода. Устройства большой емкости (на 384 и 512 макроячейки) поддерживают распределение выходов по 4 банкам. Они могут соответственно реализовать группировку выводов для работы с одним, двумя, тремя или четырьмя разными диапазонами напряжений уровней логики. Такая гибкость упрощает соединение в одной микросхеме CPLD с несколькими уровнями шин 3.3V, 2.5V, 1.8V и 1.5V.

[DataGATE]

Низкое потребление тока отличительная особенность технологии CMOS. Другие семейства CPLD используют чувствительный усилитель для создания p-term-ов, что всегда создает лишние потребляемые токи. Этот остаточный ток может составлять сотни миллиампер, что делает невозможным применение таких устройств в переносных портативных системах. CoolRunner-II CPLD используют стандартные методы CMOS для создания архитектуры CPLD и соответственно потребляют малый ток без каких-либо дополнительных ухищрений. Однако иногда разработчики хотят еще больше снизить потребляемый системой ток, селективно запрещая не используемые узлы схемы.

Патентованная технология DataGATE позволяет прямолинейно достичь дополнительного снижения потребляемой мощности. Каждая ножка I/O имеет последовательный ключ, который может заблокировать поступление свободно переключающихся сигналов на вход, которые в настоящее время не интересны. Обслуживание сигналов, которые не используются, может привести к повышенному потреблению энергии, и это может быть запрещено. Пользователи свободны в своем выборе секций, которые участвуют в функции DataGATE. DataGATE это логическая функция, которая присутствует в устройствах CoolRunner-II CPLD средней и высокой плотности. Разработчики могут выбрать входы, которые блокируются под управлением функции DataGATE, эффективно блокируя переключение сигналов, так что они не управляют внутренними узлами CPLD. Выходные сигналы, которые не переключаются, удерживаются функцией bus hold. Любой набор входных выводов можно выбрать для участия в функции DataGATE. Рис. 5 показывает график зависимости тока потребления CMOS от частоты переключения. С функцией DataGATE разработчики могут достичь нулевого потребления тока путем выбора в своей разработке этой функции.

CoolRunner II CPLD ICC vs Frequency fig05

Рис. 5. Кривая зависимости от частоты переключения динамического тока потребления ICC для технологии CMOS.

Рис. 6 показывает базовый принцип работы DataGATE. Один вывод I/O управляет сигналом активации DataGATE (Assertion Rail). На этом выводе может быть любая желаемая логическая функция. Функция DataGATE может быть просто привязана к входной ножке, или работать по сложной логике как счетчик или машина состояний, управляющие функцией вывода I/O DataGATE I/O через макроячейку. Когда сигнал активации DataGATE установлен в лог. 1, блокируется любой пропускающий сигнал переключающий транзистор. Каждый вывод имеет возможность подключиться к AIM через пропускающий DataGATE транзистор, и таким образом может быть заблокированным. Защелка автоматически захватывает состояние вывода, когда он становится заблокированным. DataGATE Assertion Rail проходит через все возможные I/O, так что каждый из них, по выбору, может принять участие в этой функции. Обратите внимание, что одна макроячейка выбирается для управления сигналом активации, и эта макроячейка выставляет наружу свой сигнал для инспектирования. Если функция DataGATE не нужна, то этот вывод работает как обычная ножка I/O.

CoolRunner II CPLD DataGATE Architecture fig06

Рис. 6. Архитектура DataGATE (выходные драйверы не показаны).

В CoolRunner-II CPLD имеется два атрибута, связанные с функцией DataGATE. Первый из них задает, влияет ли DataGATE на вход, и второй обозначает управляющий сигнал DataGATE.

Функция DataGATE выбирается на каждом из выводов. Каждому входному выводу, который использует DataGATE, должен быть назначен атрибут DATA_GATE.

Сигнал активации DataGATE (assertion rail) может управляться либо от вывода I/O, либо от внутренней логики. Сигнал разрешения DataGATE назначен на специально выделенный вывод DGE/I/O для каждого корпуса микросхемы CoolRunner-II CPLD. При реализации ПО разработки распознает проект, который использует DataGATE, и автоматически назначает этот вывод I/O на управляющую функцию разрешения DataGATE (DataGATE enable, DGE). Сгенерированная внутри логика управления DataGATE может быть назначена на этот вывод I/O атрибутом BUFG=DATA_GATE.

[Глобальные сигналы]

Глобальные сигналы, такие как такты (GCK), сигналы установки/сброса (GSR) и сигналы разрешения выхода (GTS), были разработаны для строго определенного совместного использования. Такая организация позволяет ПО разработки наилучшим образом реализовать свои возможности. Каждая глобальная функция используется совместно с соответствующей версией p-term. Рис. 7 показывает общую структуру глобальных деревьев сигнала. Входной вывод буферизируется, и затем управляет несколькими внутренними глобальными сигналами, чтобы дать им минимальные фронты переключения и снизить задержки. GCK, GSR и GTS также могут использоваться и как выводы I/O общего назначения, если глобальные сигналы не нужны. Сигнал DataGATE assertion также является глобальным.

CoolRunner II CPLD GCK GSR GTS signals fig07

Рис. 7. Передача глобальных сигналов Global Clocks (GCK), Sets/Resets (GSR) и Output Enables (GTS).

[Дополнительные опции тактирования: деление тактовой частоты, DualEDGE и CoolCLOCK]

Clock Divider (делитель тактовой частоты). Схема деления частоты тактов добавлена в архитектуру CoolRunner-II CPLD, чтобы поделить на установленный коэффициент поступающую снаружи тактовую частоту. Доступны коэффициенты деления 2, 4, 6, 8, 10, 12, 14 и 16 (см. рис. 8). Эта возможность предоставляется на выводе GCK2. Результирующая тактовая частота имеет скважность 50% для всех возможных коэффициентов деления. Выход делителя тактов маршрутизируется глобально. Если делитель не используется, то внутри микросхемы доступна исходная тактовая частота. Если исходная, неподеленная частота требуется внутри CPLD, то для её подачи имеется отдельный тактовый вход.

CoolRunner II CPLD Clock Division Circuitry GCK2 fig08

Рис. 8. Схема делителя тактовой частоты для GCK2.

Схема делителя частоты имеет синхронный сброс (CDRST), чтобы гарантировать отсутствие нежелательных импульсов тактовой частоты, которые могли бы попасть на глобальные цепи тактирования. Когда выставлен сигнал CDRST, делитель тактовой частоты запрещается после текущего такта. Когда сигнал CDRST снимается, выход делителя тактовой частоты становится активным на первом перепаде GCK2. Функции сигнала CDRST доступны как вывод сброса независимо от используемого примитива CLK_DIV (коэффициент деления тактовой частоты). Если в проекте используется делитель тактовой частоты, то вывод CDRST резервируется, и если он был переведен в лог. 1, то делитель тактовой частоты сбрасывается. Если порт сброса делителя тактовой частоты не используется, то на печатной плате он должен быть подтянут к лог. 0. Схема делителя тактовой частоты включает активный по лог. 1 синхронный сброс, на который ссылаются по имени CDRST.

Делитель частоты CoolRunner-II CPLD имеет встроенную схему задержки. Когда функция задержки разрешена, сигнал на выходе делителя тактов задерживается на один полный такт счетчика. Когда делитель используется, то он не выводит фронт нарастания тактов до тех пор, пока делитель не достигнет значения задержки. Функция задержки может быть разрешена или запрещена в момент конфигурирования CPLD.

Технология синтеза логики Xilinx (Xilinx Synthesis Technology, XST) позволяет задействовать компонент делителя тактов непосредственно в исходном коде HDL. См. примеры на языках VHDL, Verilog и ABEL в апноуте XAPP378.

DualEDGE. У каждой ячейки есть возможность удвоить свою входную тактовую частоту. Рис. 9 показывает триггер макроячейки с опцией DualEDGE (удвоенная тактовая частота). Источником для удвоения может быть частота term, частота p-term или один из доступных глобальных тактовых сигналов. Возможность тактирования по каждому перепаду тактов, также известная как тактирование dual edge triggered (DET), жизненно важна для приложений интерфейсов синхронной памяти, а также определенных приложений с удвоенной скоростью ввода/вывода.

CoolRunner II CPLD Macrocell Clock Chain with DualEDGE fig09

Рис. 9. Цепочка тактирования макроячейки с опцией DualEDGE.

DET-регистры CoolRunner-II CPLD могут использоваться для логических функций, которые включают регистры сдвига, счетчики, компараторы и машины состояний. Разработчики должны оценить необходимую производительность, чтобы определить необходимость использования DET-регистров.

DET-регистр может быть реализован в любом дизайне на основе ABEL, HDL или схемы. Дизайнер может реализовать регистр с тактированием по одному перепаду (single-edge triggered, SET) в любом дизайне на основе HDL. DET-регистр доступен с любыми макроячейками любых устройств семейства CoolRunner-II.

CoolCLOCK. В дополнение к DualEDGE тактированию триггера, может быть достигнуто пониженное потребление тока путем комбинации схемы DualEDGE со схемой деления частоты. Эта возможность называется CoolCLOCK, и она была разработана для уменьшения потребления энергии внутри CPLD. Из-за того, что цепь тактов значительно влияет на потребление мощности, эта мощность может быть уменьшена путем управления цепью тактов на сниженной вдвое частоте, после чего с использованием функции DualEDGE частота тактирования удваивается на уровне макроячейки. Рис. 10 показывает, как CoolCLOCK создает внутреннее каскадирование тактов, когда совместно работают делитель тактовой частоты и DualEDGE на входе триггера макроячейки.

CoolRunner II CPLD CoolCLOCK fig10

Рис. 10. CoolCLOCK, созданная каскадированием делителя тактов и опции DualEDGE.

Деление частоты может быть только на глобальной цепи тактирования GCK2, поэтому функция CoolCLOCK доступна только для GCK2. Функция CoolCLOCK может быть реализована назначением атрибута для входной частоты. Атрибут CoolCLOCK заменяет необходимость инстанцировать делитель тактовой частоты и реализовывать DET-регистры. Функция CoolCLOCK доступна в устройствах CoolRunner-II емкостью начиная от 128 макроячеек и выше. Подробности см. в апноуте XAPP378.

[Защита разработки]

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

Примечание: все же существуют организации, которые предлагают услуги по взлому/считыванию конфигурации как с микросхем CPLD, так и с микросхем FPGA Xilinx.

[Модель учета интервалов времени]

Рис. 11 показывает учет задержек CoolRunner-II CPLD. Это дает представление на общую архитектуру с точки зрения интервалов времени прохождения сигнала. Каждый маленький блок это задержка по времени, которую претерпевает сигнал, проходя через определенный ресурс микросхемы. Отчеты времени (timing reports) создаются на основе пересчета увеличивающейся задержки сигнала по мере его прохождения через CPLD. ПО разработки создает timing reports после того, как дизайн отображен на определенную микросхему, на основе специфических значений задержки, зависящих от быстродействия применяемого кристалла (speed grade). Доступны формулы для самых больших значений времени (например, TPD и FSYSTEM). Таблица 6 суммарно показывает параметры и краткое определение связанных с ними функций. Апноут XAPP375 подробно дает информацию по таймингу CoolRunner-II CPLD вместе с несколькими примерами.

CoolRunner II CPLD Timing Model fig11

Рис. 11. Тайминг-модель CoolRunner-II CPLD.

Примечание: всегда обращайтесь к отчету времени, который генерирует ISE Software (ПО разработки Xilinx, такое как ISE WebPack), чтобы узнать точные значения для путей распространения сигнала.

Таблица 6. Определения параметров времени.

Символ Параметр
Задержки буферов
TIN Задержка входного буфера
TDIN Входная задержка регистра направления данных
TGCK Задержка буфера глобальной тактовой частоты
TGSR Задержка буфера глобальных сигналов установки/сброса
TGTS Задержка буфера глобального сигнала разрешения выхода
TOUT Задержка выходного буфера
TEN Задержка сигнала разрешения выходного буфера
TSLEW Задержка управления скоростью переключения выходного буфера
Задержки P-term
TCT Задержка управления Term (один PT или FB-CT)
TLOGI1 Задержка логики одного P-term
TLOGI2 Дополнительная задержка логики нескольких P-term
Задержки макроячеек
TPDI Задержка между входом и достоверным выходом
TSUI Установка регистра макроячейки перед тактом
THI Удержание регистра макроячейки после такта
TECSU Время установки разрешения тактов регистра макроячейки
TECHO Время удержания разрешения тактов регистра макроячейки
TCOI От такта регистра макроячейки до достоверного выхода
TAOI От установки/сброса регистра макроячейки до достоверного выхода
THYS Задержка, добавляемая секцией гистерезиса
Задержки выхода синтезированной логики (Feedback delay)
TF Задержка feedback
TOEM Задержка от макроячейки до глобального сигнала разрешения выхода (OE)

[Программирование]

Последовательность программирования данных передаются в устройство либо через ПО Xilinx iMPACT и кабель загрузки (Xilinx download cable) через JTAG, либо через JTAG систем разработки сторонних производителей, либо через JTAG-совместимый тестер платы, либо через интерфейс на основе микроконтроллера, который эмулирует инструкции JTAG. ПО iMPACT также генерирует файлы в формате SVF (serial vector format), пригодные для использования с любыми инструментальными средствами, поддерживающими этот формат, включая оборудование для автоматизированного тестирования. Для получения информации о том, как программировать CoolRunner-II CPLD, см. соответствующие апноуты на сайте Xilinx.

ISP. Все микросхемы CoolRunner-II CPLD могут программироваться прямо в системе через JTAG. Это означает, что они генерируют внутри себя повышенное напряжение программирования из напряжения питания 1.8V VCC (напряжение питания внутренней логики). Выводы VCCIO не участвуют в этом процессе, так что они могут получать питание от других уровней напряжения, от 3.3V до 1.5V (однако все линии питания VCCIO, VCCINT, VCCAUX и GND должны быть подключены к устройству во время программирования, и должны корректно функционировать). 1.8V VCC требуется для правильного функционирования внутренних машин состояний и схем генерации заряда, находящихся на кристалле CPLD, что нужно для обеспечения работы программирования конфигурации в энергонезависимую память. Выводы I/O во время программирования через JTAG не поддерживают рабочий режим пользователя; они удерживаются в третьем состоянии со слабой подтяжкой уровней к лог. 1 (weak pullup). Буферы интерфейса JTAG получают питание от отдельной шины VCCAUX, которая работает независимо от других выводов питания. VCCAUX должна быть подключена для работы JTAG. Для передачи конфигурационного потока бит в CPLD по протоколу IEEE 1532 предоставляется соответствующее ПО Xilinx (iMPACT). Для этого в микросхемах  CoolRunner-II CPLD поддерживается набор команд IEEE 1532. Время программирования для микросхем емкостью 32 .. 256 макрочеек занимает меньше секунды, и для микросхем емкостью 384 .. 512 макроячеек меньше 4 секунд. Программирование CoolRunner-II CPLD гарантируется только при работе в коммерческом диапазоне температур и диапазонах напряжений, определенных в специфическом для микросхеме даташите.

OTF. Инструментарий Xilinx ISE 5.2i для микросхем CoolRunner-II CPLD предоставляет функцию переконфигурирования "на лету" (On-The-Fly Reconfiguration, сокращенно OTF). Это дает возможность записать новый массив энергонезависимых данных конфигурации в микросхему, пока в использовании находится другой массив. У OTF те же самые параметры напряжений и температур, как и у ISP. Во время переключения конфигурации выводы I/O находятся в высоком сопротивлении со слабой подтяжкой (weak pullup) к напряжению VCCIO. Время перехода к новой конфигурации обычно составляет от 50 до 300 мкс, в зависимости от плотности макроячеек в микросхеме. Дополнительную информацию см. в апноуте XAPP388.

Инструкции JTAG. Таблица 7 показывает команды, доступные для пользователей. Те же самые команды также могут использоваться в продукции ATE сторонних производителей. Внутренние контроллеры могут работать на частотах до 66 МГц.

Таблица 7. Инструкции JTAG.

Код Инструкция Описание
00000000 EXTEST Принудительно передать данные boundary scan на выходы
00000011 PRELOAD Защелкивание данных макроячейки в ячейки boundary scan
11111111 BYPASS Вставить bypass-регистр между TDI и TDO
00000010 INTEST Принудительно передать данные boundary scan на входы и feedback-и
00000001 IDCODE Чтение IDCODE
11111101 USERCODE Чтение USERCODE
11111100 HIGHZ Принудительно перевести выходы в состояние высокого сопротивления
11111010 CLAMP Защелкнуть существующее состояние выхода

[Характеристики включения]

Микросхемы CoolRunner-II CPLD должны работать в самых разных условиях - от широкополосных устройств до переносных; таким образом, должно поддерживаться горячее подключение (hot plugging) для высокоскоростных систем и должны допускаться различные последовательности подачи питания на разные выводы. Также при инициализации не должен потребляться чрезмерный ток. Для этого общее поведение микросхем CPLD может быть охарактеризовано следующим образом:

1. Выводы I/O запрещены до окончания процесса включения питания (power-up).
2. Как только питание достигло своего нормального значения, биты конфигурации передаются из энергонезависимой памяти в ячейки SRAM.
3. По завершении включения питания выходы выводы становятся полностью сконфигурированными (input, output, или I/O).
4. Чтобы узнать интервалы времени применения конфигурации, см. апноут XAPP389.

Ножки I/O микросхем CoolRunner-II CPLD хорошо ведут себя во всех рабочих условиях. При включении питания устройства CoolRunner-II реализуют внутреннюю схемотехнику, которая удерживает устройства в приостановленном состоянии (quiescent state), пока напряжение питания VCCINT не достигнет безопасного уровня (примерно 1.3V). В приостановленном состоянии выводы JTAG запрещены, и все выходы устройства имеют слабую подтяжку к лог. 1, как показано в таблице 8. Когда напряжение питание достигнет безопасного уровня, все регистры пользователя становятся инициализированными, и устройство немедленно станет доступным для функционирования, как показано на рис. 12. Самые лучшие результаты получаются, когда VCC нарастает за время меньше 4 мс. Конечное значение VCC должно быть достигнуто не позже 1 секунды.

Таблица 8. Характеристики I/O Power-Up.

Схема Состояние остановки Стертое устройство Нормальное функционирование
IOB Bus-Hold/Weak Pullup Weak Pull-up Weak Pull-up Bus-Hold/Weak Pullup
Выходы Запрещено Запрещено В соответствии с конфигурацией
Входы и такты
FB
Контроллер JTAG Разрешено Разрешено

CoolRunner II CPLD Power Up Behavior fig12

Рис. 12. Поведение устройства при подаче питания.

Если устройство находится в стертом состоянии (erased, до того, как в него запрограммирована любая пользовательская последовательность бит конфигурации), все выходы устройства остаются запрещенными, с включенной слабой подтяжкой к лог. 1 (weak pull-up). Выводы JTAG разрешены, чтобы можно было в любой момент запрограммировать устройство. Все устройства поставляются с завода в стертом состоянии.

Подача питания на чистую микросхему может дать повышенный ток, так как микросхема инициализируется. Это поведение считается нормальным, и может занимать примерно 2 секунды, в зависимости от характера нарастания напряжения питания.

Если устройство запрограммировано, то его входы и выходы получат свое сконфигурированное состояние для нормального функционирования. Выводы JTAG разрешены, чтобы можно было в любой момент стереть устройство или провести тесты boundary-scan.

[Банки I/O]

Микросхемы CoolRunner-II CPLD XC2C32A и XC2C64A поддерживают две шины VCCIO в диапазоне напряжений от 3.3V до 1.5V. Две шины VCCIO поддерживаются устройствами на 128 и 256 макроячеек, где каждая шина может независимо получать питание в диапазоне напряжений от 3.3V до 1.5V. В микросхемах на 384 и 512 макроячеек поддерживается четыре шины VCCIO. Любые из шин VCCIO могут получать питание как одно из значений 1.5V, 1.8V, 2.5V или 3.3V. Разработчики должны назначить напряжения входа и выхода на банк в соответствии с используемым для его питания уровнем VCCIO. Напряжение VCC (внутреннее напряжение питания) для CoolRunner-II CPLD должно быть 1.8V ±5%, чтобы микросхема выдерживала корректные скоростные параметры и правильно программировалась.

[Смешанные уровни напряжений, последовательность подачи питания и горячее подключение]

Как было упомянуто в предыдущем разделе "Банки I/O", микросхемы CoolRunner-II CPLD поддерживают смесь напряжений сигналов ввода/вывода. Важно назначить определенные уровни сигналов на соответствующий банк I/O, который получает нужное напряжение питания I/O. Перевод уровня с высокого в низкий может привести к отрицательному току через выводы питания. Питание, поданное на выводы VCCIO и VCC, может появляться в любом порядке, и при этом кристалл CoolRunner-II CPLD не будет поврежден. Но для получения самых лучших результатов рекомендуется, чтобы VCCINT было подано перед VCCIO для гарантии, что внутренняя логика станет корректной перед активацией сигналов I/O. CoolRunner-II CPLD можно использовать на платах, где они вставляются в так называемый "live"-коннектор (предназначенный для горячего подключения), и при этом микросхемы CPLD будут показывать корректное поведение, если питание было подано стандартным способом.

[Поддержка системами разработки]

Xilinx CoolRunner-II CPLD во всех конфигурациях поддерживаются стандартными (платными) релизами ПО разработки от Xilinx, в том числе и бесплатным пакетом разработки ISE WebPACK (свободно доступен для закачки на сайте www.xilinx.com, требуется регистрация). Также имеется инструментарий сторонних разработчиков: Cadence, Exemplar, Mentor Graphics, Synplicity и Synopsys.

[Поддержка ATE]

Доступна поддержка разработки ATE от сторонних разработчиков, как для программирования, так и для тестирования устройств на уровне платы/чипа. Такую поддержку предоставляют компании Agilent, GenRad и Teradyne. В будущем ожидается появления инструментов тестирования и от других производителей.

Символ Параметр Min. Max. Ед.
VCC(2) Напряжение питания относительно GND -0.5 2.0 V
VI(3) Входное напряжение относительно GND -0.5 4.0 V
TA Окружающая температура (C-grade, коммерческие) 0 70 °C
Окружающая температура (I-grade, индустриальные) -40 85 °C
TJ(4) Максимальная температура кристалла -40 150 °C
TSTR Температура хранения -65 150 °C

Примечания:

1. Стрессовые условия, превышающие указанные, могут привести к неправильному функционированию или необратимому повреждению устройства. Эти стрессовые условия указаны только как рейтинг, не предусматривается функционирование или программирование при таких условиях.
2. Напряжение питание чипа должно нарастать монотонно.
3. Максимальный выброс постоянного напряжения ниже уровня GND (DC undershoot) должен быть ограничен уровнем 0.5V или током 10 mA. Во время переходных процессов выводы устройства могут получать уровни до –2.0V или превышать 4.5 V на время меньше 10 нс, с импульсным током, ограниченным до 200 mA. Напряжение уровней I/O никогда не должно превышать 4.0V.
4. Руководства по пайке и температурные условия см. в документе "Device Packaging" на сайте Xilinx. Для корпусов Pb-free см. даташит XAPP427.

Символ Параметр Min. Max. Ед.
TDR Сохранность данных конфигурации 20 - лет
NPE
Количество циклов программирование/стирание (на износ) 1000 - циклы
VESD Электростатический разряд 2000 - V

Примечание 1: ESD измерялось до 2000V с использованием модели человеческого тела. Выводы, оказавшиеся на этом пределе, могут давать дополнительный ток утечки максимум до 10 μA, когда на них подается уровень напряжения 3.9V.

Командная строка для поиска даташита на сайте Xilinx - site:xilinx.com файл.pdf

[Апноуты]

site:xilinx.com xapp784.pdf (Bulletproof Design Practices)
site:xilinx.com xapp375.pdf (Timing Model)
site:xilinx.com xapp376.pdf (Logic Engine) [4]
site:xilinx.com xapp317.pdf (Power Evaluation Equation for CoolRunner-II CPLDs)
site:xilinx.com xapp377.pdf (Low Power Design)
site:xilinx.com xapp378.pdf (Advanced Features)
site:xilinx.com xapp379.pdf (High Speed Design)
site:xilinx.com xapp380.pdf (Cross Point Switch)
site:xilinx.com xapp381.pdf (Demo Board)
site:xilinx.com xapp382.pdf (I/O Characteristics)
site:xilinx.com xapp383.pdf (Single Error Correction Double Error Detection)
site:xilinx.com xapp384.pdf (DDR SDRAM Interface)
site:xilinx.com xapp387.pdf (PicoBlaze Microcontroller)
site:xilinx.com xapp388.pdf (On the Fly Reconfiguration)
site:xilinx.com xapp389.pdf (Powering CoolRunner-II)
site:xilinx.com xapp393.pdf (8051 Microcontroller Interface)
site:xilinx.com xapp394.pdf (Interfacing with Mobile SDRAM)
site:xilinx.com xapp399.pdf (Assigning CoolRunner-II VREF Pins)
site:xilinx.com wp170.pdf (Secure Applications)

[Даташиты]

site:xilinx.com ds310.pdf (XC2C32A Data Sheet)
site:xilinx.com ds311.pdf (XC2C64A Data Sheet)
site:xilinx.com ds093.pdf (XC2C128 Data Sheet)
site:xilinx.com ds094.pdf (XC2C256 Data Sheet)
site:xilinx.com ds095.pdf (XC2C384 Data Sheet)
site:xilinx.com ds096.pdf (XC2C512 Data Sheet)

[Ссылки]

1. DS090 CoolRunner-II CPLD Family site:xilinx.com.
2Использование продвинутых возможностей CPLD Xilinx CoolRunner-II.
3Термины и сокращения, словарик.
4. Как устроена подсистема логики CoolRunner-II.

 
Top of Page