Применение перепрограммируемых конфигурационных приборов АТ17(А) фирмы ATMEL для ПЛИС FPGA фирм ALTERA и XILINX

№ 5’2002
PDF версия
Известны три основных типа электронных приборов, три кита, на которых сегодня держится практически вся электроника: микроконтроллеры популярной 8-разрядной серии MCS51, применяемые для управления не слишком быстрыми устройствами или для обработки сигналов по сравнительно простым алгоритмам, DSP-процессоры, используемые при сложных и скоростных вычислениях, и приборы программируемой логики PLD, вобравшие в себя всю промежуточную и сопрягающую логику.

Введение

Известны три основных типа электронных приборов, три кита, на которых сегодня держится практически вся электроника: микроконтроллеры популярной 8-разрядной серии MCS51, применяемые для управления не слишком быстрыми устройствами или для обработки сигналов по сравнительно простым алгоритмам, DSP-процессоры, используемые при сложных и скоростных вычислениях, и приборы программируемой логики PLD, вобравшие в себя всю промежуточную и сопрягающую логику. В последнее время в связи с выходом устройств FPGA высокой плотности, являющимся развитием кристаллов программируемой логики, стало возможным построение сложнейших устройств, получивших название система на кристалле, которые могут содержать внутри себя ядро мощного микропроцессора и типовые устройства связи с внешним миром (UART, параллельные порты ввода-вывода, таймеры, счетчики, ШИМ), память для хранения программ и данных и гибко трансформируемую логику PLD.

На этих устройствах можно создавать практически любые цифровые схемы, любого уровня сложности, что в сочетании со сравнительно невысокой ценой делает их сегодня незаменимыми и весьма популярными. Неудивительно поэтому, что существует группа конкурирующих компаний — производителей FPGA, выпускающих схожие по параметрам микросхемы, — Altera, Xilinx, Lucent, Atmel Corp. и другие. Cфера применения таких цифровых устройств неограниченно широка, однако разработка их — крайне сложный процесс.

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

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

Сколько раз делаются изменения кода, прежде чем проект становится товаром, продукцией? Однажды? Дважды? Сотню раз? Некоторые разработчики по незнанию или по привычке все еще используют OTP EPROM (one time programmed — однократно программируемое ПЗУ) для конфигурации FPGA. Это нерационально, расточительно и хлопотно. Каждый раз, делая изменения кода, они должны удалить OTP EPROM из платы, выбросить его и заменить новым. (Эти OTP следовало бы расшифровывать как Одна Трата Ресурсов!)

Оказывается, возможны и другие решения: новая серия перепрограммируемых конфигураторов AT17(А) фирмы Atmel позволяет, используя ISP (in system programming — внутрисистемное программирование) программировать устройство много раз, даже без удаления конфигуратора из платы. Конфигураторы серии AT17(А) фирмы Atmel гарантируют 10 000 циклов записи. Они работают фактически с любым FPGA (включая собственную серию FPGA Atmel) и применимы в системах с напряжением питания 3,3 и 5 В.

Опишем применение перепрограммируемых конфигураторов Atmel вместо конфигураторов ЕРС1064, ЕРС1213, ЕРС1441, ЕРС1 и ЕРС2 фирмы Altera и аналогичных ОТР EPROM фирмы Xilinx.

Конфигураторы фирмы Atmel

Конфигурационная ЕЕРRОМ (конфигуратор) для устройств FPGA является последовательной памятью, которая используется для загрузки образа FPGA.

Серия конфигурационных приборов фирмы Atmel обладает следующими особенностями:

  • совместимость с AT6000, ATT3000 (Atmel), EPF6K, EPF8К, FLEX10K, ACEX (Altera), XC2000, XC3000,XC4000, XC5000 (Xilinx), Lucent ORCA FPGA, MPA1000;
  • прямая замена для OTP EPROM фирм-производителей FPGA;
  • конкурентоспособность с OTP EPROM по стоимости;
  • широкий выбор объемов: от 64 К до 1 M;
  • программируемая полярность сигнала Reset позволяет адаптироваться к любым FPGA;
  • различные виды конструктивного исполнения: DIP, PLCC или SOIC;
  • простой интерфейс к FPGA требующий только одной ножки ввода-вывода;
  • программируемость «в системе» через 2-проводную шину;
  • серия поддерживается стандартными промышленными программматорами;
  • высокая скорость конфигурации FPGA (15 МГц);
  • время программирования — 2 секунды;
  • каскадное соединение для программирования больших FPGA;
  • сигнал «Готов» гарантирует достоверность включения питания системы;
  • свойство защиты записи позволяет использовать незанятую часть памяти для хранения данных в энергонезависимой памяти;
  • малая потребляемая мощность;
  • 3,3-вольтовая версия;
  • эмуляция последовательных программируемых ПЗУ 24CXX.

В качестве примера в табл. 1 приведено сравнение перепрограммируемых конфигураторов фирмы Atmel с OTP EPROM фирмы Altera.

Таблица 1
  Atmel AT17A Altera EPC
1
ISP (программируемость в системе) Да Нет
3
Перепрограммируемость Да Нет
3
Наличие питания 3,3 В Да Да
ISP (программируемость в системе) при питании 3,3 В Да Нет
3
Корпус 8 ножек DIP Да
5
Да
4
Корпус 20 ножек PLCC Да
2
Да
Каскадируемость Да Да
Прибор 128К х 1 Да Нет

Примечания:

  1. Источник: Altera 1998 databook (относится только к EPC1064, EPC1213, EPC1441 и ЕРС1)
  2. Приборы серии Atmel АТ17А в корпусе PLCC.20 прямо совместимы по цоколевке с приборами ЕРС.
  3. Перепрограммируемость для прибора ЕРС2 ограничена.
  4. Нет в ЕРС2.
  5. Серия Atmel АТ17 совпадает с приборами фирмы Altera для корпусов DIP.8.

Как видно из таблицы, конфигураторы фирмы Atmel обладают рядом преимуществ в сравнении с OTP EPROM фирмы Altera.

Примерно такая же картина вырисовывается при сравнении их с OTP EPROM фирмы Xilinx.

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

Применение конфигураторов Atmel с FPGA фирмы Altera

Серия АТ17А фирмы Atmel имеет более широкий диапазон плотностей, чем ЕРС фирмы Altera, что позволяет в некоторых случаях использовать микросхемы памяти с меньшим объемом, то есть более рационально. Требования к памяти, применяемой для программирования FPGA фирмы Altera серии FLEX8000, приведены в табл. 2.

Таблица 2
Cерия FLEX8000 Конфигурационных бит Память ОТР Altera ISP EEPROM Atmel
EPF8282 40K EPC1064 AT17C/LV65(A)
EPF8452 64K EPC1213 AT17C/LV65(A)
EPF8636 96K EPC1213 AT17C/LV128(A)
EPF8820 128K EPC1213 AT17C/LV128(A)
EPF81188 192K EPC1213 AT17C/LV256(A)
EPF81500 250K EPC1213 x 2 AT17C/LV256(A)

В табл. 3 приведены сведения по конфигураторам используемым при программировании FPGA Altera серии FLEX10K.

Таблица 3
FLEX10K Число бит ОТР прибор фирмы Altera EEPROM прибор фирмы Atmel
EPF10K10 115 K EPC1441 AT17C/LV512A
EPF10K20 225 K EPC1441 AT17C/LV512A
EPF10K30 368 K EPC1441 AT17C/LV512A
EPF10K40 488 K EPC1 AT17C/LV512A
EPF10K50 609 K EPC1 AT17C/LV010A
EPF10K70 881 K EPC1 AT17C/LV010A
EPF10K100 1172 K EPC2 или EPC1 х 2 AT17C/LV020A или AT17C/LV010A х 2
EPF10K130 1563 K EPC2 или EPC1 х 2 AT17C/LV020A или AT17C/LV010A х 2
EPF10K200 TBD EPC2 х 2 или EPC1 х 3 AT17C/LV020A х 2 или AT17C/LV010A х 3
EPF10K500 TBD EPC2 х 2 или EPC1х 4 AT17C/LV020A х 2 или AT17C/LV010A х 4

Примечание: ЕРС2 имеет объем 1 695 680 х 1, тогда как объем AT17C/LV020A = 2 097 152 бит, то есть это полные 2-мегабитные приборы.

Табл. 4 содержит требования к памяти для приборов Altera FLEX6K при использовании компонентов фирмы Atmel серии АТ17А.

Таблица 4
FLEX6K Число бит ОТР EPROM фирмы Altera EEPROM прибор фирмы Atmel
EPF6010 160 K EPC1441 AT17C/LV512A
EPF6016 260 K EPC1441 AT17C/LV512A
EPF6024 420 K EPC1441 AT17C/LV512A

Совместимость ножек (DIP-8)

Конфигураторы AT17 и Altera EPC1064/EPC1213 в корпусе DIP-8 совместимы по цоколевке. Конфигураторы Atmel могут использоваться для конфигурирования FPGA путем установки прямо в панельку EPC1064/EPC1213 без какого-либо изменения схемы. Табл. 5 показывает соответствие названия ножки конфигуратора Atmel названию ножки Altera.

Цоколевка конфигураторов в корпусе DIP-8
Таблица 5
Номер ножки Altera DIP-8 Atmel DIP-8 Замечания
1 DATA DATA Cовместимы
2 DCLK CLK Cовместимы
3 (WP)OE (WP)RESET/OE Совместимы, если в приборе Atmel полярность Reset — активный низкий (ОЕ — акт. высокий)
4 NCE CE Cовместимы
5 GND GND Cовместимы
6 NCASC CEO(A2) Cовместимы
7 Vpp SER_N Ножка OTP EPROM фирмы Altera используется для ISP в АТ17А фирмы Atmel
8 Vcc Vcc Cовместимы
Таблица 6
Номер ножки Altera PLCC—20 Atmel PLCC—20 Замечания
1 TDO Особенность ЕРС2
2 DATA DATA Совместимы
3 ТСК Особенность ЕРС2
4 DCLK DCLK Совместимы
5 WP1 Особенность АТ17с512А/010A
5 VccSEL Особенность ЕРС2
8 OE OE Совместимы, когда полярность Reset — акт. низкий (ОЕ — высокий) в приборах Atmel
9 nCS nCs Совместимы
10 GND GND Совместимы
11 TDI Особенность ЕРС2
12 NCASC NCASC(A2) Совместимы
13 NINIT_CONFIG Особенность ЕРС2
14 VppSEL Особенность ЕРС2
15 READY Особенность приборов Atmel
18 Vpp(программирующая ножка) SER_EN Ножка OTP EPROM фирмы Altera используется для ISP в АТ17А фирмы Atmel
19 TMS Особенность ЕРС2
20 Vcc Vcc Cовместимы

Совместимость ножек для корпусов PLCC-20

Приборы AT17020A, AT17C010A, AT17C512A совместимы по ножкам с приборами ЕРС2, ЕРС1, ЕРС1441.

Приборы AT17C65A, AT17C128A, AT17C256A совместимы по ножкам с приборами EPC1064, EPC1213.

Цоколевка конфигураторов в корпусе PLCC-20

Замена однократно программируемых приборов фирмы Altera на перепрограммируемые приборы серии AT17A фирмы Atmel

В выборе устройства и разработке схемы для любого FPGA ключевыми вопросами являются:

  • соответствие числа битов программы FPGA объему памяти конфигуратора;
  • совместимость цоколевки и применимость конструктивного исполнения;
  • конфигуратор ведущий или ведомый ( важно только для 512A/010A/020A/002A);
  • существование слабого внутреннего подтягивающего или опускающего резисторов на ножках FPGA или конфигуратора;
  • предупреждение столкновений для тактовых сигналов в течение ISP;
  • предупреждение столкновений на линиях сигналов RESET/OE и CE (nCS) в течение ISP (только для 65/128/256).
Применение АТ17 для конфигурирования EPF8K фирмы Altera

Приборы ЕРС фирмы Altera могут замещаться конфигурационными перепрограммируемыми приборами фирмы Atmel серии АТ17А путем трансляции программных файлов из формата Altera в формат Atmel. Для облегчения этого процесса Atmel предлагает программную утилиту CPS, которую можно свободно получить на сайте Atmel. Она работает под операционными системами Windows’95/98/NT. Эта программа выдает Intel (MCS-86) Нех-файл, который может быть прочитан любыми стандартными программаторами. При работе с программатором ATDH2200E фирмы Atmel и этой программой, данные могут загружаться непосредственно в конфигураторы Atmel (см. рис. 9).

Применение АТ17 для конфигурирования EPF10K фирмы Altera

Серия конфигураторов АТ17А может непосредственно применяться в устройствах с FPGA фирмы Altera, предоставляя пользователю возможность перепрограммирования.

Применение двух АТ17 для конфигурирования EPF10K фирмы Altera

Применение конфигураторов показанное на рис. 3–5 аналогично соответствующим рекомендациям по применению ОТР EPROM Altera. Отличие существует лишь на рис. 4 и 5, где рекомендуется использование RC-цепочки на входе nCONFIG для того, чтобы ввести задержку в 100–200 мс, обычно устанавливаемую приборами ОТР EPROM Altera. Эта задержка позволяет источнику питания установить нормальный уровень напряжения на плате до того, как будет выполнен сеанс конфигурированния FPGA.

Примеры применения конфигураторов Atmel с FPGA фирмы Xilinx для приборов с внутрисистемной программируемостью (ISP)

FPGA фирмы Xilinx (например, XC4000, Spartan, Virtex) могут взаимодействовать с конфигураторами AT17 без особых хлопот, однако, конфигураторы большого объема серии AT17 (512 К, 1 M и 2 M) имеют упрощенный 3-проводной интерфейс, очень полезный для ISP. Чтобы обеспечить необходимый объем памяти для каскадного подключения FPGA или для FPGA большого объема, конфигураторы AT17 могут быть расположены каскадом. Рис. 6 показывает пример применения конфигуратора небольшого объема AT17 для одного XC4000 FPGA.

Применение конфигураторов АТ17 с FPGA фирмы Xilinx в устройствах с ISP

Мультиплексор ИС 74HC (T) 157 подключает сигналы конфигуратора или к FPGA или к разъему ISP. Опускающий резистор на ножке конфигуратора A2 обеспечивает адресование входного потока данных в процессе программирования.

SER_EN служит как управляющий сигнал для выбора ввода мультиплексора и определяет эксплуатационный режим СППЗУ. В конфигураторах малого объема AT17, для программирования информации пользователя и установки полярности сброса необходимо ввести управление для выводов CE и RESET/OE.

В семействе XC4000 FPGA на линиях Program и Done существует внутренний нагрузочный резистор.

Действительно ли мультиплексор обязателен для ISP AT17 65 К, 128 К и СППЗУ 256 К? Не обязательно. Если вы не желаете применять ИС мультиплексора в процессе ISP (Atmel AT40K, приборы Xilinx и Lucent), то вы должны запрограммировать полярность сброса. Для новых устройств низкой плотности с литерой B после кода даты мультиплексор не требуется.

Для AT17 конфигураторов с низкой плотностью управление cигналами CE и RESET/OE необходимо для программирования информации пользователя и установки полярности Reset. Сложность устройства с возможностью внутрисхемного программирования значительно снижается при использовании конфигураторов АТ17 с большим объемом памяти, что и отражено на рис. 7. Диодная связь между выводом Program ХС4000 и SER_EN сигналом позволяет внешнему программатору переводить FPGA в состояние сброса в процессе программирования. Это позволяет уйти от конфликтов на линии SCLK. Вывод конфигуратора READY может быть также присоединен к ножке Program ХС4000 для того, чтобы переводить FPGA в ожидание в процессе сброса, для того, чтобы конфигуратор уверенно завершил свой цикл при включении питания. На линиях Program и Done не требуется устанавливать опускающий резистор, поскольку он существует внутри FPGA ХС4000. Он может быть подключен пользователем при помощи специальной опции в программном пакете Xilinx.

Пример устройства с ISP для FPGA фирмы Xilinx

Специализированные выводы WP1 и WP2 для 512/010/002 имеют слабые внутренние опускающие резисторы и если остаются неподключенными, то позволяют таким образом удобно отключать защиту записи этих конфигураторов. Точно так же на вводе A2 для конфигураторов 512/010/002 в течение ISP не требуетсявнешний опускающий резистор, поскольку там есть слабый внутренний опускающий резистор.

В простых каскадных приложениях, применяющих два СППЗУ (рис. 8), ввод A2 может использоваться как адресующий, задавая логический «0» для одного СППЗУ и логический уровень «1» для другого СППЗУ. Утилита программирования может изменять A2 бит с целью выбора одного из этих двух СППЗУ.

Пример ISP для двухкаскадного устройства AT17C512/010/002S, использующего FPGA типа XC4000

Устройства, применяющие больше чем два СППЗУ должны использовать A2 ввод как выбор кристалла. В дополнение к внешней декодирующей схеме, которая должна выборочно управлять каждым низким A2 вводом, на каждом A2 требуются нагрузочные резисторы. Рис. 8 иллюстрирует ISP для двухкаскадного устройства AT17C512/010/002S, использующего FPGA типа XC4000.

Пример ISP для приборов серии АТ17(А) через программатор ATDH2200

Примеры применения конфигураторов Atmel с FPGA фирмы Altera для приборов с внутрисистемной программируемостью (ISP)

Конфигураторы серии АТ17А допускают программирование в системе, то есть тогда, когда они уже установлены на плату. Далее приведены примеры схем, где программатором поддерживаются следующие функциональные возможности:

  • считывание кода прибора и кода производителя;
  • программирование прибора;
  • проверка прибора;
  • установка полярности сигнала Reset.

Хотя конфигураторы фирмы Atmel могут быть запрограммированы различными способами, например с помощью микроконтроллера или под управлением PLD-устройства, однако легче всего это можно сделать обладателю фирменной платы программатора ATDH2200.

Для ISP-программирования эта плата используется как программируемый интерфейс между компьютером и программируемым прибором. Передача данных из или в конфигуратор может выполняться через кабель подключенный к плате и к разъему ИС.

Хотя FPGA фирмы Altera серии FLEX (EPF10K, EPF6K, EPF8K) могут конфигурироваться любыми конфигураторами АТ17А, некоторые приборы, такие, например, как приборы высокой плотности 512 К и 1 М, имеют простейший 3-проволочный интерфейс, весьма полезный при ISP. Рис. 10 служит примером применения АТ17А для одиночных микросхем EPF6K. Мультиплексор (например, 74НСТ157) подключает сигналы конфигуратора или к FPGA, или к ISP разъему.

Пример ISP c конфигураторами АТ17(А) для FPGA EPF6K

Чтобы обеспечить необходимый объем памяти, для FPGA высокой плотности конфигураторы AT17(A) могут быть расположены каскадом (см. рис. 5 и рис. 11). Резистор на ножке A2 конфигуратора обеспечивает заданное адресование потока данных в процессе программирования. Для того чтобы выделить отдельный конфигуратор на общей последовательной шине, бит A2 от программатора должен соответствовать уровню на ножке A2 предназначенного приемника. Для пользователей утилиты CF (Atmel) бит A2 может изменяться, используя переключатель /J < L | H >.

Пример каскадного соединения АТ17А с FPGA Altera в приборах с ISP

SER_EN служит как управляющий сигнал для выбора входа мультиплексора и определяет режим работы СППЗУ. Для конфигураторов AT17A с низкой плотностью управление ножками nCS и OE необходимо для программирования информации пользователя и установки полярности сигнала сброса.

В то время как nCONFIG может быть прямо связан с VCC, рекомендуется использовать RC-задержку или подключать его к Reset (активный низкий) на FLEX10K/6K. Это гарантирует, что VCC примет нормальные действующие уровни до начала конфигурации. Так как конфигураторы AT17A с низкой плотностью в процессе конфигурации не могут вырабатывать необходимый синхросигнал (то есть действовать как ведущий в системе), тактовые сигналы должны быть получены из-вне — от программатора, микропроцессора или от FPGA.

Как видно из рис. 10–12, сложность схемы ISP значительно снижается при работе с конфигураторами AT17A высокой плотности. Диодное подключение между ножкой nCONFIG EPF8K и сигналом SER_EN позволяет внешнему программатору перевести FPGA в состояние сброса в течение ISP. Это устраняет потенциальную возможность конфликта на линии DCLK.

ISP для FPGA EPF8K фирмы Altera

Вывод READY (необязательная особенность) конфигуратора может также быть связан с ножкой nCONFIG FPGA, чтобы вынудить FPGA оставаться в состоянии сброса, пока конфигуратор завершает свои действия на цикле сброса.

Для приборов Altera FLEX8K (рис. 12) внутренний генератор AT17A конфигуратора высокой плотности должен быть заблокирован. Это должно быть выполнено только однажды перед включением устройства или в течение ISP. Подключением nCS к разъему ISP (не показано). Еще один способ запретить формирование тактовых сигналов в АТ17512A/010A/020A/002A — это программное запрещение, которое описывается в документации [2].

Если специализированный вывод WP1 остается неподключенным, то слабый внутренний опускающий резистор в AT17C512A/010A безопасно отключает защиту записи этих конфигураторов. Точно так же в течение ISP внешний опускающий резистор на A2 входе не требуется, так как на этом выводе имеется слабый внутренний опускающий резистор.

В простых каскадных схемах включения конфигуратора, состоящих из двух EEPROM (рис. 11), вход A2 может использоваться как адресная линия, позволяющая устанавливать логический 0 для одного СППЗУ и логическую 1 — для другого. Программирующая утилита может изменять бит A2, вставляя в поток данных сообщения для того, чтобы адресовать любое из этих двух СППЗУ. Устройства, применяющие больше чем два СППЗУ, должны использовать ножку A2 как выбор кристалла. В дополнение к внешней схеме декодера, который должен выборочно управлять низким для каждого A2 входа требуются нагрузочные резисторы на каждом A2.

Следует все же отметить, что все это справедливо для печатных плат с корректно выполненной разводкой линий земли и питания. В устройствах, где уровни помех на сигналах довольно велики, нужно иметь в виду следующее:

В микросхему ЕРС1 встроена схема контроля ошибок, и она имеет регистр, загружаемый длиной конфигурирующего файла. Если ЕРС1 посылает целостную программу и не обнаруживает, что сигнал CONF_DONEстал высоким, то будет решено, что FLEX10K получил неправильные данные и, как следствие, прибор ЕРС1 вызовет повторную процедуру конфигурации, установив низкий импульсный уровень на ножке ОЕ. ПосколькуОЕ соединяется с nSTATUS в FLEX10K, то произойдет рестарт процесса конфигурации (если включена опция Auto-Restart on Frame Error).

Конфигурационные приборы фирмы Atmel предполагают существование такой схемы в конфигурируемом приборе, то есть во FLEX10K, однако поскольку она находится именно в ЕРС1, то они могут некорректно обрабатывать ошибку. Если сбой в процессе конфигурации существует, то FLEX 10K будет обнаруживать его с помощью процедуры циклического контроля (СRC) и устанавливать линию nSTATUS в низкое состояние независимо от того, прибор какой именно фирмы (Altera или Atmel) был применен. Однако если из-за наличия помех сигнал CONF_DONE не перешел в высокое состояние, а nSTATUS не стал низким, то прибор ЕРС1 захватил бы эту ошибку и вызвал реконфигурацию, но приборы фирмы Atmel этого не сделают. При достаточно квалифицированно выполненной разводке печатной платы проблем быть не должно.

В статье Д. Тимонина «Еще раз о конфигурировании ПЛИС Altera» [8], которую можно найти по адресу
http://www.dian.ru/pdf/st50-52.pdf в рубрике «Цифровая техника», описана разработанная автором схема, позволяющая выполнять программирование конфигуратора АТ17С/LV512/010 фирмы Atmel через слегка переделанный байт-бластер фирмы Altera. Там же описана схема переделаного бластера. В любом случае, знакомство с этой статьей представляется весьма полезным для всех, кто работает с устройствами FPGA.

Установка полярности RESET

Все конфигураторы в ряде AT17 и AT17A имеют способность изменять полярность RESET/OE. Это требуется, чтобы позволить устройствам должным образом конфигурировать различные семейства FPGA. Заданное по умолчанию состояние — активный низкий OE и активный высокий RESET.

Конфигураторы 65/128/256 используют различные алгоритмы с конфигураторами 512/010/020/002.

Программирование полярности RESET/OE конфигураторов 65/128/256

Установка полярности активный высокий OE (активный низкий RESET): Запишите байт данных FF по адресу 3FFFH. С двумя дополнительными ножками, используемыми при программировании поступите следующим образом:

Установка полярности активный низкий OE (активный высокий RESET): Запишите байт FF по адресу 3FFFH. С двумя дополнительными ножками, используемыми при программировании, поступите следующим образом:

Подтверждение (проверка) полярности RESET:

Включите устройство, должно наблюдаться следующее:

Если при этом ножка ДАННЫЕ находится в третьем состоянии, то RESET/OE запрограммирован как активный высокий OE (активный низкий RESET); если вывод ДАННЫЕ читает «0» или «1», то RESET/OE — активный низкий OE (активный высокий RESET).

Программирование полярности RESET/OE для конфигураторов 512/010/020

Установка полярности активный высокий OE (активный низкий RESET): Запишите четыре байта FF FF FF FF по адресам 20000–20003.

Установка полярности активный низкий OE (активный высокий RESET): Запишите четыре байта 00 00 00 00 по адресам 20000-20003.

Подтверждение полярности RESET/OE 512/010/020 конфигураторов: выполните чтение четырех байтов данных по адресам 20000–20003. Если данные — 00 00 00 00, тогда RESET запрограммирован для активный низкий OE (активный высокий — RESET); если данные — FF FF FF FF, тогда RESET запрограммирован как активный высокий OE (активный низкий — RESET).

Программирование полярности RESET/OE для конфигуратора 002

Установка полярности активный высокий OE (активный низкий RESET): Запишите четыре байта FF FF FF FF по адресам 400000–400003.

Установка полярности активный низкий OE (активный высокий RESET): Запишите четыре байта 00 00 00 00 по адресам 400000–400003.

Проверка полярности RESET/OE конфигуратора 002: выполните чтение четырех байтов данных по адресам 400000–400003. Если читаются данные 00 00 00 00, тогда запрограммировано активный низкий OE (активный высокий — RESET); если данные — FF FF FF FF, тогда запрограммирован активный низкий RESET.

Замечания: при программировании полярности RESET на конфигураторах AT17 и AT17A

  1. Состояния упомянутых выше ножек должно поддерживаться в течение полного цикла записи.
  2. После того как полярность RESET изменена, питание конфигуратора должно быть выключено.

В заключение несколько чаще всего встречающихся типовых вопросов и ответов по этой теме

Вопрос: Смогу ли я запрограммировать два pof-файла (*.pof и *_1.pof) в Atmel AT17LV002A или AT17LV020A СППЗУ. В инструментальном пакете Altera Quartus имеются два параметра выбора. Первая опция позволяет выбрать режим конфигурации, и я выбрал (правильно) PS (пассивный последовательный) режим. Это позволяет мне конфигурировать устройство Altera программируемым ПЗУ, микропроцессором или кабелем загрузки. Вторая установка должна выбрать устройство конфигурации. Так как имя устройства Atmel (AT17LV020A или AT17LV002A), очевидно, не предусматривается в программном обеспечении Altera, то я выбрал EPC2 устройство, полагая, что AT17LV020A способно подменить семейство EPC. Однако программное обеспечение Quartus решило, что изображение 20K200E размером почти 2 Мб слишком велико, чтобы вписаться в единственную EPC2 объемом 1,6 Мб, и поэтому оно разбило изображение на *.pof, и *_1.pof.

Ответ: В будущей версии CPS будет включена опция, позволяющая объединить два pof-файла и затем конвертировать этот файл в один bst-файл или один hex-файл.

Пока же мы рекомендовали бы проделать следующее: вы можете использовать опцию /B в программе Atmel CPS, чтобы преобразовать файлы *.pof и *_1.pof в два bst-файла. (Один файл преобразуется за один раз.) Теперь вы сможете открыть оба bst-файла текстовым редактором. Вставьте содержимое второго bst-файла в конец первого и сохраните в одном-единственном bst-файле. Пожалуйста обратите внимание, что порядок для копирования содержания файла очень важен. Наконец, вы можете программировать объединенный bst-файл в AT17LVXXXA СППЗУ, используя процедуру /P с установкой параметра «Семейство FPGA» в «Другие AT6K».

Если вы используете программатор иного вида, чем программатор Atmel ATDH2200, вы можете послать два pof-файла в группу Atmel «Приложения конфигураторов» по адресу Они будут использовать программное обеспечение CPS с вышеупомянутой процедурой, чтобы запрограммировать преобразованный и объединенный bst файл в Atmel AT17 ряд СППЗУ. Затем они будут использовать какой-либо иной программатор, чтобы прочитать данные от устройства и сохранят результат в hex (шестнадцатеричный объектный файл Intel MSC), который является популярным форматом и который будет принят любыми программаторами.

Замечание: CPS — бесплатное программное обеспечение, которое может быть загружено с сайта Atmel по адресу:
http://www.atmel.com/atmel/products/prod185.htm или с российского сайта:
http://www.atmel.ru/Binary/spcinstall.exe.

Вопрос: Если я конфигурирую только одно устройство FLEX 10K, APEX, ACEX или Mercury, что я должен делать с конфигурационным выводом nCEO?

Ответ: В схеме конфигурации только с одним устройством FLEX 10K, APEX, ACEX или Mercury вывод nCEO не используется, поскольку он работает так, как работал бы в цепочке конфигурационных устройств. Поэтому оставьте вывод nCEO свободным и работайте с ним как с зарезервированным выводом.

Как заявлено в файле отчета, ножка nCEO — специализированный конфигурационный вывод, который не может использоваться после конфигурации как ножка ввода-вывода. Ножка nCEO устанавливается на высоком уровне перед конфигурированием устройства и переходит в низкое состояние после того, как устройство успешно конфигурировано. Вы можете использовать ножку nCEO, чтобы воздействовать на вывод nCE другого FLEX 10K, APEX, ACEX или Mercury в цепочке устройств.

Вопрос: Какое напряжение я должен подключить к ножкам Vcc устройств конфигурации EPC1, EPC2 или EPC1441 при конфигурировании устройства FLEX с различными напряжениями VCCIO и VCCINT?

Ответ: В устройствах конфигурации EPC1, EPC2, или EPC1441 ножка VCC может быть связана с напряжением питания 3,3 или 5 В, поскольку все устройства FLEX 10K и АРЕХ имеют вводы с допуском 5 В.

Когда ножки VCC у EPC1 или EPC1441 связаны с 3,3 В, вы должны включить опцию «Использование низковольтовой конфигурации EPROM» в диалоговом окне Global Project Device Options (меню Назначения) перед генерацией файла программирования для конфигурирующего ПЗУ.

Напряжение питания EPC2 устанавливается подключениями VCCSEL и VPPSEL, а не через программное обеспечение.

Литература

  1. Configuring SRAM-Based LUT Devices. Altera Application Note 116.
  2. Programming Specification for Atmel’s AT17 and AT17A Series FPGA Configuration EEPROMs. Atmel. FPGA Configuration EEPROM Programming Specification. Application Note Rev. 0437H-03/01.
  3. AT17A Series Conversions from Altera FPGA Serial Configuration Memories. Atmel AT17A Series FPGA Configuration EEPROM Memory. Application Note FPGAs Rev. 0910B-10/99.
  4. FPGA Configuration EEPROM 65K, 128K and 256K AT17C65 AT17C128 AT17C256. Atmel Rev. Doc. 0391E-05/97.
  5. In-System Programming Cable ATDH2225 FPGA Configuration EEPROM Memory. Atmel. Rev. Doc. 2288A-05/01.
  6. In-system Programming of Cascaded AT17C/LV020 and Lower-density Devices in FPGA. Atmel. Applications Rev. 2292A-04/01.
  7. 2-megabit FPGA Configuration EEPROM Memory AT17C/LV020(A) AT17C/LV002(A). Atmel. Application Note Rev. 2317A-07/01.
  8. Д. Тимонин. Еще раз о конфигурировании ПЛИС Altera // Схемотехника. 2001. No 9.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *