Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Industrial programming >> Verilog

Полный цикл проектирования ASIC: от требований к производству

Типичный цикл проектирования имеет структуру, показанную ниже, и разбивается на множество этапов. Некоторые фазы идут параллельно, другие — последовательно. Разберём, как выглядит типичный проектный цикл в индустрии сегодня.

Требования

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

Спецификации

Следующий этап — сбор «спецификаций», описывающих абстрактно функциональность, интерфейсы и общую архитектуру проектируемого чипа. Пример:

  1. Вычислительная мощность для алгоритмов обработки изображений (VR).
  2. Два процессора ARM A53 с когерентным межсоединением, частота 600 МГц.
  3. Интерфейсы USB 3.0, Bluetooth, PCIe 2-го поколения.
  4. Поддержка дисплея 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

  1. Освоение Verilog: полное руководство по проектированию цифровых схем
  2. Уровни абстракции проектирования: понятное руководство по архитектуре чипов
  3. 4 ключевых фактора эффективного дизайна панели управления
  4. Основные принципы проектирования корпусов управления в промышленной автоматизации
  5. Освоение проектирования электрощитов: ключевые принципы и лучшие практики
  6. Быстрые экспертные ответы на ключевые вопросы проектирования печатных плат
  7. Улучшение проектирования печатных плат: проверенные стратегии повышения антипомеховой устойчивости
  8. Освоение устранения помех в печатных платах: профессиональное руководство по обеспечению электромагнитной …
  9. Три ключевые стратегии проектирования для оптимальной ЭМС в печатных платах ноутбуков
  10. Архитектурное проектирование: принципы, практика и влияние на среду