Научная статья на тему 'ПЛИС CPLD компании Xilinx с малым потреблением. Серия CoolRunner'

ПЛИС CPLD компании Xilinx с малым потреблением. Серия CoolRunner Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
345
51
i Надоели баннеры? Вы всегда можете отключить рекламу.

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Кузелин Михаил

Выпускаемые в настоящее время ПЛИС c архитектурой CPLD представляют собой программируемые пользователем интегральные схемы малой логической емкости (до 13 000 вентилей), которые могут перепрограммироваться непосредственно в устройстве и сохранять конфигурацию при выключенном питании.

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Кузелин Михаил

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «ПЛИС CPLD компании Xilinx с малым потреблением. Серия CoolRunner»

ПЛИС CPLD компании Xilinx с малым потреблением.

Серия CoolRunner®

Выпускаемые в настоящее время ПЛИС с архитектурой CPLD представляют собой программируемые пользователем интегральные схемы малой логической емкости (до 13 000 вентилей), которые могут перепрограммироваться непосредственно в устройстве и сохранять конфигурацию при выключенном питании. Они производятся по EEPROM или Fast Flash КМОП-технологии. Обладая массой преимуществ при использовании в стационарных устройствах, эти ПЛИС имеют очень существенный недостаток, не позволяющий использовать их в мобильных системах: это большое потребление тока как в статическом (десятки миллиампер), так и в динамическом (несколько сотен миллиампер при работе на частотах в несколько десятков мегагерц) режимах. Единственной серией ПЛИС CPLD, лишенной этого недостатка является серия CoolRunner, выпускаемая компанией Xilinx. В 2001 г. начат выпуск нового семейства ПЛИС серии CoolRunner® — семейства XPLA3.

Михаил Кузелин

mike@inlinegroup.ru

Семейство ПЛИС 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) ввода, программу верификации, трассировки и программирования. Разработка осуществляется на ПК или рабочей станции. Пакет можно загрузить с сайта htt p:/ /w ww. xilinx.c om/products/ software/webpowered.ht m.

Для программирования МС семейства 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 1600 3200 6400 9600 12 800

Число триггеров 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 макроячеек.

На первый взгляд архитектура полностью идентична архитектуре других ПЛИС CPLD. Отличие заключается в реализации логических функций внутри ФБ и в методах реализации самих ФБ в кристалле.

Архитектура ФБ

На рис. 3 показана архитектура функционального блока. Каждый ФБ содержит РЬА-матрицу, которая генерирует управляющие термы, термы синхронизации и логические функции. РЬА-матрица отличается от РАЬ-матрицы тем, что она состоит из программируемой матрицы элементов И, за которой следует программируемая матрица элементов ИЛИ. РАЬ-матрица содержит фиксированную матрицу элементов ИЛИ (рис. 2). Входы РЬА-матрицы напрямую подключены к выходам переключающей матрицы ZIA. РАЬ-матрица имеет 36 пар прямых и инверсных входов, которые формируют 48 термов. Среди них восемь — локальные управляющие термы (ЬСТ[0:7]), доступные для любой макроячейки данного ФБ как асинхронный тактовый

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

В каждом ФБ существует восемь термов (PT[8:15]), которые осуществляют обратную связь через элемент И-НЕ внутри ФБ. Эта особенность ФБ может использоваться для увеличения логической емкости при реализации сложных логических функций. Не использованные для реализации обратной связи термы PT[8:15], так же как и LCT[0:7], могут быть использованы для реализации логических функций пользователя.

Шестнадцать термов PT[16:31] доступны для каждой макроячейки (1 терм на одну макроячейку) для реализации логики, критичной к задержкам. Если требуется более одного терма для макроячейки, то могут быть использованы дополнительные 47 термов, предварительно просуммированные, а затем мультиплексированные с термом, отведенным под макроячейку, через специальный мультиплексор VFM (Variable Function Multiplexer). Мультиплексор VFM представлен на рис. 4.

Архитектура макроячейки

На рис. 5 показана архитектура макроячейки микросхем семейства XPLA3. Каждая макроячейка может реализовывать комбинаторную или регистровую функцию. Управление регистра макроячейки может быть запрограммировано на асинхронный сброс, предустановку, а также установку в определенное состояние при включении питания. Регистр макроячейки может быть сконфигурирован как D-триггер, T-триггер, регистр-защелка или не задействован, если макроячейка необходима для реализации комбинаторной функции.

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

PLA Матрица

Входы

PAL Матрица

Входы

л

I

СО

Рис. 2. Примеры PLA-матрицы и PAL-матрицы

ZIA

yi Обра-п (Рт[8:

Матрица

Логических

Произведений

36x48

Обратная связь через И-НЕ 15])

(р> Ц>о-П

(F^7) L-Oo-П

Локальные термы управления (LCT0)

Локальные термы управления (LCT7)

(R> [32:47])

К мультиплексору общих термов управления Термы синхронизации (РТС)

-0=

ZIA-

ZIA-

1.(РТ16)

(Рт [0:47])

1.(Рт32)

VFM

<]=■

мяо

ffrf!

ZIA-

ZIA-

(Рт [0:47])

VFM

<1=

МЯ 15

да

В/В 15

Рис. 3. Архитектура функционального блока семейства XPLA3

Терм от матрицы логических -произведений

Терм от матрицы ИЛИ

£>

___ К комбинаторному или

регистровому входу

Рис. 4. Мультиплексор VFM

Терм матрицы логических произведений

о

Терм

матрицы

ИЛИ

Глобальный CLK -Глобальный CLK -Общий CLK -РТС-LCT[4:7] -

VFM

LCT4

Терм — матрицы логических произведений

[>

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

— LCT [0:5]

___ Общий терм предустановки

KZIA

KZIA

¿Л

PST D/T/L q

CLKEn

RST

Контакт

— КВ/В

Общий терм сброса LCT [0:5]

Примечание: Глобальный С1.К поступает непосредственно от контакта микросхемы. Рис. 5. Архитектура макроячейки МС семейства XPLA3

Рис. 6.Ячейка ввода/вывода

четырех глобальных сигналов, поступающих напрямую от контактов микросхемы; общий сигнал синхронизации (терм от одного из ФБ кристалла); локальные термы управления (из данного ФБ) — ЬСТ[4:7]; терм синхронизации РТС.

В макроячейке существуют две мультиплексные связи с переключающей матрицей ZIA. Один мультиплексор выбирает либо выход мультиплексора VFM, либо выход регистра. Другой мультиплексор выбирает либо выход регистра, либо сигнал с контакта микро-

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

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

Ячейка ввода/вывода (ЯВВ)

Блок-схема ячейки ввода/вывода показана на рис. 6. Мультиплексор разрешения выхода (OE) выходного буфера имеет восемь входов. Коды на входах управления мультиплексора и соответствующие состояния выхода перечислены в таблице на рис. 6. При использовании ЯВВ как входа возможно включение pull-up резистора (WP). Если ЯВВ не используется в проекте пользователя, то программа проектирования автоматически включает WP, поэтому не использованные контакты на плате можно оставлять не подключенными. В то же время контакты двойного назначения (CLKx/INx) не имеют внутреннего резистора pull-up, поэтому если они не задействованы, то на плате к ним нужно подключить внешний резистор.

ЯВВ совместима с сигналами 5-вольтовой логики, но сигналы можно подавать только после подачи питания на все отведенные под питание контакты микросхемы.

Выходы микросхем семейства XPLA3 полностью совместимы с 3,3-вольтовым PCI.

Для уменьшения дребезга фронта сигнала в ЯВВ существует программируемая схема управления задержкой.

JTAG

JTAG — часто используемый акроним стандарта периферийного сканирования JTAG IEEE 1149.1. Данный стандарт определяет контакты, функции логики управления и команды, позволяющие проводить тестирование как интегральных микросхем, так и печатных плат, не применяя специализированного тестового оборудования. В МС семейства XPLA3 JTAG применяется для программирования/перепрограммирования МС непосредственно в готовом устройстве. В табл. 3 представлены JTAG-команды, поддерживаемые МС семейства XPLA3.

В МС семейства XPLA3 реализованы четыре из пяти контактов, описанных в спецификации стандарта JTAG: TMS, TDO, TCK и TDI (табл. 4). Пятый сигнал из спецификации (TRST — сброс теста) не реализован в МС семейства 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 Регистр периферийного сканирования Команда подготавливает регистры периферийного сканирования для выполнения тестирования внутренней логики кристалла

Таблица 4. Описание JTAG-контактов

Контакт Название Описание

TCK Test Clock Input Сигнал синхронизации входных и выходных данных регистров периферийного сканирования.

TMS Test Mode Select Последовательный вход, выбирающий JTAG-команду. Во время операций пользователя должен удерживаться в состоянии лог. 1

TDI Test Data Input Последовательный вход для команд и тестовых данных. Данные вводятся по переднему фронту ТСК

TDO Test Data Output Последовательный выход для команд и тестовых данных. Данные выводятся по заднему фронту ТСК

контакт для его использования. Сброс теста осуществляется через цепь сброса-установки, которая используется для инициализации при включении питания.

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

Таблица 5. Команды программирования в системе

ния, превосходящие напряжение питания 3,3 В. Данная схема позволяет запрограммировать МС, используя 3-вольтовое питание, применяемое в рабочем режиме без использования дополнительных цепей.

Команды программирования в системе описаны в табл. 5.

Основные свойства ПЛИС 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.

• Выпускаются в коммерческом и промышленном исполнении. НИМ

Команда Код Используемый регистр Описание

Enable 1001 Сдвиговый регистр программирования в системе Разрешает команды программирования в системе Erase, Program, Verify

Erase 1010 Сдвиговый регистр программирования в системе Производит стирание всей матрицы EEPROM

Program 1011 Сдвиговый регистр программирования в системе Программирует данные из сдвигового регистра программирования в системе в EEPROM

Disable 10000 Сдвиговый регистр программирования в системе Запрещает режим программирования в системе

Verify 1100 Сдвиговый регистр программирования в системе Считывает конфигурационные данные (процесс верификации)

i Надоели баннеры? Вы всегда можете отключить рекламу.