Полный цикл проектирования ASIC: от требований к производству
Типичный цикл проектирования имеет структуру, показанную ниже, и разбивается на множество этапов. Некоторые фазы идут параллельно, другие — последовательно. Разберём, как выглядит типичный проектный цикл в индустрии сегодня.
Требования
Заказчик полупроводниковой компании — обычно другая фирма, планирующая использовать чип в своих системах или конечных продуктах. Требования заказчика играют ключевую роль в определении архитектуры чипа. Первым шагом является сбор требований, оценка рыночной стоимости конечного продукта и оценка необходимых ресурсов.
Спецификации
Следующий этап — сбор «спецификаций», описывающих абстрактно функциональность, интерфейсы и общую архитектуру проектируемого чипа. Пример:
- Вычислительная мощность для алгоритмов обработки изображений (VR).
- Два процессора ARM A53 с когерентным межсоединением, частота 600 МГц.
- Интерфейсы USB 3.0, Bluetooth, PCIe 2-го поколения.
- Поддержка дисплея 1920×1080 с соответствующим контроллером.
Архитектура
Архitectors формируют системное представление о работе чипа: какие компоненты нужны, их частоты, как достигать целей по питанию и производительности, как будут течь данные внутри чипа. Пример: поток данных, когда процессор забирает изображение из системной памяти, а графический движок одновременно обрабатывает предыдущую партию в другой области памяти.
Цифровое проектирование (Digital Design)
Из-за сложности современных чипов нельзя строить всё с нуля; много компонентов повторно используются. Компания X, нуждающаяся в модуле FlexCAN для автомобиля, может купить готовый дизайн или разработать свой. Непрактично проектировать систему от базовых элементов (триггеры, CMOS-транзисторы). Вместо этого создаётся поведенческое описание на HDL (Verilog или VHDL) для анализа функциональности, производительности и высокоуровневых проблем. Это делает цифровой проектировщик — по сути, высокоуровневый программист с навыками цифровой электроники.
Верификация
Когда RTL-дизайн готов, его нужно верифицировать на функциональную корректность. Например, DSP-процессор должен инициировать шины для выборки инструкций из памяти — но как узнать, что это произойдёт как надо? Функциональная верификация проводится с помощью EDA-симуляторов, моделирующих дизайн и подающих стимулы. Это работа pre-silicon верификационного инженера.
Для экономии времени команды проектирования и верификации работают параллельно: проектировщики «выпускают» версию RTL, верификационная команда разрабатывает тестовое окружение и тест-кейсы. Если тесты падают — заводится баг, исправляется в следующей версии RTL. Процесс повторяется до достижения уверенности в корректности.
Логический синтез (Logic Synthesis)
Теперь пора превратить дизайн в аппаратную схему с реальными элементами: комбинационными гейтами и триггерами. Этот этап — синтез. Инструменты логического синтеза конвертируют RTL-описание на HDL в гейтовый нетлист — описание схемы в терминах гейтов и связей. Пример нетлиста:
and_2_0 u_and2_0 ( .in_a (_net_112), .in_b (_net_56), .out (_net_222));
ff_lt u_ff_lt_122 (.d (_net_222), .clk (_net_11), .q (_net_76));
Инструменты синтеза гарантируют соответствие нетлиста требованиям по таймингам, площади и мощности. У них есть доступ к библиотекам технологических узлов и цифровых элементов, позволяющим интеллектуально удовлетворять все критерии. Библиотеки предоставляются фабриками (foundries) с данными о характеристиках компонентов: временах нарастания/спада для триггеров, задержках ввода-вывода для комбинационных гейтов и т.д.
Эквивалентность логики (Logic Equivalence)
Гейтовый нетлист проверяется на логическую эквивалентность с RTL. Иногда проводится «гейтовая верификация» — повторная проверка отдельных элементов, но уже на гейтовом уровне и более низком уровне абстракции. Время симуляции растёт из-за огромного числа элементов и обратной аннотации задержек.
Размещение и трассировка (Placement and Routing)
Нетлист подаётся на вход физического дизайна, где автоматические инструменты (APR или PnR) — например, Cadence Encounter, Synopsys IC Compiler — размещают стандартные ячейки в ряды, определяют карты выводов ввода-вывода, создают металлические слои, размещают буферы для соблюдения таймингов. Результат — макет (layout), отправляемый на фабрикацию. Этап ведёт команда физического дизайна, владеющая технологическим узлом и деталями реализации.
Валидация (Validation)
Не заканчивается на этом. Образец чипа изготавливается либо самой компанией, либо сторонней фабрикой (TSMC, GlobalFoundries). Образец проходит post-silicon validation: инженеры прогоняют паттерны на тестере. Отладка на этом этапе сложнее pre-silicon верификации, так как видимость внутренних узлов чипа резко снижена. Миллион тактов проходит за секунду, отследить момент ошибки трудно. Если найдены реальные баги — их исправляют в RTL, повторно верифицируют и прогоняют все последующие этапы заново.
Хотя в потоке много шагов, основная активность сосредоточена на оптимизации и верификации RTL-описания. Важно помнить: даже с EDA-инструментами неправильное использование ведёт к неэффективным дизайнам, поэтому проектировщик должен осознанно выбирать решения на каждом этапе.
Verilog
- Освоение Verilog: полное руководство по проектированию цифровых схем
- Уровни абстракции проектирования: понятное руководство по архитектуре чипов
- 4 ключевых фактора эффективного дизайна панели управления
- Основные принципы проектирования корпусов управления в промышленной автоматизации
- Освоение проектирования электрощитов: ключевые принципы и лучшие практики
- Быстрые экспертные ответы на ключевые вопросы проектирования печатных плат
- Улучшение проектирования печатных плат: проверенные стратегии повышения антипомеховой устойчивости
- Освоение устранения помех в печатных платах: профессиональное руководство по обеспечению электромагнитной …
- Три ключевые стратегии проектирования для оптимальной ЭМС в печатных платах ноутбуков
- Архитектурное проектирование: принципы, практика и влияние на среду