Михаил Кузелин
ПЛИС CPLD компании Xilinx с малым потреблением.
Серия CoolRunnerв
Выпускаемые в настоящее время ПЛИС c архитектурой CPLD представляют собой программируемые пользователем интегральные схемы малой логической емкости
(до 13 000 вентилей), которые могут перепрограммироваться непосредственно в устройстве и сохранять конфигурацию при выключенном питании. Они производятся по EEPROM или Fast Flash КМОП-технологии. Обладая массой преимуществ при использовании в стационарных устройствах, эти ПЛИС имеют очень существенный недостаток, не позволяющий использовать их в мобильных системах: это большое потребление тока как в статическом (десятки миллиампер), так и в динамическом (несколько
сотен миллиампер при работе на частотах в несколько десятков мегагерц) режимах. Единственной серией ПЛИС CPLD, лишенной этого недостатка является серия CoolRunner, выпускаемая компанией Xilinx. В 2001 г. начат выпуск нового семейства ПЛИС серии CoolRunner® — семейства XPLA3.
Семейство ПЛИС XPLA3 (eXtended Programmable Logic Array) является дальнейшим развитием серии CoolRunner®. Микросхемы семейства XPLA3 предназначены для использования в системах с низким потреблением тока, которые включают мобильные, карманные и другие критичные к энергопотреблению приложения. Каждый кристалл семейства XPLA3 производится с использованием технологии FZP (Fast Zero Power). Технология FZP позволяет производить кристаллы с задержкой распространения «контакт-контакт» до 5 нс при потребляемом токе менее 100 мкА в статике без использования дополнительных схем перевода в малое потребление. Такое низкое потребление (более чем в 100 раз меньше, чем у микросхем CPLD других производителей) обусловлено применением методики, основанной полностью на КМОП-принципах. В отличие от других CPLD, где используются методы усиления считывания для реализации логических произведений, применяемых со времен биполярных технологий, в CPLD серии CoolRunner® применяются каскадные цепи КМОП-вентилей. Потребление тока в динамике для МС серии CoolRunner® также значительно ниже (в 3–4 раза), чем для всех остальных ПЛИС с архитектурой CPLD.
Разработка конфигурации кристалла семейства XPLA3 осуществляется с помощью пакета программного обеспечения WebPACK. Пакет включает в себя программы схемного и текстового (Abel, VHDL) ввода, программу верификации, трассировки и программирования. Разработка осуществляется на ПК или рабочей станции. Пакет можно загрузить с сайта http://www.xilinx.com/products/software/webpowered.htm.
Для программирования МС семейства XPLA3 не требуется программатор. Перепрограммирование осуществляется сигналами от элементов с напряжением питания 3,3 В через специальные выводы МС (JTAG-порт) в той же системе, в которой и применяется данная ПЛИС. Минимальное число циклов перепрограммирования МС превышает 1000. Записанная конфигурация может сохраняться более 20 лет. Программирование и перепрограммирование, помимо программирования/перепрограммирования в системе, также может осуществляться программаторами таких производителей, как Data I/O, BP Microsystems, SMS и др.
В состав семейства XPLA3 входит шесть МС, емкостью от 32 до 512 макроячеек (от 800 до 12 800 логических вентилей соответственно) в различных корпусах. Все МС семейства XPLA3 совместимы по контактам, что обеспечивает возможность легкого перехода от одной МС к другой в том же корпусе.
Параметры микросхем семейства XPLA3 представлены в табл. 1. Таблица 2 дает представление о том, какие микросхемы в каких корпусах выпускаются.
Таблица 1. Параметры микросхем семейства XPLA3
|
XCR3032XL |
XCR3064XL |
XCR3128XL |
XCR3256XL |
XCR3384XL |
XCR3512XL |
Число макроячеек |
32 |
64 |
128 |
256 |
384 |
512 |
Число вентилей |
800 |
600 |
3200 |
6400 |
9600 |
12800 |
Число триггеров |
32 |
64 |
128 |
256 |
384 |
512 |
Задержка вход МС — комбинаторная логика — выход МС, tPD, нс |
5 |
6 |
6 |
7,5 |
7,5 |
7,5 |
Время установки глобального тактового сигнала, tSU, нс |
3,5 |
4 |
4 |
4,8 |
4,8 |
4,8 |
Задержка глобального тактового сигнала
до выхода, tCO, нс |
3,5 |
4 |
4 |
4,5 |
4,5 |
4,5 |
fSYSTEM, МГц |
175 |
145 |
145 |
140 |
127 |
127 |
Таблица 2. Корпуса и пользовательские контакты микросхем семейства XPLA3
Корпус |
XCR3032XL |
XCR3064XL |
XCR3128XL |
XCR3256XL |
XCR3384XL |
XCR3512XL |
PLCC-44 |
36 |
36 |
|
|
|
|
VQFP-44 |
36 |
36 |
|
|
|
|
CSP-48 |
36 |
40 |
|
|
|
|
CSP-56 |
|
48 |
|
|
|
|
VQFP-100 |
|
68 |
84 |
|
|
|
CSP-144 |
|
|
108 |
|
|
|
VQFP-144 |
|
|
108 |
120 |
|
|
PQFP-208 |
|
|
|
164 |
172 |
180 |
BGA-256 |
|
|
|
164 |
212 |
212 |
CSP-280 |
|
|
|
164 |
|
|
BGA-324 |
|
|
|
220 |
|
260 |
Описание архитектуры семейства XPLA3
На рис. 1 представлена блок-схема архитектуры кристалла семейства XPLA3, содержащего 128 макроячеек. Каждая МС семейства XPLA3 представляет собой подсистему, состоящую из множества функциональных блоков (ФБ), соединенных переключающей матрицей ZIA (Zero-power Interconnect Array). ZIA является виртуальным матричным коммутатором. Каждый функциональный блок имеет 36 входов от ZIA и включает в себя 16 макроячеек.
Рис. 1. Архитектура МС семейства XPLA3
На первый взгляд архитектура полностью идентична архитектуре других ПЛИС CPLD. Отличие заключается в реализации логических функций внутри ФБ и в методах реализации самих ФБ в кристалле.
Архитектура ФБ
|
|
Рис. 2. Примеры PLA-матрицы и PAL-матрицы |
Рис. 3. Архитектура функционального блока семейства XPLA3 |
На рис. 3 показана архитектура функционального блока. Каждый ФБ содержит PLA-матрицу, которая генерирует управляющие термы, термы синхронизации и логические функции. PLA-матрица отличается от PAL-матрицы тем, что она состоит из программируемой матрицы элементов И, за которой следует программируемая матрица элементов ИЛИ. PAL-матрица содержит фиксированную матрицу элементов ИЛИ (рис. 2). Входы PLA-матрицы напрямую подключены к выходам переключающей матрицы ZIA. PAL-матрица имеет 36 пар прямых и инверсных входов, которые формируют 48 термов. Среди них восемь — локальные управляющие термы (LCT[0:7]), доступные для любой макроячейки данного ФБ как асинхронный тактовый сигнал, сигнал сброса, установки и разрешения выхода. Если эти термы не задействованы как управляющие, они могут использоваться для реализации логических функций пользователя.
В каждом ФБ существует восемь термов (PT[8:15]), которые осуществляют обратную связь через элемент И-НЕ внутри ФБ. Эта особенность ФБ может использоваться для увеличения логической емкости при реализации сложных логических функций. Не использованные для реализации обратной связи термы PT[8:15], так же как и LCT[0:7], могут быть использованы для реализации логических функций пользователя.
Рис. 4. Мультиплексор VFM
Шестнадцать термов PT[16:31] доступны для каждой макроячейки (1 терм на одну макроячейку) для реализации логики, критичной к задержкам. Если требуется более одного терма для макроячейки, то могут быть использованы дополнительные 47 термов, предварительно просуммированные, а затем мультиплексированные с термом, отведенным под макроячейку, через специальный мультиплексор VFM (Variable Function Multiplexer). Мультиплексор VFM представлен на рис. 4.
Архитектура макроячейки
На рис. 5 показана архитектура макроячейки микросхем семейства XPLA3. Каждая макроячейка может реализовывать комбинаторную или регистровую функцию. Управление регистра макроячейки может быть запрограммировано на асинхронный сброс, предустановку, а также установку в определенное состояние при включении питания. Регистр макроячейки может быть сконфигурирован как D-триггер, T-триггер, регистр-защелка или не задействован, если макроячейка необходима для реализации комбинаторной функции.
Рис. 5. Архитектура макроячейки МС семейства XPLA3
Каждый из указанных выше триггеров может тактироваться от любого из восьми источников сигнала или его инверсии. К этим источникам тактовых сигналов относятся два глобальных тактовых сигнала, выбранные из четырех глобальных сигналов, поступающих напрямую от контактов микросхемы; общий сигнал синхронизации (терм от одного из ФБ кристалла); локальные термы управления (из данного ФБ) — LCT[4:7]; терм синхронизации PTC.
В макроячейке существуют две мультиплексные связи с переключающей матрицей ZIA. Один мультиплексор выбирает либо выход мультиплексора VFM, либо выход регистра. Другой мультиплексор выбирает либо выход регистра, либо сигнал с контакта микросхемы. Когда контакт ввода/вывода используется как выход, выходной буфер задействован, линия обратной связи макроячейки может быть использована для реализации обратной связи внутри макроячейки. Когда контакт ввода/вывода используется как вход, выходной буфер переведен в третье состояние и соединение контакта ввода/вывода с переключающей матрицей осуществляется через линию обратной связи ячейки ввода/вывода.
Если контакт микросхемы используется как регистровый вход, то соединение контакта и входа регистра осуществляется по линии прямой связи, что обеспечивает минимальное время установки сигнала. Если регистр макроячейки сконфигурирован как регистр-защелка, то вход разрешения тактирования регистра макроячейки не функционирует.
Ячейка ввода/вывода (ЯВВ)
Блок-схема ячейки ввода/вывода показана на рис. 6. Мультиплексор разрешения выхода (OE) выходного буфера имеет восемь входов. Коды на входах управления мультиплексора и соответствующие состояния выхода перечислены в таблице на рис. 6. При использовании ЯВВ как входа возможно включение pull-up резистора (WP). Если ЯВВ не используется в проекте пользователя, то программа проектирования автоматически включает WP, поэтому не использованные контакты на плате можно оставлять не подключенными. В то же время контакты двойного назначения (CLKx/INx) не имеют внутреннего резистора pull-up, поэтому если они не задействованы, то на плате к ним нужно подключить внешний резистор.
Рис. 6. Ячейка ввода/вывода
ЯВВ совместима с сигналами 5-вольтовой логики, но сигналы можно подавать только после подачи питания на все отведенные под питание контакты микросхемы.
Выходы микросхем семейства XPLA3 полностью совместимы с 3,3-вольтовым PCI.
Для уменьшения дребезга фронта сигнала в ЯВВ существует программируемая схема управления задержкой.
JTAG
JTAG — часто используемый акроним стандарта периферийного сканирования JTAG IEEE 1149.1. Данный стандарт определяет контакты, функции логики управления и команды, позволяющие проводить тестирование как интегральных микросхем, так и печатных плат, не применяя специализированного тестового оборудования. В МС семейства XPLA3 JTAG применяется для программирования/перепрограммирования МС непосредственно в готовом устройстве. В табл. 3 представлены JTAG-команды, поддерживаемые МС семейства XPLA3.
Таблица 3. Команды периферийного сканирования JTAG.
Команда |
Код |
Используемый регистр |
Описание |
Sample/ Preload |
10 |
Регистр периферийного сканирования |
Команда позволяет считать и просмотреть статические данные устройства, находящегося в рабочем режиме. Команда также позволяет загрузить данные в сдвиговый регистр периферийного сканирования перед выбором другой команды периферийного сканирования |
Extest |
0 |
Регистр периферийного сканирования |
Команда позволяет проводить тестирование устройств и соединений вне кристалла. Обычно перед использованием этой команды данные загружаются в сдвиговый регистр периферийного сканирования с помощью команды Sample/Preload |
Bypass |
11111 |
Регистр периферийного сканирования |
Устанавливает 1-битный BYPASS регистр между контактами TDI и TDO, что позволяет передать данные периферийного сканирования синхронно через кристалл к соседнему устройству, не прерывая функционирования кристалла |
Idcode |
1 |
Регистр периферийного сканирования |
Устанавливает IDCODE регистр между контактами TDI и TDO, что позволяет считать идентификационный номер кристалла |
High-Z |
101 |
Регистр периферийного сканирования |
Переводит все контакты микросхемы в состояние высокого импеданса |
Intest |
11 |
Регистр периферийного сканирования |
Команда подготавливает регистры периферийного сканирования для выполнения тестирования внутренней логики кристалла |
В МС семейства XPLA3 реализованы четыре из пяти контактов, описанных в спецификации стандарта JTAG: TMS, TDO, TCK и TDI (табл. 4). Пятый сигнал из спецификации (TRST — сброс теста) не реализован в МС семейства XPLA3, так как он не является необходимым для осуществления операций периферийного сканирования и программирования в системе. Это позволяет высвободить контакт для его использования. Сброс теста осуществляется через цепь сброса-установки, которая используется для инициализации при включении питания.
Таблица 4. Описание JTAG-контактов
Контакт |
Название |
Описание |
TCK |
Test Clock Input |
Сигнал синхронизации входных и выходных данных регистров периферийного сканирования. |
TMS |
Test Mode Select |
Последовательный вход, выбирающий JTAG-команду. Во время операций пользователя должен удерживаться в состоянии лог. 1 |
TDI |
Test Data Input |
Последовательный вход для команд и тестовых данных. Данные вводятся по переднему фронту TCK |
TDO |
Test Data Output |
Последовательный выход для команд и тестовых данных. Данные выводятся по заднему фронту TCK |
Контакт разрешения JTAG-порта
Контакты TMS, TDO, TCK и TDI в МС семейства XPLA3 могут быть запрограммированы как пользовательские. Для активации их как контактов JTAG-порта используется специальный контакт разрешения — Port Enable. Для простоты использования МС поставляются с запрограммированными как JTAG-порт контактами TMS, TDO, TCK и TDI. Для корректной работы микросхемы контакт Port Enable должен удерживаться при включении питания в состоянии лог. 0.
При программировании МС эти контакты могут быть запрограммированы на выполнение пользовательских функций или оставлены как JTAG-порт. В случае программирования их как пользовательских перевод в режим JTAG-порта осуществляется подачей уровня лог. 1 на контакт Port Enable. В случае если эти контакты используются только как JTAG-порт, контакт Port Enable должен быть постоянно соединен с «землей». Контакты JTAG-порта внутренне подтянуты к уровню лог. 1, и при сильных наводках рекомендуется подключить внешние pull-up резисторы сопротивлением 10 кОм.
Программирование/перепрограммирование в системе
Микросхемы XPLA3 могут быть запрограммированы и перепрограммированы непосредственно в системе от компьютера. В кристалл встроена схема, обеспечивающая необходимые напряжения программирования, превосходящие напряжение питания 3,3 В. Данная схема позволяет запрограммировать МС, используя 3-вольтовое питание, применяемое в рабочем режиме без использования дополнительных цепей. Команды программирования в системе описаны в табл. 5.
Таблица 5. Команды программирования в системе
Команда |
Код |
Используемый регистр |
Описание |
Enable |
1001 |
Сдвиговый регистр программирования в системе |
Разрешает команды программирования в системе Erase, Program, Verify |
Erase |
1010 |
Сдвиговый регистр программирования в системе |
Производит стирание всей матрицы EEPROM |
Program |
1011 |
Сдвиговый регистр программирования в системе |
Программирует данные из сдвигового регистра программирования в системе в EEPROM |
Disable |
10000 |
Сдвиговый регистр программирования в системе |
Запрещает режим программирования в системе |
Verify |
1100 |
Сдвиговый регистр программирования в системе |
Считывает конфигурационные данные (процесс верификации) |
Основные свойства ПЛИС CPLD серии CoolRunner®
Напряжение питания ядра кристалла составляет 3,3 В.
Методология проектирования FZP (Fast Zero Power) обеспечивает ультранизкое потребление и высокое быстродействие.
Передовая архитектура XPLA3 обеспечивает гибкость при реализации проекта пользователя.
Технология производства 0,35 мкм КМОП EEROM:
— не менее 1000 циклов запись/стирание;
— время сохранности записанной информации не менее 20 лет.
Возможность перепрограммирования в системе с напряжением питания 3,3 В с использованием интерфейса JTAG IEEE 1149.1.
Простая детерминированная модель временных задержек распространения сигналов внутри кристалла.
Возможность асинхронного тактирования элементов схемы:
— 20 тактовых сигналов, производимых внутри логического блока;
— 4 глобальных тактовых сигнала, получаемых извне кристалла.
Расширенные возможности закрепления выводов перед трассировкой.
Совместимость блоков ввода/вывода с 5-вольтовой логикой.
Время установки данных на входы входных регистров кристалла составляет 1,7 нс.
Задержка от входа до выхода по всем выводам до 5 нс.
Программируемая задержка на каждый выход.
Расширенная возможность защиты схемы от копирования.
Поддержка функции hot-plugging.
Проектирование осуществляется и специализированными САПР фирмы Xilinx, а также универсальными САПР («третьих» фирм).
Четыре сигнала разрешения вывода на каждый функциональный блок.
Асинхронное тактирование макроячеек.
Асинхронный сброс/предустановка триггера макроячейки.
Сигнал разрешения тактирования в каждой макроячейке.
Совместимость по выводам с кристаллами других семейств серии CoolRunner.
Выпускаются в коммерческом и промышленном исполнении.
mike@inlinegroup.ru
|