Системы на кристалле. Конвертация проектов
· Курс «Информационные технологии
· в проектировании ЭВС»
· Лекция №5
· «Системы на кристалле. Конвертация проектов»
5.1. Основные сведения о СБИС типа "система на кристалле"
Уменьшение литографических размеров и другие усовершенствования процессов производства интегральных схем ведут к непрерывному росту уровня их интеграции, который для наиболее сложных СБИС в настоящее время оценивается уже десятками миллионов вентилей. Быстродействие таких СБИС характеризуется рабочими частотами в несколько сотен мегагерц. На кристаллах с подобными параметрами можно разместить законченную систему обработки данных, обладающую к тому же высокой производительностью. В последние годы появились микросхемы, называемые "система на кристалле", "система на программируемом кристалле", "программируемая система на кристалле" и т. д. (обозначаются как SOC, System On Chip, или как SOPC, System On Programmable Chip, или как PSOC, Programmable System On Chip, или как CSOC, Configurable System On Chip и т. д.). Далее в качестве обобщающего термина будет применяться обозначение SOPC.
Стратегическая значимость возможности создания законченной системы на одном кристалле очевидна — такая система обладает высокими качественными показателями. Для подавляющего большинства разработчиков создание системы на одном кристалле осуществимо только на основе программируемых СБИС, т. к. заказное проектирование по экономическим соображениям возможно только при массовом производстве.
Рекомендуемые материалы
Задача создания высококачественных законченных систем на одном кристалле решается более чем десятком крупных фирм в обстановке активной состязательности. Состязательность выражается как в конкурентном развитии двух направлений, отраженных в принятой нами классификации СБИС программируемой логики, так и в разработке многих разновидностей СБИС в рамках каждого из этих направлений.
Представителями первого направления являются SOPC с однородной структурой (с конфигурируемостью всех областей кристалла, с полностью синтезируемыми блоками).
Заметим, что однородность здесь понимается только как признак конфигурируемости всех областей кристалла, поскольку эти области содержат однотипные программируемые схемные ресурсы. Исключение составляют лишь некоторые области кристалла (схемы встроенной памяти, которые стали появляться в архитектурах ПЛИС, начиная с семейства FLEX10K, схемы управления тактовыми импульсами типа PLL или DLL и т. п.). В однородных SOPC реализуемые блоки могут размещаться в разных областях и создаваться соответствующим программированием. По своим архитектурным признакам SOPC, как правило, относятся к структурам комбинированного типа, в которых сочетаются признаки CPLD и FPGA с преобладанием признаков FPGA. В иностранной литературе применительно к однородным в указанном смысле SOPC иногда используют термин generic.
SOPC блочного типа включают в себя как программируемые, так и фиксированные области, в которых жестко реализованы блоки с предопределенными функциями — аппаратные ядра (Hardcores, hard-ядра). В других областях кристалла размещается программируемая пользователем часть, чаще всего типа FPGA.
В ходе развития блочных SOPC характер и сложность аппаратных ядер изменяются. Вначале аппаратные ядра были относительно простыми, сейчас основным ядром сложных блочных SOPC нередко служит микропроцессор или микроконтроллер.
В чем состоят преимущества и недостатки СБИС двух развивающихся направлений? В однородных SOPC уровень интеграции уже позволяет сконфигурировать на кристалле области процессора, памяти и периферийных схем. Современные средства САПР с их приспособленностью к взаимозаменяемым и стандартным решениям позволяют объединять на одном кристалле виртуальные компоненты (soft-ядра, IP) разных разработчиков. Правда, при использовании IP возникает проблема их приобретения, поскольку стоят они достаточно дорого. В однородных SOPC не достигаются предельные быстродействия ядер.
Hard-ядра реализуют блоки, полученные методами проектирования заказных схем. Такие блоки в сравнении с их soft-аналогами занимают на кристалле значительно меньшую площадь (в несколько раз), поскольку они не содержат средств конфигурирования и оптимизированы для выполнения заданной конкретной функции. Если принять площадь, занимаемую цифровым устройством, реализованным по методу "на стандартных ячейках", за единицу, то при реализации того же устройства в технологии LPGA (на БМК с лазерным программированием) площадь составит в среднем 3,3 единицы, для технологии MPGA — 1,6 единиц, а для ПЛИС— 10—20 единиц. По этим же причинам существенно (на 20—50%) возрастает быстродействие hard-ядер в сравнении с soft-ядрами.
В то же время предопределенность функций hard-ядер снижает универсальность микросхемы (как говорят, уменьшает ее функциональную гибкость) и может сузить круг ее потребителей, что с точки зрения экономики является негативным фактором. Hard-ядра фиксированы на площади кристалла, что может затруднять решение задач размещения и трассировки для конфигурируемых областей микросхемы, препятствуя тем самым реализации максимальных показателей логической емкости и быстродействия для программируемых ресурсов схемы.
Во избежание больших потерь универсальности СБИС с hard-ядрами, для этих ядер отбираются только такие функциональные блоки, которые занимают значительную долю рынка. Характерными примерами hard-ядер, помимо микропроцессоров и микроконтроллеров, могут служить блоки для реализации интерфейсов различных шин (в том числе шин PCI, VME), схемы поддержки интерфейса JTAG, множительные устройства для систем цифровой обработки сигналов.
Заметим, что современные ПЛИС с hard-ядрами имеют архитектурную преемственность с прошлыми разработками. Например, уже несколько лет в состав микропроцессорных систем вводят FPGA, создавая тем самым как бы "островок программируемости" среди блоков жесткой структуры. С другой стороны, в составе ПЛИС тоже несколько лет назад стали появляться несложные аппаратные ядра, т. е. участки фиксированной структуры в окружении массива синтезируемой логики. Поэтому говорить о том, что во что встроено, порою можно по-разному. Чем выше процент синтезируемой части микросхемы, тем больший контроль над реализацией получает разработчик проекта, но тем больше блоков при этом теряют оптимальность своих параметров.
По поводу перспектив применения двух разновидностей SOPC высказываются разные мнения. Одни считают, что структуры однородного типа с их высокой степенью регулярности схем легче переводятся на новый технологический уровень, поэтому освоение новых технологий для блочных структур должно всегда несколько запаздывать, а замедленный выход продукции на рынок наносит изготовителю экономический ущерб. С другой стороны отмечается, что аппаратные ядра не только гарантируют улучшенные параметры блоков, но и упрощают деловую часть разработки проекта, устраняя для проектировщика взаимоотношения с третьими лицами (поставщиками IP). При этом отпадают лицензионные проблемы, платежи роялти и т. п., и вся техническая поддержка сосредотачивается в руках одного партнера — поставщика микросхем, а все затраты концентрируются в одном показателе (цене микросхемы). Так или иначе, но при решении вопроса о выборе той или иной SOPC приходится учитывать целый комплекс показателей.
СБИС программируемой логики образуют динамичный, быстро растущий сектор рынка. Интеграция все большего числа функциональных блоков в одном кристалле сопровождается сокращением площади плат при реализации проектов, повышением быстродействия устройств и систем и их надежности, уменьшением потребляемой мощности и стоимости. Возможность быстрой реконфигурации схем непосредственно в работающем устройстве открывает перспективы не только эффективной отработки прототипа проекта, но и создания принципиально новых структур с динамическим реконфигурированием и многофункциональным использованием аппаратных средств.
При обсуждении вопросов применения SOPC возникает проблема выбора между однородными и блочными архитектурами, т. е. между soft- и hard-ядрами. Как отмечалось, в этой сфере имеются различные мнения. Наиболее бесспорной областью использования блочных SOPC являются системы высшего быстродействия, поскольку, как бы соблазнительно ни выглядели рекламные преувеличения, процессоры с рабочими частотами в сотни мегагерц, осуществимые для hard-ядер, находятся за пределами возможностей soft-ядер FPGA. В других, менее очевидных ситуациях, оценивается весь комплекс характеристик SOPC.
В настоящее время развиваются обе разновидности SOPC, и успехи видны в обоих направлениях. Например, для SOPC типа generic фирмой Altera применено процессорное soft-ядро Nios, размещаемое на кристаллах семейств АРЕХ20К/КЕ и АРЕХП. Уровень интеграции этих кристаллов настолько велик, что процессор занимает лишь малую долю их логических ресурсов, что считается вполне приемлемым. Фирма Xilinx разработала soft-ядро процессора Microblaze для своего семейства Virtex П. Это ядро обладает наивысшей для soft-ядер производительностью и работает на частотах до 125 МГц.
Впечатляют успехи разработок hard-ядер процессоров. Эти ядра базируются на RISC-архитектурах процессоров фирм ARM Limited, MIPS Technologies и IBM Microelectronics, работают на частотах до 200 МГц и более, имеют 5 – 6-ступенчатые конвейеры, выполняют скалярные операции, совершают большинство операций за один такт, занимают на кристалле площадь 2 – 3 мм2 и ориентированы на малое потребление мощности. Стандартность архитектур таких процессоров позволяет пользоваться при их применении обширными инструментами и средствами проектирования, что снижает трудоемкость разработок и уменьшает время выхода продукции на рынок.
5.2. Особенности разработки и использования БИС/СБИС с программируемой структурой. Конвертация проектов
Промышленные изделия в своем жизненном цикле проходят несколько стадий. Крупными стадиями являются разработка изделия, стадия активно реализации, стадия спада производства в связи с устареванием изделия и за меной его более новым и совершенным. Для создания изделия электронной промышленности, как известно, можно пользоваться разными средствам (стандартными ИС, программируемыми ИС, полузаказными и заказным ИС). Учет особенностей разных стадий жизненного цикла изделия в сочетании с возможностями тех или иных вариантов его реализации необходим для эффективной организации процесса производства.
На стадии разработки проекта трудно переоценить роль применения микросхем, репрограммируемых пользователем, как чрезвычайно полезных средств отработки прототипа изделия, позволяющих легко и быстро вносить в проект изменения, доводя его до полностью работоспособного устройства. Останется ли вариант с репрограммируемыми микросхемами конечной продукцией зависит от объема его производства. Если изделие имеет высокий спрос, то, возможно, целесообразно перевести его на реализацию в виде полузаказных или даже заказных схем, т. к. это позволит устранить из устройства средства программирования его структуры, что снизит стоимость изготовления каждого экземпляра микросхемы и, при необходимости, позволит повысить ее быстродействие. Затраты на проектирование некоторого числа фотошаблонов, необходимых для производства полузаказных или заказных схем, и другие однократные технологические затраты (NRE, Non Recurrent Expends) не зачеркнут указанный выигрыш, если тиражность изделия достаточно велика. На последней стадии жизненного цикла изделия объем его производства снижается и становится неустойчивым. При этом может оказаться выгодным возврат от варианта с полузаказными и заказными микросхемами к БИС/СБИС с программируемыми структурами (FPGA, CPLD, FLEX, SOPC), т. к. для них не существует проблемы заказа в виде только больших партий, и можно избавиться от риска экономических потерь при уценках и распродажах. Кроме того, несложно выпустить и дополнительную партию изделий любого объема, если конъюнктура этого потребует.
Как видно из сказанного, между разными средствами реализации одних и тех же изделий должна существовать взаимосвязь, поскольку иначе процесс перехода от одних средств к другим (конвертация проектов) окажется затрудненным. Такая взаимосвязь оказывает влияние на архитектуры, электрические характеристики и конструктивные параметры как БИС/СБИС программируемой логики, так и БМК. Например, были выпущены специализированные репрограммируемые FPGA с триггерной памятью конфигурации, предназначенные для макетирования схем, реализуемых на определенных масочных БМК (фирма Quickturn System Inc.). Были созданы также специализированные масочные БМК (HardWire), по архитектуре идентичные схемам известных репрограммируемых FPGA. И в дальнейшем FPGA подстраивались под конкретные БМК с целью их эффективного макетирования, а определенные БМК приспосабливались по логической структуре, библиотеке схемных решений и электрическим параметрам к конкретным FPGA.
Проиллюстрируем высказанные тезисы некоторыми примерами. Практика фирмы Хilinx дает следующие цифры: почти все проекты с логической емкостью меньше 20 тыс. вентилей остаются реализованными на микросхемах программируемой логики и в качестве конечной продукции. Для проектов с логической емкостью в диапазоне от 20 до 50 тыс. вентилей могут приниматься различные решения на основе конкретной ситуации. Для проектов с логической емкостью больше 50 тыс. вентилей конвертация, как правило, целесообразна. Указанные цифры довольно быстро изменяются в сторону увеличения и, соответственно этому, конвертации в направлении "ПЛИС-ASIC" подвергается все меньший процент проектов. Большинство конвертируемых проектов переводится в схемы на БМК. В схемы, реализованные па методу стандартных ячеек и, тем более, в полностью заказные схемы конвертация производится реже, т. к. это обычно экономично только для очень сложных или высокотиражных проектов.
В лекции "Аппаратные средства и программное обеспечение ЭВМ" также много полезной информации.
Для конвертации своих проектов фирма Xilinx несколько лет назад создала микросхемы Hardwire FpgASIC, обеспечивающие полную совместимости контактов ввода/вывода при замещении ими конвертируемых FPGA. Каждая микросхема Hardwire FpgASIC соответствует функционированию и особенностям конкретной FPGA. Применение этих микросхем в два раза ускоряло процесс конвертации в сравнении с традиционным процессом проектирования на основе БМК. Конвертация основана на заранее созданной и проверенной базе данных, тогда как обычный перевод схемы из реализации на FPGA в реализацию на БМК нуждается в повторной верификации, что сопряжено с большими затратами времени.
Если исходный проект выполнен на нескольких FPGA, то можно удешевить его переводом лишь некоторых FPGA в базис HardWireFpgASIC. Замена лишь части FPGA на HardWireFpgASIC и оставление других FPGA в обычном виде позволяет использовать их в традиционном варианте с возможностью реконфигурации. Перевод схемы в реализацию на HardWireFpgASICl позволяет также исключить соответствующую память загрузки конфигурации, что дополнительно упрощает и удешевляет схему.
В противовес сказанному следует отметить, что реальная ситуация с продукцией Hardwire не совпала с прогнозом, и это направление не стало "серьезным бизнесом", имеющим достаточное число заказчиков. Ограниченное применение конвертации имеет несколько причин. Во-первых, часто не оправдываются ожидания большой тиражности выпуска изделия, во-вторых, нередко через полгода-год у производителя возникает желание внести в проект изменения, для чего хороши именно ИСПС, в третьих, с усложнением схем и появлением в них разнородных областей все сложнее воспроизвести ИСПС в БМК или других ASIC с сохранением временных соотношений сигналов и работоспособности и быстродействия фрагмента ИСПС и схем в целом. Так или иначе, но фирма Xilinx прекратила усилия по внедрению микросхем Hardwire и сосредоточилась на удешевлении своих FPGA.
Почти одновременно с прекращением предложений средств конвертации Hardwire фирмой Xilinx фирма Altera выступила с новым решением задачи перевода проектов, реализованных на ПЛИС, в проекты типа ASIC, объявив о выпуске микросхем HardCopy. Это решение дает удобства для тех, кто пользовал ПЛИС фирмы на стадии проектирования и затем намеревается переключиться на реализацию по методу стандартных ячеек для тиражной продукции. Сообщается, что перевод проекта на микросхемы HardCopy дает 70% экономии площади кристалла при снижении стоимости микросхем и pin-совместимости исходного и конечного вариантов. Переход от проекта, реализованного на ПЛИС, к эквивалентному проекту на ASIC производится приблизительно за 8 недель. С учетом времени, которое будет затрачено заказчиком на верификацию проекта, время до выпуска продукции оценивается приблизительно в 16 недель. Технология HardCopy, по мнению фирмы Altera, дает хорошие предпосылки для повышения эффективности процесса конвертации, причем она нацелена, в основном, на конвертацию проектов высокой сложности.
Фирма AMI (American Microsystems Inc.) извещает об эффективной конвертации в ASIC-реализацию таких сложных ПЛИС, как семейство Virtex фирмы Хilinx и семейство APEX фирмы Altera. Имея для такой конвертации отработанный набор схемных решений, фирма AMI обеспечивает быструю конвертацию проектов, содержащих разнообразные блоки, в том числе DLL, PLL, PCI, блоки памяти с разнообразными организациями, различные варианты схем ввода/вывода. Микросхемы семейства XL-3 фирмы AMI дешевле своих аналогов из семейств Virtex и APEX приблизительно в 4 раза.