Введение
Интегральная схема, разработанная для конкретной задачи.
Специализированная интегральная схема (ASIC /’eɪ//s//ɪ//k/) – это интегральная схема (ИС), разработанная для конкретного применения, а не для общего назначения, например, чип, предназначенный для работы в цифровом диктофоне или высокоэффективном видеокодеке. Стандартные изделия для конкретных применений занимают промежуточное положение между ASIC и стандартными интегральными схемами, такими как серии 7400 или 4000. Чипы ASIC обычно производятся с использованием металл-оксид-полупроводниковой (MOS) технологии, как и интегральные схемы MOS.
История
Ранние ASIC использовали технологию gate array. К 1967 году Ferranti и Interdesign начали производство ранних биполярных gate array. В 1967 году Fairchild Semiconductor представила семейство Micromatrix биполярных диодно-транзисторной логики (DTL) и транзистор-транзисторной логики (TTL) массивов. Технология комплементарных металл-оксид-полупроводников (CMOS) открыла путь к широкой коммерциализации gate array. Первые CMOS gate array были разработаны Робертом Липпом в 1974 году для International Microcircuits, Inc. (IMI). Каждый производитель ASIC мог создавать функциональные блоки с известными электрическими характеристиками, такими как задержка распространения, емкость и индуктивность, которые также могли быть представлены в инструментах сторонних разработчиков. Дизайн на основе стандартных ячеек – это использование этих функциональных блоков для достижения очень высокой плотности размещения элементов и хороших электрических характеристик. Дизайн на основе стандартных ячеек занимает промежуточное положение между и с точки зрения невозвратных затрат на разработку и возвратных затрат на компоненты, а также производительности и скорости разработки (включая время выхода на рынок). К концу 1990-х годов стали доступны инструменты логического синтеза. Эти инструменты могли компилировать описания на языках описания аппаратуры (HDL) в сетевой список на уровне логических элементов. Интегральные схемы (ИС) на основе стандартных ячеек проектируются в следующих концептуальных этапах, называемых процессом проектирования электроники, хотя эти этапы значительно перекрываются на практике:
Инженерные требования: команда инженеров-конструкторов начинает с неформального понимания требуемых функций для нового ASIC, обычно полученного в результате анализа требований. Проектирование на уровне передачи регистров (RTL): команда проектировщиков создает описание ASIC для достижения этих целей, используя язык описания аппаратуры. Этот процесс аналогичен написанию компьютерной программы на языке высокого уровня. Функциональная верификация: пригодность для использования проверяется посредством функциональной верификации. Это может включать такие методы, как логическое моделирование с использованием тестовых стендов, формальная верификация, эмуляция или создание и оценка эквивалентной программной модели, как в Simics. Каждый метод верификации имеет свои преимущества и недостатки, и чаще всего несколько методов используются совместно для верификации ASIC. В отличие от большинства ПЛИС (FPGA), ASIC нельзя перепрограммировать после изготовления, поэтому дефектные конструкции ASIC обходятся гораздо дороже, что повышает необходимость в полном покрытии тестами. Логический синтез: логический синтез преобразует RTL-проект в большую коллекцию конструкций более низкого уровня, называемых стандартными ячейками. Эти конструкции берутся из библиотеки стандартных ячеек, состоящей из предварительно охарактеризованных коллекций логических элементов, выполняющих определенные функции. Стандартные ячейки обычно специфичны для планируемого производителя ASIC. Полученная коллекция стандартных ячеек и необходимых электрических соединений между ними называется сетевым списком на уровне логических элементов. Размещение: сетевой список на уровне логических элементов затем обрабатывается инструментом размещения, который размещает стандартные ячейки на области кристалла интегральной схемы, представляющей конечный ASIC. Инструмент размещения пытается найти оптимальное размещение стандартных ячеек с учетом различных заданных ограничений. Трассировка: инструмент трассировки электроники принимает физическое расположение стандартных ячеек и использует сетевой список для создания электрических соединений между ними. Поскольку пространство поиска велико, этот процесс даст "достаточное", а не "глобально оптимальное" решение. Результатом является файл, который можно использовать для создания набора фотошаблонов, позволяющих предприятию по производству полупроводников, обычно называемому "fab" или "foundry", производить физические интегральные схемы. Размещение и трассировка тесно связаны и в электронном дизайне называются размещением и трассировкой. Подтверждение (Sign-off): на основе окончательной компоновки схема извлечения вычисляет паразитные сопротивления и емкости. В случае цифровой схемы это затем будет преобразовано в информацию о задержках, на основе которой можно оценить производительность схемы, обычно с помощью статического анализа времени. Это, и другие заключительные тесты, такие как проверка правил проектирования и анализ мощности, коллективно называемые подтверждением, предназначены для обеспечения правильной работы устройства во всех крайних условиях процесса, напряжения и температуры. После завершения тестирования информация о фотошаблонах передается на производство чипов. Эти этапы, выполняемые с уровнем квалификации, общепринятым в отрасли, почти всегда приводят к созданию конечного устройства, которое правильно реализует исходный проект, если дефекты не будут внесены более поздним физическим процессом изготовления. Этапы проектирования, также называемые процессом проектирования, также распространены при проектировании стандартной продукции. Существенное различие заключается в том, что дизайн на основе стандартных ячеек использует библиотеки ячеек производителя, которые использовались в потенциально сотнях других реализаций проектов и, следовательно, имеют гораздо меньший риск, чем полный заказной дизайн. Стандартные ячейки обеспечивают экономически эффективную плотность проектирования, а также могут эффективно интегрировать IP-ядра и статическую оперативную память (SRAM), в отличие от gate array.
Requirements engineering: A team of design engineers starts with a non formal understanding of the required functions for a new ASIC, usually derived from requirements analysis. Register transfer level (RTL) design: The design team constructs a description of an ASIC to achieve these goals using a hardware description language. This process is similar to writing a computer program in a high level language. Functional verification: Suitability for purpose is verified by functional verification. This may include such techniques as logic simulation through test benches, formal verification, emulation, or creating and evaluating an equivalent pure software model, as in Simics. Each verification technique has advantages and disadvantages, and most often several methods are used together for ASIC verification. Unlike most FPGAs, ASICs cannot be reprogrammed once fabricated and therefore ASIC designs that are not completely correct are much more costly, increasing the need for full test coverage. Logic synthesis: Logic synthesis transforms the RTL design into a large collection called of lower level constructs called standard cells. These constructs are taken from a standard cell library consisting of pre characterized collections of logic gates performing specific functions. The standard cells are typically specific to the planned manufacturer of the ASIC. The resulting collection of standard cells and the needed electrical connections between them is called a gate level netlist. Placement: The gate level netlist is next processed by a placement tool which places the standard cells onto a region of an integrated circuit die representing the final ASIC. The placement tool attempts to find an optimized placement of the standard cells, subject to a variety of specified constraints. Routing: An electronics routing tool takes the physical placement of the standard cells and uses the netlist to create the electrical connections between them. Since the search space is large, this process will produce a "sufficient" rather than "globally optimal" solution. The output is a file which can be used to create a set of photomasks enabling a semiconductor fabrication facility, commonly called a 'fab' or 'foundry' to manufacture physical integrated circuits. Placement and routing are closely interrelated and are collectively called place and route in electronics design. Sign off: Given the final layout, circuit extraction computes the parasitic resistances and capacitances. In the case of a digital circuit, this will then be further mapped into delay information from which the circuit performance can be estimated, usually by static timing analysis. This, and other final tests such as design rule checking and power analysis collectively called signoff are intended to ensure that the device will function correctly over all extremes of the process, voltage and temperature. When this testing is complete the photomask information is released for chip fabrication. These steps, implemented with a level of skill common in the industry, almost always produce a final device that correctly implements the original design, unless flaws are later introduced by the physical fabrication process. The design steps also called design flow, are also common to standard product design. The significant difference is that standard cell design uses the manufacturer's cell libraries that have been used in potentially hundreds of other design implementations and therefore are of much lower risk than a full custom design. Standard cells produce a design density that is cost effective, and they can also integrate IP cores and static random access memory (SRAM) effectively, unlike gate arrays.
Портальный массив и полузаказный дизайн
Дизайн массивов затворов – это технология производства, при которой диффузионные слои, каждый из которых состоит из транзисторов и других активных элементов, предопределены, а электронные пластины, содержащие эти элементы, хранятся на складе или остаются непросоединенными до этапа металлизации в процессе изготовления. Процесс физического проектирования определяет соединения между этими слоями для конечного устройства. Для большинства производителей ASIC это включает от двух до девяти металлических слоев, каждый из которых расположен перпендикулярно предыдущему. Затраты на разработку, не связанные с единичным производством, значительно ниже, чем при создании полностью индивидуальных схем, поскольку фотолитографические маски требуются только для металлических слоев. Производственные циклы значительно короче, поскольку металлизация – относительно быстрый процесс, что ускоряет вывод продукции на рынок. ASIC на основе массивов затворов всегда представляют собой компромисс между скоростью проектирования и производительностью, поскольку размещение конкретной схемы на имеющемся в наличии полупроводниковом диске никогда не обеспечивает 100% использования площади кристалла. Зачастую трудности с трассировкой соединений требуют перехода к массиву большего размера, что приводит к увеличению стоимости единицы продукции. Эти трудности часто связаны с используемым программным обеспечением EDA для разработки соединений. Чистый логический дизайн массивов затворов сегодня редко используется разработчиками схем, поскольку он практически полностью заменен программируемыми пользователем устройствами. Наиболее распространенными из них являются программируемые пользователем вентильные матрицы (FPGA), которые можно программировать, что обеспечивает минимальные затраты на оснастку, не повторяющиеся инженерные затраты, незначительное увеличение стоимости единицы продукции и сопоставимую производительность. В настоящее время массивы затворов эволюционируют в структурированные ASIC, состоящие из крупного IP-ядра, такого как центральный процессор, цифровые сигнальные процессоры, периферийные устройства, стандартные интерфейсы, встроенная память, SRAM и блок реконфигурируемой, неиспользованной логики. Этот сдвиг обусловлен тем, что ASIC способны интегрировать большие блоки системной функциональности, а системы на кристалле (SoC) требуют логики склейки, подсистем связи (например, сети на кристалле), периферийных устройств и других компонентов, а не только функциональных блоков и базовых соединений. В практическом использовании термины "массив затворов" и "полузаказной" часто являются синонимами применительно к ASIC. Инженеры-технологи чаще используют термин "полузаказной", в то время как "массив затворов" чаще используется разработчиками логики (или на уровне логических элементов).
Полностью индивидуальный дизайн
Напротив, полный заказной дизайн ASIC определяет все фотолитографические слои устройства. Это фактически то же самое определение, что и для массива вентилей. Структурированный ASIC отличается от массива вентилей тем, что в массиве вентилей предопределенные металлические слои служат для ускорения производственного цикла. В структурированном ASIC использование предварительно определенной металлизации в первую очередь направлено на снижение стоимости набора масок, а также на значительное сокращение времени проектирования. Например, при проектировании на основе ячеек или массива вентилей пользователю часто приходится самостоятельно проектировать структуры питания, тактирования и тестирования. В отличие от этого, в большинстве структурированных ASIC они предопределены, что позволяет конструктору сэкономить время и средства по сравнению с разработками на основе массивов вентилей. Кроме того, инструменты проектирования, используемые для структурированных ASIC, могут быть значительно дешевле и проще (быстрее) в использовании, чем инструменты на основе ячеек, поскольку им не требуется выполнять все функции, выполняемые инструментами на основе ячеек. В некоторых случаях производитель структурированных ASIC требует использования специализированных инструментов для своего устройства (например, заказной физический синтез), что также позволяет быстрее запустить дизайн в производство.
Библиотеки ячеек, дизайн на основе IP, жесткие и мягкие макросы
Библиотеки ячеек логических примитивов обычно предоставляются производителем устройства как часть сервиса. Хотя они не повлекут за собой дополнительных затрат, их распространение регулируется условиями соглашения о неразглашении (NDA), и производитель считает их своей интеллектуальной собственностью. Как правило, их физическая реализация предопределена, поэтому их можно назвать "жесткими макросами". Под "интеллектуальной собственностью" большинство инженеров понимают IP-ядра – проекты, приобретенные у сторонних поставщиков в качестве подкомпонентов для более крупных ASIC. Они могут быть предоставлены в виде языка описания аппаратуры (часто называемого "мягким макросом") или в виде полностью трассированного дизайна, который можно непосредственно нанести на маску ASIC (часто называемого "жестким макросом"). Многие организации сейчас продают такие предварительно разработанные ядра – процессоры, Ethernet, USB или телефонные интерфейсы, – а крупные организации могут иметь целые отделы или подразделения для разработки ядер для остальной части компании. Компания ARM продает только IP-ядра, что делает ее производителем, не имеющим собственного производства. Действительно, широкий спектр функций, доступных сегодня в проектировании структурированных ASIC, является результатом значительного прогресса в электронике в конце 1990-х и начале 2000-х годов; поскольку создание ядра требует значительных затрат времени и инвестиций, его повторное использование и дальнейшая разработка существенно сокращают время выхода продукта на рынок и позволяют создавать более качественные продукты. Кроме того, организации, работающие с открытым исходным кодом, такие как OpenCores, собирают бесплатные IP-ядра, что аналогично движению за открытое программное обеспечение в области разработки аппаратного обеспечения. Мягкие макросы часто не зависят от технологического процесса (то есть их можно изготовить с использованием широкого спектра производственных процессов и у разных производителей). Жесткие макросы привязаны к конкретному технологическому процессу, и для переноса (портирования) на другой процесс или производителя обычно требуются дополнительные усилия по проектированию.
Пластинки для нескольких проектов
Некоторые производители и компании, занимающиеся разработкой интегральных схем, предлагают услугу многопроектных пластин (MPW) как способ получения недорогих прототипов. Эти MPW, часто называемые шаттлами и содержащие несколько проектов, запускаются регулярно по расписанию по принципу "разрез и отправка", как правило, с ограниченной ответственностью производителя. Контракт обычно включает в себя поставку отдельных кристаллов или сборку и корпусировку небольшого количества устройств. Услуга обычно подразумевает предоставление физической базы данных проекта, то есть информации для изготовления масок или ленты для генерации рисунка (PG). Производителя часто называют "кремниевой литейной фабрикой" из-за его минимального участия в процессе.
Стандартный продукт для конкретного применения
Стандартный продукт, предназначенный для конкретного применения, или ASSP – это интегральная схема, реализующая определенную функцию, востребованную на широком рынке. В отличие от ASIC, которые объединяют набор функций и разрабатываются для одного заказчика или по его заказу, ASSP доступны как готовые компоненты. ASSP используются во всех отраслях, от автомобильной промышленности до телекоммуникаций. Как правило, если вы можете найти описание схемы в справочнике, то это, скорее всего, не ASIC, хотя и существуют исключения. Например, контроллер для ПК и чип для модема – это две интегральные схемы, которые могут рассматриваться как ASIC, а могут и нет. Оба этих примера предназначены для конкретного применения (что типично для ASIC), но продаются множеству различных производителей систем (что характерно для стандартных компонентов). Такие ASIC иногда называют стандартными продуктами для конкретных применений (ASSP). Примеры ASSP – чипы кодирования/декодирования, контроллеры сетевых интерфейсов Ethernet и т.п.