Н. Королёв
Вся история развития микроэлектроники - это стремление к миниатюризации и повышению функциональности электронных компонентов. С момента изобретения интегральной микросхемы этот процесс идёт с возрастающей скоростью. B мы уже спокойно воспринимаем информацию о выпуске очередного электронного 'чуда', содержащего на кристалле десятки, а то и сотни миллионов транзисторов. Однако, успехи современной технологии позволяют не только наращивать количество транзисторов на кристалле, но также создавать принципиально новые электронные компоненты. О таких микросхемах и пойдёт речь в данной статье.
Типичное современное радиоэлектронное устройство, как правило, состоит из следующих модулей: микропроцессор, память и внешняя логика, которая обеспечивает связь с периферийными компонентами или аппаратно реализует критичные к скорости выполнения фрагменты устройства - например, высокоскоростной таймер или логику сопряжения с быстрым АЦП. Обычно приходится мириться с тем фактом, что эти функции реализуются на отдельных микросхемах, хотя каждая из них может иметь весьма высокую степень интеграции. Однако, сегодня становится актуальным создание малогабаритных низкопотребляющих приборов, где установка каждого добавочного компонента сопряжена с рядом трудностей. Фирмы-производители элементной базы, понимая это, начали проводить активные исследования в области создания микросхем следующего поколения, названных 'система на кристалле' - SOC (system on a chip). Значительных успехов в этой области достигла фирма ATMEL, завершив разработку и приступив к промышленному производству микросхем серии AT94K. По совокупности характеристик этих микросхемы можно считать элементной базой следующего поколения.
Существует несколько подходов к построению микросхем - систем на кристалле. Первый - создание заказной микросхемы (ASIC - Application Specific Integrated Circuit) с заданными характеристиками. Этот путь экономически целесообразен для использования в разработках с очень большими тиражами конечных изделий, так как сопряжён со значительными начальными вложениями. Например, изготовление только комплекта масок для микросхемы по 0,25-мкм технологии стоит 250 тысяч долларов. Кроме этого, высокий риск ошибки при разработке предопределяет тщательную, а значит длительную проверку проекта до начала изготовления масок, что значительно увеличивает срок разработки.
Другой подход состоит в использовании микросхем FPGA (Field Programing Gate Array) в качестве основы построения 'системы на кристалле'. Действительно, наличие большого числа макроэлементов на кристалле FPGA позволяет разместить на нём и ядро микропроцессора, и память, и собственно логическую часть. Однако, такое решение нельзя считать оптимальным в силу ряда причин:
- для реализации системы на кристалле приходится использовать микросхемы FPGA большой ёмкости (до 1 млн. элементов), цена которых составляет несколько сотен долларов;
- для размещения микропроцессорного ядра в кристалле FPGA в ряде случаев необходимо приобрести лицензию на использование 'интеллектуальной собственности' (IP - Intellectual Property). К примеру, цена IP на микропроцессорное ядро 8051 составляет 10 000 долларов США. Следует учесть также, что это ядро занимает около 17% ресурсов кристалла, содержащего 1 млн. элементов;
- как правило, приобретение прав на использовании IP не подразумевает получение исходных кодов этого ядра, таким образом, при комплексной отладке кристалла приобретённое ядро представляет собой 'чёрный ящик', что существенно усложняет и замедляет процесс отладки;
- микросхемы FPGA прекрасно подходят для работы с потоками данных, но далеко не оптимальны для реализации управляющей логики (в данном случае - микропроцессорного ядра). Эти функции более эффективно выполняют микросхемы CPLD (Complex Programmable Logical Devices) вследствие иного построения макроэлемента [1]. Некоторые фирмы-производители FPGA даже пошли на встраивание в свои FPGA-кристаллы фрагментов CPLD, нарушая при этом регулярность построения кристалла.
Подводя итог вышесказанному, можно отметить, что каждый из описанных методов построения SOC имеет те или иные недостатки.
Один из первых кристаллов, сочетающих в себе все необходимые компоненты при оптимальной структуре, удалось создать фирмеа ATMEL. Она выпустила новое семейство продуктов серии AT94K, называемое FPSLIC (Field Programmable System Level Integration Circuts - программируемые микросхемы системного уровня интеграции), и соответствующие средства разработки [2]. FPSLIC содержит на кристалле программируемую логическую FPGA-матрицу объёмом от 10 до 40 тысяч элементов, микроконтроллер, память и согласующую логику. Внешний вид кристалла FPSLIC показан на рис. 1. Новизна решения состоит в том, что микроконтроллер и память реализованы аппаратно. Рассмотрим подробнее архитектуру модулей FPSLIC.
Микропроцессорное ядро и FPGA-ядро FPSLIC
Встроенное в FPSLIC микропроцессорное ядро - это популярный AVR-микроконтроллер. AVR-архитектура имеет очень высокую эффективность кода по сравнению с другими 8-разрядными микропроцессорами, поэтому для хранения кода программы в SRAM на кристалле FPSLIC требуется меньший объём памяти. Тактовая частота ядра - 40 МГц, что обеспечивает производительность микропроцессорного ядра не ниже 30 MIPS, так как большинство команд выполняется за один такт задающего генератора. За основу ядра, интегрированного в FPSLIC, взят микроконтроллер Atmega161, имеющий регистровый файл, содержащий 32 регистра, таймер-счётчик, сторожевой таймер, а также аппаратный умножитель и два скоростных последовательных асинхронных порта. Дополнительные пользовательские периферийные блоки могут загружаются в FPGA и отображаются непосредственно в адресном пространстве AVR. Текущая конфигурация FPGA может быть легко изменена. Такая возможность обеспечивается механизмом Cache Logicд, встроенным в FPGA-ядро. Работа Cache Logicд похожа на работу кэш-памяти. Логические функции, требуемые для функционирования FPSLIC в данный момент времени, загружены в кристалл и активны, тогда как описания остальных функций хранятся в конфигурационном ПЗУ (рис. 2). Эти свойства FPSLIC позволяют производить реконфигурацию FPGA 'по запросу', подгружая по мере необходимости например, адаптивные фильтры для DSP, специализированный аппаратный умножитель и так далее. Стоит отметить, что данная операция производит замену конфигурации части кристалла, не затрагивая и не изменяя логику работы остальных его частей.
Встроенный модуль FPGA базируется на архитектуре FPGA семейства AT40K фирмы ATMEL и наследует все характеристики этих микросхем - выделенные блоки SRAM с временем доступа 10 нс, с возможностью работы в синхронном и асинхронном режимах, 8 глобальных тактовых сигналов, совместимость со стандартом PCI. Наличие дополнительных диагональных локальных связей в матрице FPGA обеспечивает гибкость и повышает скорость выполнения ряда операций (например, аппаратного умножения) (рис. 3).
Архитектура FPSLIC
Новое семейство на сегодняшний день содержит три кристалла. В таблице представлены основные характеристики микросхем серии AT94K.
Название Число элементов FPGA Число элементов FPGA Core Емкость FPGA SRAM, бит Число регистров FPGA Число входов/выходов FPGA Число входов/выходов AVR Емкость SRAM программ, Кбайт Емкость SRAM данных, Кбайт |
AT94K10 10K 576 4096 864 144 16 20-32 4-16 |
AT94K20 20K 1024 8192 1408 192 16 20-32 4-16 |
AT94K40 40K 2304 18432 2880 288 16 20-32 4-16 |
На кристалле FPSLIC размещено ОЗУ достаточно большого объёма - 36 Кбайт, которое может совместно использоваться AVR-микроконтроллером и логической матрицей. Память построена следующим образом. Блок памяти размером 20 Кбайт с организацией 10К х 16 используется как память программ для AVR-микроконтроллера. Ещё 4 Кбайт (4Кх8) отведены для памяти данных. Оставшийся блок размером 12 Кбайт разбит на 3 сегмента по 4 Кбайт, которые можно использовать как для расширения памяти данных, так и памяти программ, причём в первом случае память инициализируется как 8-бит, а в последнем - как 16-бит.
Напряжение питания микросхем - от 3,0 до 3,6 В. Порты ввода/вывода могут отдавать ток до 24 мА и работать с внешними сигналами, имеющими уровень логической единицы 5 В. Микросхемы выпускаются в корпусах типа PLCC, PQFP, TQFP и BGA с количеством выводов от 84 до 352, цоколевка совпадает с цоколевкой стандартных FPGA-микросхем. Микросхемы AT94K изготавливаются по 0,35-мкм технологии с 5-слойной металлизацией. Сроки выхода микросхем: AT94K40 - конец 2000 года, AT94K20 - начало 2001, AT94K10 - весна-лето 2001. Цена микросхем в небольших партиях составляет: для AT94K40 - 120 долларов США, AT94K20 - 50 долларов, AT94K10 - 30 долларов с учётом НДС.
Программные средства для FPSLIC
Для разработки проектов на микросхемах нового поколения, естественно, требуются соответствующие программные средства. Комплект программных средств для FPSLIC - System Designer - представляет собой интегрированную среду разработки. Впервые в пакет разработки как стандартное средство включен модуль коверификации (Co-verification tools). Программные средства создавались параллельно с разработкой кристаллов FPSLIC, поэтому достигнута хорошая аппаратно-программная совместимость. Комплект программ System Designer включает в себя существующие средства, которые используются для работы с микросхемамиAVR и FPGA, выпускающимися фирмой в настоящее время. Стандартные средства проектирования FPGA-микросхем модифицированы для работы с FPSLIC. Пользователь может применять знакомые модули - макрогенератор, HDLPlanner, анализатор задержек. При отладке AVR-ядра используется пакет AVR Studio.
Разработчики проектов на FPGA обычно используют языки описания схемы (HDL - hardware description language), такие как Verilog или VHDL, и затем проводят отладку проекта при помощи HDL-симулятора. Проекты на микроконтроллерах выполняются на языке Си или ассемблере и отлаживаются на программных дебаггерах или с использованием аппаратных внутрисхемных эмуляторов. Пакет System Designer объединяет эти средства, что не только ускоряет процесс разработки, но и позволяет разработчику проводить анализ взаимодействия программной и аппаратной частей разрабатываемого изделия уже на ранних стадиях проекта. Такие возможности реализованы в модуле коверификации. Известно, что до половины времени, затраченного на разработку проекта, уходит на отладку интерфейса взаимодействия компонентов разрабатываемой системы. Это итерационный процесс анализа и последующего исправления ошибок, накопившихся за время разработки схемы, разводки печатной платы и так далее. Известны случаи, когда приходилось возвращаться к начальной стадии проекта - изменению принципиальной схемы устройства с последующей переработкой печатной платы - так как неоднозначность описания внутрисистемного интерфейса делала невозможной реализацию требуемых функций на уже изготовленной печатной плате.
Интеграция в пакет System Designer всех необходимых программных средств позволяет производить процесс коверификации в исходных кодах с полной синхронизацией аппаратной и программной частей. System Designer позволяет сделать выбор оптимального решения на ранней стадии, а это сокращает время проектирования в несколько раз.
Модуль пакета System Designer для разработки FPGA-части устройства базируется на пакете IDS версии 7. Он включает макрогенератор, HDL-планировщик, автотрассировщик, ручной трассировщик, статический и интерактивный анализ временных диаграмм, библиотекарь, загрузчик микросхем и вспомогательные средства проектирования.
Макрогенератор позволяет добавлять в проект аппаратные и программные IP-ядра. Он вычисляет потребляемую мощность и ресурсы, требуемые для того или иного макроса. Все макросы оптимизированы под архитектуру FPSLIC. Разработчик может использовать более пятидесяти готовых макроблоков, в числе которых есть сумматоры, умножители, целочисленные делители, память типа RAM и FIFO, счётчики (в том числе с предустановкой), компараторы, декодеры, регистры, тристабильные шинные формирователи. Макроблоки доступны через ниспадающее меню. После выбора макроблока в диалоговом окне производится настройка конкретных параметров. На web-сайте фирмы ATMEL находится библиотека доступных для использования компонентов комплексных IP-ядер, таких как конечные и бесконечные фильтры, конвольверы и другие функциональные блоки. Библиотека постоянно пополняется.
HDL-планировщик - средство для получения синтаксически правильного Verilog или VHDL-кода. HDL-планировщик может генерировать HDL-определения из макросов, синтезированных макрогенератором. Любой проект, подготовленный с использованием HDL-планировщика, является полностью независимым, то есть может быть использован в любой ASIC или FPGA-микросхеме. HDL-планировщик автоматически подключает компоненты оптимальным для микросхем FPGA фирмы ATMEL способом, тем не менее, результат его работы может быть использован в любом независимом HDL-проекте.
Средства разработки для AVR-микроконтроллеров (AVR-Studio) также интегрированы в пакет System Designer. Таким образом, можно создавать, отлаживать и выполнять программы для AVR, используя встроенный симулятор. Для просмотра доступно всё пространство памяти и регистры AVR. AVR-Studio обеспечивает просмотр в окнах следующей информации:
- исходного кода, включая переменные в Си-программе;
- содержимого 32 регистров AVR;
- адреса следующей инструкции, адреса указателя стека;
- числа тактов программы и времени выполнения части программы;
- состояние всех регистров ввода/вывода;
- статуса всех периферийных устройств (UART, SPI и так далее).
Пользователь также имеет возможность просматривать и модифицировать содержимое всех подсистем памяти AVR.
В настоящее время актуальной является задача защиты проекта от несанкционированного копирования. Однако, структура стандартных FPGA-микросхем, когда файл конфигурации хранится во внешней памяти, не позволяет защитить разработку. Возможным решением является совместное использование в одном проекте микросхем FPGA и CPLD, так как конфигурация CPLD-микросхемы сохраняется во внутренней памяти кристалла и, следовательно, не может быть прочитана. Однако, учитывая сравнительно большое потребление мощности CPLD-микросхемами, этот способ неприменим в батарейных устройствах. Здесь фирма ATMEL предлагает радикальное решение. Она разработала протокол защищённой загрузки кристалла с использованием кодирующего алгоритма. Теперь даже считывание содержимого загрузочного ПЗУ не позволит скопировать разработку, базирующуюся на элементной базе FPSLIC.
Аппаратные средства FPSLIC
Для ознакомления и быстрого начала работы с микросхемами FPSLIC, фирма ATMEL выпустила стартовый набор AT94STK94, в состав которого вместе с отладочной платой входит полная версия пакета System Designer с ограниченным 4 месяцами сроком работы. При необходимости срок действия лицензии можно продлить. Цена набора AT94STK94 с 4-месячной лицензией составляет в Москве 560 долларов с НДС. В состав набора AT94STK94 входит печатная плата с распаянной микросхемой AT94K40. Все информационные выводы микросхемы выведены на штыревые разъёмы для удобства подключения осциллографа и логического анализатора. Основные характеристики платы:
- 2 порта RS232;
- 8 кнопок и 8 светодиодов, управляемые пользователем;
- 4 светодиодных цифробуквенных индикатора;
- 3 источника тактовых частот - 18,432 МГц, 4 МГц и 32,768 КГц;
- панелька с установленной микросхемой AT17LV010;
- разъём для загрузки микросхемы FPSLIC от параллельного порта компьютера.
В комплект также входит загрузочный кабель ATDH2225.
Программные средства:
- полная версия FPSLIC Development TOOL;
- ModelTech MTI HDL Simulator;
- Exemplar HDL Synthesis;
- AVR Instruction Sit Simulator (ISS);
- программный отладчик AVR Studio;
- комплект средств для работы с FPGA;
- 30-дневная версия Си-компилятора фирмы ICC AVR.
Перечисленные программные средства снабжены соответствующей документацией.
Полные описания и технические консультации по применению микросхем семейства FPSLIC можно получить у специалистов фирмы АРГУССОФТ Компани - официального дистрибьютора фирмы ATMEL в России. Информацию также можно переписать с web-сайта www://atmel.argussoft.ru.
Литература
1. ATMEL DATA BOOK 'Programmable Logic and System-Level Ics', May 2000.
2. Кривченко И. Системная интеграция в микроэлектронике - FPSLIC // Chip News. - 2000. - ? 3. - С. 4-10. - ? 4. - С. 62-64
Ваш комментарий к статье | ||||