Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Гляненко Современная електронная елементная база в приборах 2012

.pdf
Скачиваний:
28
Добавлен:
12.11.2022
Размер:
3.87 Mб
Скачать

ГЛАВА 5. “СИСТЕМЫ НА КРИСТАЛЛЕ”

ИСПЕЦИАЛИЗИРОВАННЫЕ РЕШЕНИЯ

5.1.Что такое “системы на кристалле”

идля чего они нужны?

Впоследние годы как во всем мире, так и в России усиливается тенденция ориентации разработчиков электронных систем для тяжелых условий эксплуатации, а также в случае разработки уникальных по своим свойствам, но мелкосерийных систем, например,

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

Похожие тенденции наблюдаются и в части создания аналоговых систем, например для считывания данных в ускорительных экспериментах или в многоканальных медицинских томографах, где применение стандартных полупроводниковых изделий приводит к критическому разрастанию объемов электроники по объему, массе, потребляемой мощности. Поэтому тенденция миниатюризации не только цифровой, но и аналоговой электроники сегодня хорошо просматривается в современных экспериментальных установках и даже в серийной медицинской аппаратуре. Если в области цифровых систем преобладающим является использование программируемых логических интегральных схем (ПЛИС), то в качестве основной элементной базы используются программируемые аналоговые интегральные схемы (FPAA) или, что наиболее дорого, специализированные заказные микросхемы класса ASIC (Application Specific Integrated Circuits). Однако в целом ряде слу-

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

191

5.2. Концепция цифровых “систем на кристалле”

Сегодня для построения систем управления и сбора данных наиболее эффективна концепция “система на кристалле” (System On Chip, SoC), внедрение которой является одним из приоритетных направлений развития отечественной электроники. В классическом понимании “система на кристалле” — это интегрированная система потоковой обработки данных, имеющая в своем составе конечный автомат управления, в качестве которого может выступать, например, микропрограммный автомат или микропроцессор и набор контроллеров, решающих вычислительные и интерфейсные задачи с помощью аппаратных средств. Сложившаяся традиция возлагать на центральный процессор общего назначения задачи обработки потоков данных не всегда технически оправдана, особенно в бортовых системах, где, как правило, остро стоит проблема производительности, габаритов, энергопотребления.

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

Идея интеграции различных функциональных модулей в один кристалл сама по себе не нова, однако неверно полагать, что интеграция есть прямой перенос принципиальной схемы устройства на новую технологическую платформу, замена внешних элементов на идентичные элементы в базисе интегральной схемы с сохранением структуры их связей. Такой способ интеграции при кажущейся простоте несет в себе большую опасность для разработчика. Особенности интегрального логического элемента способа соединения элементов внутри кристалла сами по себе не являются препятствием для проектирования в стиле “schematic entry” (ввод схемы). Значительные трудности начинают возникать при росте размеров проекта. С одной стороны, это трудности, связанные с анализом функциональности и поведения схемы значительных размеров даже ее авторами и, следовательно, повышенной вероятностью ошибок дизайна вплоть до полной неработоспособности. С другой стороны,

192

это проблема эффективности реализации схемы в выбранном технологическом базисе. Альтернатива вводу схем — проектирование на языках описания оборудования (Hardware description language),

самыми распространенными из которых на сегодняшний день являются VHDL и Verilog. Актуальный на сегодняшний день маршрут проектирования интегральных систем (рис. 5.1) включает в себя три основных этапа: ввод проекта, синтез проекта в выбранном базисе и, наконец, размещение на кристалле (placement and routing). Современные средства синтеза логических схем от лиде-

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

Рис. 5.1. Типовой маршрут проектирования

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

Вернемся к вопросу интеграции “систем на кристалле”. Инструментарий разработчика позволяет отказаться от простого копирования принципиальных схем и перейти к описанию решения задачи

193

на языке высокого уровня. Разумеется, каждый раз описывать решение задачи в целом “с нуля” не более эффективно с точки зрения трудозатрат, чем писать крупные программы для ЭВМ исключительно на ассемблере. Использование reusable intellectual property (многократно используемых функционально сложных модулей, IP) позволяет существенно сократить трудозатраты на разработку интегральных систем. Отечественные разработчики электроники в подавляющем большинстве случаев не готовы приобретать IP профессионального качества на мировом рынке в виду их высокой стоимости.

Отечественных компаний, предлагающих IP, пока также крайне мало, однако понимание необходимости создания отечественных библиотек функционально сложных модулей отражено в “Основах политики Российской Федерации в области развития электронной компонентной базы”, и сегодня ряд организаций работает над их созданием. Построение интегральной системы из модулей IP: модуля процессора (одного или нескольких) и набора интерфейсных модулей, объединенных onchip microcontroller bus (OCM) — внут-

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

Комплексная верификация интегральных систем — наиболее трудоемкая составляющая любого проекта. Классический маршрут проектирования предполагает верификацию дизайна с помощью средств симуляции после каждого из основных этапов проектирования: верификация до синтеза, верификация после синтеза и верификация после размещения на кристалле. Распространенные средства верификации ModelSim (Mentor Graphics) и NCSIM (Cadence) позволяют исследовать работу проектов в искусственно созданном тестовом окружении (testbench) с очень высокой точностью как до синтеза, так и после, если, разумеется, технологическая платформа обеспечивает стабильность временных параметров элементов и связей на кристалле.

Использование предварительно тестированной IP позволяет снизить общие затраты времени на верификацию. Создание тестовых окружений нередко становится сложнее, чем собственно дизайн проекта, и не всегда средств HDL-языков достаточно для описания картины “реального мира”, в котором будет работать тестируемый узел. В таких случаях на помощь приходит технология

194

programming language interface (PLI), дающая возможность вне-

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

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

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

Любую ли интегральную систему, включающую в себя микропроцессорное ядро, можно назвать “системой на кристалле”? Нет.

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

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

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

195

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

К недостаткам подхода нередко относят высокие затраты на разработку и изготовление заказных СБИС и экономическую неэффективность при малой серийности. Так ли это? Действительно, проектирование и изготовление микросхем высокой интеграции — сложный и дорогостоящий процесс. Только стоимость подготовки к производству каждого нового варианта изделия влечет за собой расходы во многие десятки и даже сотни тысяч долларов, что делает малосерийные изделия экономически невыгодными и существенно повышает цену ошибки проектирования. Благодаря современным достижениям микроэлектроники появилась экономически эффективная альтернатива СБИС в качестве технологической платформы для “системы на кристалле” — программируемые логические интегральные схемы (ПЛИС). ПЛИС известны уже много десятилетий, но только в начале XXI в. появились программируемые матрицы, способные составить конкуренцию СБИС как по количеству вентилей, быстродействию и надежности, так и по функциональности: сегодня на рынке доступны матрицы, не требующие внешних средств для хранения и загрузки конфигурации, готовые к работе с момента подачи питания.

Применение современных ПЛИС в качестве технологической платформы для “систем на кристалле” позволяет обойти ряд технических и экономических проблем и, более того, дает новые возможности для развития данного класса интегральных систем. “Система на кристалле”, реализованная на высоконадежной платформе программируемой логики, обладает всеми достоинствами решения на основе СБИС и, кроме того, обладает неоспоримыми преимуществами: резко снижаются расходы на изготовление микросхем и повышается экономическая эффективность проектов малой и средней серийности (до десятков тысяч штук); резко снижается параметр «time to market» — скорость вывода новых изделий на рынок; система может быть гибко сконфигурирована под текущие нужды конкретного проекта, упрощается модификация; растет надежность изделия, поскольку 100 %-е тестирование регулярной структуры платформы может быть обеспечено производителем; появляются дополнительные возможности внутрикристальной отладки; появляется возможность прототипирования изделий для

196

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

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

5.3. Программируемые логические интегральные схемы (ПЛИС)

ПЛИС можно разделить на два больших класса. Первый – это устройства FPGA (Field Programmable Gate Array), представляющие собой матрицу программируемых логических вентилей. Они требуют для своей работы внешнюю конфигурационную память. Вто-

рой – это устройства CPLD (Complex Programmable Logic Device) –

сложные устройства с программируемой логикой. Они несут на кристалле конфигурируемые модули и устройства хранения текущей конфигурации. На данный момент более широкое распространение получили FPGA как устройства с большим потенциалом в плане гибкости и эффективности. Такое деление ПЛИС на две большие группы имеет место у всех производителей.

Кроме того, ПЛИС можно классифицировать и по типу технологии, используемой для создания внутренних соединений. В настоящее время существует три типа технологий, используемых для реализации в кристаллах ПЛИС конкретных устройств. Это:

RAM, требующая для своей работы внешнюю конфигурационную память, откуда при включении питания в микросхему заносится вся информация, необходимая для подготовки ПЛИС к работе. После выключения питания эта информация теряется, и при следующем включении питания системы необходимо снова осуществлять начальную загрузку конфигурационной информации. Наиболее широко представленным на рынке микроэлектроники производителем ПЛИС, использующим данную технологию является компания Xilinx;

Flash, использующая для конфигурации внутренних связей технологические процессы, сходные с Flash-памятью. Эти ПЛИС готовы к работе сразу же после включения питания, многократно перепрограммируемы. В России наиболее широко распространена продукция, использующая эту технологию компаний Altera и Actel (сейчас MicroSemi);

197

• Antifuse технология, представляющая собой создание металлизированной перемычки при программировании. Данная технология обеспечивает высокую надежность и гибкие ресурсы трассировки, а также не требуется конфигурационное ПЗУ. Микросхемы программируются только однократно. В России данный тип ПЛИС представлен продукцией компании Actel.

Отдельно рассмотрим технологию Antifuse, так как она не имеет аналогов среди других типов микросхем.

Рис. 5.2. Технология Antifuse

Как видно из рис. 5.2, между слоями металлизации “Metal2” и “Metal3” расположены пластины силикона. Этот непроводящий кремний и создает эффект антиперемычки, которая становится проводником после программирования микросхемы. Этот проводник имеет малый размер и соответственно малое сопротивление, а также вносит малую паразитную емкость. Технология Antifuse обеспечивает очень высокую радиационную стойкость как к эффектам “полной дозы”, так и к тяжелым заряженным частицам с очень высокими величинами линейной передачи энергии, и долгие годы являлась фактически единственным типом ПЛИС, которые использовались в космической технике.

Рассмотрим в качестве примера номенклатуру ПЛИС у одного из крупнейших производителей – компании Xilinx (рис. 5.3). У компании Xilinx продукты FPGA представлены семействами

198

Virtex, Spartan и XC5000 и др., а продукты CPLD – семействами XC9500, CoolRunner и CoolRunner-II.

Рис. 5.3. Структура ПЛИС, выпускаемых компанией Xilinx

Основные особенности ПЛИС Xilinx:

значительный объем ресурсов – более 10 млн системных вентилей на кристалл;

высокая производительность с системными частотами до

500МГц;

технологические нормы – до 90 нм на одиннадцати слоях металла;

высокая гибкость архитектуры со множеством системных особенностей: внутренним распределенным и блочным ОЗУ, логикой ускоренного переноса, внутренними буферами с третьим состоянием и т. д.;

возможность инициализации и верификации через JTAG;

возможность программирования непосредственно в системе;

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

199

вания и макетирования новых типов процессоров и вычислительных систем, и т. д.;

короткий цикл проектирования и быстрое время компиляции;

недорогие средства проектирования (включая бесплатные). При изготовлении ПЛИС фирмой Xilinx используются три ос-

новные технологии:

на основе SRAM (ПЛИС с архитектурой FPGA), при этом конфигурация ПЛИС хранится во внутреннем, “теневом” ОЗУ, а инициализация осуществляется из внешнего массива памяти. По данной технологии выполнены все семейства с архитектурой FPGA;

на основе FLASH (ПЛИС с архитектурой CPLD), в данном случае конфигурация сохраняется во внутренней энергонезависимой FLASH–памяти и в любой момент времени может быть перезаписана непосредственно из ПК. По данной технологии выполнено семейство XC9500;

на основе EEPROM (ПЛИС с архитектурой CPLD), в данном случае конфигурация сохраняется во внутренней энергонезависимой EEPROM–памяти и в любой момент времени может быть перезаписана непосредственно из ПК. По данной технологии выполнено семейство CoolRunner.

Конфигурационная последовательность (bitstream) может быть загружена в ПЛИС FPGA непосредственно в системе и перегружена неограниченное число раз. Инициализация ПЛИС производится автоматически из загрузочного ПЗУ Xilinx при подаче напряжения питания или принудительно по специальному сигналу. Процесс инициализации занимает от 20 до 200 мс, в течение которых выводы ПЛИС находятся в высокоомном состоянии (подтянуты к логической единице).

Микросхемы типа CPLD программируются непосредственно в системе через порт JTAG из ПК, что исключает необходимость применения программатора. Через JTAG обеспечивается и внутреннее тестирование схемы.

Рассмотрим коротко характеристики одного из самых мощных и перспективных семейств ПЛИС.

Семейство Virtex

Семейство состоит из пяти серий: Virtex, Virtex-E, Virtex-II, Virtex-II Pro, Vrtex-4, В каждой серии есть несколько подсемейств.

Остановимся на свойствах самой мощной серии Vrtex-4.

200