Микросхема EPM7064S
(Altera MAX 7000).
Краткий
перевод технической документации
Altera MAX 7000 Programmable Logic Device Family
v.6.1
В данной статье рассматривается только EPM7064S – микросхема семейства MAX 7000S. Изложенная
ниже информация может быть полезна и при использовании других ИМС данной серии.
Я не ставлю перед собой цель тщательно и подробно перевести оригинальную
документацию фирмы Altera. В этой статье рассказывается только об основных
возможностях и преимуществах микросхемы.
Основные особенности:
·
Семейство MAX 7000S выполнено по технологии EEPROM и основано на архитектуре MAX второго поколения
· Реализована возможность “программирования в системе” через
встроенный интерфейс IEEStd. 1149.1 Joint
Test Action Group (JTAG). Аппаратная совместимость с IEEE Std.1532
·
Совместимость со стандартом PCI
·
Возможность программирование выводов
как выходов с открытым коллектором
·
Программируемый режим энергосбережения
·
Программируемый логический расширитель
позволяет реализовать на одной макроячейке функции до 32 переменных
·
Наличие бита секретности для защиты
разработки от копирования
·
Интерфейс MultiVolt I/O делает возможным работу ИМС в системах с напряжениями 3,3 и
5В (не доступно для ИС в корпусах с числом выводов 44)
·
Совместимость с пакетом Altera
MAX+PLUS
II Baseline
·
Возможность программирования с
использованием:
- BitBlaster – последовательного загрузочного кабеля
- ByteBlaster – параллельного загрузочного кабеля
- MasterBlaster – USB загрузочного кабеля
·
Наличие двух глобальных сигналов
тактирования
Основные характеристики:
·
Логическая емкость, количество
эквивалентных вентилей 1250
·
Число макроячеек 64
·
Число логических блоков 4
·
Число программируемых пользователем
выводов 68
·
Задержка распространения сигнала
вход-выход, tpd 5 нс
·
Время установки глобального тактового
сигнала, tsu 2,9 нс
·
Задержка глобального тактового сигнала
до выхода, tco1 3,2 нс
·
Максимальная глобальная тактовая
частота, fcnt 175,4МГц
Общее описание
EPM7064S может
поставляться в корпусах различного типа. В таблице 1 приведены все возможные
варианты
Возможные корпуса EPM7064S Табл.1
|
Число программируемых пользователем выводов
|
Тип корпуса
|
|
36
|
44-Pin PLCC
|
|
36
|
44-Pin TQFP
|
|
68
|
84-Pin PLCC
|
|
68
|
100-Pin TQFP
|
EPM7064S содержит
64 макроячейки (МА), которые могут быть объединены в группы по 16 единиц. Такое
объединение носит название логический блок (Logic Array Block - LAB). В каждой МА находятся
программируемая матрица И, фиксированная матрица ИЛИ и конфигурационные
регистры с независимым управлением. Для увеличения функциональности МА,
входящие в один логический блок, могут быть объединены при помощи разделяемого
и параллельного расширителей. Это позволяет реализовывать логические функции с
32 переменными. МЯ изготовлены по технологии CMOS EEPROM. Число
циклов перепрограммирования - около 100.
Микросхемы
семейства MAX 7000 могут работать в режиме
энергосбережения. Пользователь может выбрать режим низкого энергопотребления
для неиспользуемых или малоиспользуемых МЯ. Выходные буферы MAX
7000S могут быть настроены на
работу в системах с уровнем напряжения 3,3 или 5В (это не относится к корпусам
с 44 выводами).
Описание структуры.
Архитектура MAX 7000 включает
следующие элементы:
- Логические блоки (LAB, Logic array blocks)
- Макроячейки (МЯ, Macrocells)
- Логические расширители, разделяемый и параллельный (Expander product terms)
- Программируемая матрица соединений (PIA,
Programmable interconnect array)
- Блоки управления вводом/выводом (БВВ, I/O control blocks)
В структуру ПЛИС MAX 7000 входят
четыре специализированных входа. Эти входы могут быть использованы как входы
общего назначения для обработки “быстрых” сигналов. Через эти входы на каждую
МЯ могут быть поданы глобальные управляющие сигналы (синхронизация, сброс,
переход в третье состояние). На рис.1 представлена функциональная схема ПЛИС.
Архитектура ПЛИС MAX 7000 основана на логических блоках, состоящих из 16
макроячеек. Логические блоки соединяются вместе при помощи программируемой
матрицы соединений (PIA).
К каждому логическому блоку
подводятся следующие сигналы:
·
36 сигналов от PIA, используемых в
качестве логических входов
·
Глобальные управляющие сигналы
·
Непосредственные цепи от входных буферов к регистрам,
обеспечивающие высокое быстродействие.
Макроячейки.
Макроячейка содержит трех
функциональных блока:
·
Локальная программируемая матрица (Logic Array)
·
Матрица распределения термов (Product Term
Select Matrix)
·
Программируемый регистр (Programmable register)
На рис.2 приведена структурная схема МЯ.

Рис.1 Функциональная схема ПЛИС

Рис.2 Структурная схема макроячейки
Комбинационная
логика реализуется на локальной программируемой матрице, которая передает пять
основных термов в матрицу распределения термов. Матрица распределения термов
позволяет реализовать комбинационную функцию путем выполнения операций “исключающее
или”, “ИЛИ” над логическими произведениями. Кроме этого, матрица распределения
может передать термы на регистры.
Для расширения функциональных
возможностей доступны две логические схемы:
·
Разделяемый логический расширитель. Инвертирует терм и передает
назад на локальную программируемую матрицу.
·
Параллельный логический расширитель. Передает термы из предыдущих
МЯ в поселдующие.
САПР фирмы Altera способна автоматически оптимизировать процесс распределения
термов в соответствии с требованиями проекта.
Для каждого регистра может быть
выбран один из трех способов тактирования:
·
Тактирование глобальным синхросигналом. Это самый быстрый вариант
·
Тактирование глобальным сигналом с применением локального сигнала
разрешения тактирования.
·
Тактирование сигналом от локальной программируемой матрицы.
В MAX 7000S доступны два глобальных тактовых сигнала выводы GCLK1 или GCLK2.
Для каждого регистра имеется
возможность асинхронного сброса и установки. Матрица распределения термов
обеспечивает управление этими операциями. Возможно индивидуальное управление
сбросом каждого регистра при помощи глобального тактирующего сигнала GCLRn.
Логические
расширители.
Хотя большинство логических
функций могут быть реализованы пятью термами, доступными в каждой МЯ, возможна
ситуация, при которой пяти переменных будет недостаточно. Для решения подобной
проблемы предназначен специальный механизм – логические расширители. Этот
механизм позволяет использовать термы любых МЯ, находящихся в данном логическом
блоке. Логические расширители помогают добиться максимального быстродействия
при минимальных затратах.
Разделяемый
логический расширитель.
Каждый логический блок содержит 16
разделяемых расширителя, которые могут быть рассмотрены как емкость
неподключенных термов (один од каждой макроячейки). Терм инвертируется и
возвращается обратно в локальную программируемую матрицу. Инвертированный терм
может использоваться любой МЯ данного логического блока. Временная задержка,
вызванная использованием расширителя обозначается TSEXP.
Схем расширителя изображена на рис.3
Параллельный
логический расширитель.
Расширитель реализовывать
логические функции, состоящие из термов соседних МЯ. Таким образом, МЯ
связываются в цепочку. Расширитель позволяет использовать до 20 термов. 5
термов берутся непосредственно из данной МЯ, остальные 15 из соседних МЯ
данного логического блока. Дополнительная временная задержка, втосимая
расширителем обозначается tPEXP. Последовательно
в цепочку можно соединить до 8 МЯ.
Схема параллельного логического
расширителя представлена на рис.4

Рис. 3 Разделяемый расширитель

Рис. 4 Параллельный расширитель
Программируемая матрица соединений
Программируемая матрица
соединений (PIA) реализует все внутренние связи. С этой
шиной соединены все источники и приемники сигналов. Все специальные сигналы,
выводы ввода/вывода, сигналы МЯ. На рис.5 показано как сигналы PIA подводятся к логическим блокам (LAB).

Рис.5 Схема передачи сигналов из
программируемой матрицы соединений в логические блоки.
Блок
управления вводом/выводом.
Блок управления вводом/выводом позволяет
индивидуально конфигурировать каждый вывод ПЛИС. Вывод ПЛИС может быть настроен
на ввод, вывод, двунаправленную передачу данных. Все выводы ПЛИС могут быть
выводами буфера с третьим состоянием, который может управляться глобальным
сигналом. Кроме того возможен режим работы с открытым коллектором. На рис.6
показана схема блока управления.

Рис.6 Блок управления
вводом/выводом.
Программирование в системе.
(In-System Programmability ISP)
ПЛИС семейства MAX
7000S соответствуют промышленному стандарту 4-pin Joint
Test Action Group (JTAG) IEEE Std. 1149.1-1990). ISP быстро
и эффективно изменять конфигурацию ПЛИС как в стадии тестирования проекта, как
и в течение эксплуатации. Перепрограммирование может быть выполнено
непосредственно в системе, для этого необходим только один уровень напряжения
5В. Пока идет программирование, выводы микросхемы переводятся в третье
состояние, для избежания конфликта с системой. Сопротивление внутренних “подтягивающих”
резисторов 50кОм.
Для программирования используется
специальный загрузочный кабель Altera MasterBlaster, ByteBlaster или ByteBlasterMV. Программирование
ПЛИС в системе позволяет снизить вероятность повреждения при эксплуатации
устройства. Кроме того, модернизация устройства может быть выполнена в полевых
условиях, например, с помощью модема.
Для программирования ПЛИС во
встраиваемых приложениях может быть использован Jam Standard Test and Programming Language (STAPL)
В семействе MAX
7000S функция ISP совместима со спецификацией IEEE Std. 1532. Эта спецификация
разработана для согласования устройств от разных производителей.
Программный контроль быстродействия/энергопотребления.
ПЛИС MAX
7000 могут работать в режиме энергосбережения. Этот режим позволяет сократить
энергозатраты на 50% и более. Большинство логических функций не используют
значительную часть вентилей – этот факт используется для реализации данного
режима.
Разработчик может для каждой МЯ
выбрать режим высокого быстродействия или энергосбережения (устанавливается или
снимается TurboBit). МЯ, работающие в режиме экономии
электроэнергии, характеризуются дополнительной временной задержкой tLPA, задержка добавляется к параметрам
tLAD, tLAC,
tIC, tEN,
tSEXP, tACL,
tCPPW.
Конфигурация выходов.
MaltiVolt I/O
Interface.
ПЛИС MAX
7000 (за исключением 44-выводных корпусов) поддерживают интерфейс MultiVolt I/O, который обеспечивает работу микросхемы в устройствах с
разным уровнем питания.
На выводы VCCINT всегда должно быть подано напряжение 5В. При уровне
напряжения на выводе VCCINT 5В порог входного
напряжения соответствует уровню 5В, однако совместим и с логикой 3,3 В.
На выводы VCCIO может быть подано напряжение питания 3,3В или 5В, в
зависимости от требований к выходному каскаду. Когда на выводы VCCIO подано напряжение 5В, уровень выходного каскада
соответствует системам 5В. Если подано 3,3В, выходной сигнал соответствует
логике 3,3 В, однако совместим и с 5В.
Выход с открытым коллектором
(только для MAX 7000S).
Выводы ПЛИС MAX
7000S могут быть настроены как выводы с открытым
коллектором.
Slew-Rate Control.
Для выходных буферов ПЛИС
существует возможность регулирования уровня шумов. Низкий уровень шумов может
быть достигнут за счет снижения быстродействия. И наоборот, повышение
быстродействия приводит в росту уровня шума.
Программирование при помощи внешнего аппаратного
обеспечения.
Для ПЛИС семейства MAX 7000 существует возможность программирования на ПК,
работающих под управлением ОС Windows. Для этого необходимы
Altera Logic Programmer card, Master Programming Unit (MPU) и
соответствующий адаптер. MPU выполняет
непрерывную проверку, цель которой обеспечить электрический контакт между
адаптером и ПЛИС.
Защита разработки.
Все микросхемы серии MAX 7000 содержат программируемый бит секретности, который
контролирует доступ к “зашитым” в микросхему данным. Если бит установлен,
прошивка не может быть считана. Этот способ обеспечивает высокую степень
защищенности проекта, т.к. информация, находящаяся в ячейках EEPROM,
не видима. Бит может быть сброшен только при перепрограммировании ПЛИС.
Электрические параметры.
Электрические
параметры Табл.2
|
Символ
|
Параметр
|
Условия измерения
|
Min
|
Max
|
Единицы измерения
|
|
Vccint
|
Напряжение питания логики
и входных буферов
|
коммерческое исполнение
|
4,75
|
5,25
|
В
|
|
Vccio
|
Напряжение питания
выходных буферов 5В
|
коммерческое исполнение
|
4,75
|
5,25
|
В
|
|
Напряжение питания выходных
буферов 3,3В
|
коммерческое исполнение
|
3,00
|
3,6
|
В
|
|
Vccisp
|
Напряжение питания ISP
|
|
4,75
|
5,25
|
В
|
|
Vi
|
Входное напряжение
|
|
-0,3
|
Vccint+0,5
|
В
|
|
Vo
|
Выходное напряжение
|
|
0
|
Vccio
|
В
|
|
VIH
|
Входное напряжение высокого
уровня
|
|
2,0
|
Vccint+0,5
|
В
|
|
VIL
|
Входное напряжение низкого
уровня
|
|
-0,3
|
0,8
|
В
|
|
VOH
|
5.0В Выходное напряжение
высокого уровня ТТЛ
|
IOH=-4мА, Vccio=4,75В
|
2,4
|
|
В
|
|
3.3В Выходное напряжение
высокого уровня ТТЛ
|
IOH=-4мА, Vccio=3,00В
|
2,4
|
|
В
|
|
3.3В Выходное напряжение
высокого уровня КМОП
|
IOH=-0,1мА, Vccio=3,00В
|
Vccio-0,2
|
|
В
|
|
VOL
|
5.0В Выходное напряжение
низкого уровня ТТЛ
|
IOL=12мА, Vccio=4,75В
|
|
0.45
|
В
|
|
3.3В Выходное напряжение
низкого уровня ТТЛ
|
IOL=12мА, Vccio=3,00В
|
|
0.45
|
В
|
|
3.3В Выходное напряжение низкого
уровня КМОП
|
IOL=0,1мА, Vccio=3,00В
|
|
0.2
|
В
|
|
II
|
Ток утечки
зарезервированных выводов
|
VI=Vcc
или земля
|
-10
|
10
|
мкА
|
|
IOZ
|
Ток утечки выводов в
третьем состоянии
|
Vo=Vcc или земля
|
-40
|
40
|
мкА
|
|
CIN
|
Емкость зарезервированных
выводов
|
VIN=0В, f=1,0 МГц
|
|
10
|
пФ
|
|
CI/O
|
Емкость выводов
|
VOUT=0В, f=1,0 МГц
|
|
10
|
пФ
|
Временная модель.
Временные параметры ПЛИС MAX 7000 могут быть проанализированы при помощи программного
обеспечения фирмы Altera. Для анализа может быть
полезна временная модель, приведенная на рис.7. Все микросхемы серии MAX 7000 имеют фиксированные временные задержки, что
позволяет разработчику точно рассчитать наихудший вариант. САПР MAX + PLUS II позволяет точно эмулировать
задержки распространения сигнала от точки к точке.

Рис.7 Временная модель.

Рис.8 Диаграмма задержек
распространения сигналов в ПЛИС
Параметры временной модели EPM7064S-10
(временные параметры в нс, частоты в МГц) Табл.3
|
Символ
|
Параметр
|
Значение
|
|
Min
|
Max
|
|
tIN
|
Задержка на входе и выходном буфере
|
|
0.5
|
|
tIO
|
Задержка на двунаправленном выходе
|
|
0.5
|
|
tSEXP
|
Задержка разделяемого расширителя
|
|
5.0
|
|
tPEXP
|
Задержка параллельного расширителя
|
|
0.8
|
|
tLAD
|
Задержка в локальной программируемой матрице “И”
|
|
5.0
|
|
tLAC
|
Задержка управляющего сигнала триггера в локальной
программируемой матрице “И”
|
|
5.0
|
|
tIOE
|
Внутренняя задержка сигнала разрешения
|
|
2.0
|
|
tOD1
|
Задержка сигнала от выходного буфера до вывода
VCCIO=3,3В slew rate=off
|
|
1.5
|
|
tOD2
|
Задержка сигнала от выходного буфера до вывода
VCCIO=2,5В slew rate=off
|
|
2.0
|
|
tOD3
|
Задержка сигнала от выходного буфера до вывода
slew rate=on
|
|
5.5
|
|
tZX1
|
Задержка сигнала в выходном буфере после снятия разрешения
выхода VCCIO=3,3В slew rate=off
|
|
5.0
|
|
tZX2
|
Задержка сигнала в выходном буфере после снятия разрешения
выхода VCCIO=2,5В slew rate=off
|
|
5.5
|
|
tZX3
|
Задержка сигнала в выходном буфере после снятия разрешения
выхода slew rate=on
|
|
9.0
|
|
tXZ
|
Задержка сигнала в выходном буфере после сигнала
запрещения выхода
|
|
5.0
|
|
tSU
|
Время установки регистра
|
2.0
|
|
|
tH
|
Время удержания сигнала на регистре
|
3.0
|
|
|
tRD
|
Регистровая задержка
|
|
2.0
|
|
tCOMB
|
Комбинационная задержка
|
|
2.0
|
|
tIC
|
Задержка изменения сигнала относительно тактового импульса
|
|
5.0
|
|
tGLOB
|
Задержка глобальных управляющих сигналов
|
|
1.0
|
|
tPRE
|
Задержка установки регистра МЯ
|
|
3.0
|
|
tPRE
|
Время предустановки регистра МЯ
|
|
3.0
|
|
tCLR
|
Время сброса регистра МЯ
|
|
3.0
|
|
tPIA
|
Задержка ПМС
|
|
1.0
|
|
tLPA
|
Задержка за счет понижения потребления
|
|
11.0
|
|
tPD1
|
Задержка вход – комбинационный выход
|
|
10
|
|
tPD2
|
Задержка вход - регистровый выход
|
|
10
|
|
tSU
|
Время установки глобального синхросигнала
|
7.0
|
|
|
tH
|
Время удержания глобального синхросигнала
|
0.0
|
|
|
tCO1
|
Задержка глобального синхросигнала до выхода
|
|
5.0
|
|
tCH
|
Длительность высокого уровня глобального синхросигнала
|
4.0
|
|
|
tCL
|
Длительность низкого уровня глобального синхросигнала
|
4.0
|
|
|
tASU
|
Время установки синхросигнала триггера МЯ
|
2.0
|
|
|
tAH
|
Время удержания синхросигнала триггера МЯ
|
3.0
|
|
|
tACO1
|
Время синхросигнала триггера МЯ до выхода
|
|
10
|
|
tACH
|
Длительность высокого уровня синхросигнала триггера МЯ
|
4.0
|
|
|
tACL
|
Длительность низкого уровня синхросигнала триггера МЯ
|
4.0
|
|
|
tCPPW
|
Минимальная длительность сигналов сброса и установки
триггера МЯ
|
4.0
|
|
|
tCNT
|
Минимальный период глобального синхросигнала
|
|
10.0
|
|
fCNT
|
Максимальная глобальная внутренняя тактовая частота
|
100.0
|
|
|
tACNT
|
Минимальный период синхросигнала триггера МЯ
|
|
10.0
|
|
fACNT
|
Максимальная внутренняя тактовая частота триггера МЯ
|
100.0
|
|
|
fMAX
|
Максимальная тактовая частота
|
125.0
|
|
Потребление электроэнергии.
Энергопотребление (P) зависит от рабочей частоты ПЛИС. Для серии MAX 7000 расчетное уравнение имеет
вид:
P=PINT+PIO=ICCINT*VCC+PIO
Значение PIO
определяется выходной характеристикой и рабочей частотой ПЛИС.
Величина ICCINT зависит от рабочей частоты. Рассчитывается по формуле
ICCINT=A*MCTON*B*(MCDEV-MCTON)+C*MCUSED*fMAX*togLC , где
MCTON – Число МЯ с включенным битом Turbo Bit (этот
параметр можно посмотреть в файлах отчетов MAX+PLUS II (.rpt)
MCDEV – Число МЯ в ПЛИС
MCUSED – Число МЯ,
используемых в разработке. Значение в отчетах MAX+PLUS II (.rpt)
fMAX –
Максимальная рабочая частота ПЛИС
togLC –
среднее коэффициент логический ячеек, задействованных в каждом такте
(типовое
значение 0,125)
A,B,C – константы. Значения для EPM7064S A=0.93
B=0.40 C=0.040

Рис.9 Зависимость потребляемого тока от частоты (EPM7064S)


Рис.10 Корпус микросхемы EPM7064STC100-10
Назначение выводов EPM7064S Табл.4
|
Назначение вывода
|
44-pin
PLCC
|
44-pin
TQFP
|
84-pin
PLCC
|
100-pin
TQFP
|
|
INPUT/GCLK1
|
43
|
37
|
83
|
87
|
|
INPUT/GCLRn
|
1
|
39
|
1
|
89
|
|
INPUT/OE1
|
44
|
38
|
84
|
88
|
|
INPUT/OE2/
GCLK2
|
2
|
40
|
2
|
90
|
|
TDI
|
7
|
1
|
14
|
4
|
|
TMS
|
13
|
7
|
23
|
15
|
|
TCK
|
32
|
26
|
62
|
62
|
|
TDO
|
38
|
32
|
71
|
73
|
|
GND
|
10,22,30,42
|
4,16,24,36
|
7,19,32,42,
47,59,72,82
|
38,86,11,26,
43,59,74,95
|
|
VCCINT
(только
5.0 В)
|
3,15,23,35
|
9,17,29,41
|
3,43
|
39,91
|
|
VCCIO
(3.3
В или 5.0 В)
|
-
|
-
|
13,26,38,
53,66,78
|
3,18,34,51,
66,82
|
|
Не используются
|
-
|
-
|
-
|
1,2,5,7,22,24
27,28,49,50,
53,55,70,72,77,78
|
|
Общее число
используемых выводов
|
36
|
36
|
68
|
68
|
Петрелевич Сергей
zalivnoy@yandex.ru
www.nsdevice.narod.ru
Источники информации:
1)
www.altera.com
2) Стешенко
В.Б. ПЛИС фирмы “Altera”: элементная база, система
проектирования и языки описания аппаратуры // М.: Москва Издательский дом “Додэка-XXI”, 2002.
3) Угрюмов
Е.П. Цифровая схемотехника // М.: “БХВ - Санкт-Петербург“, 2000.