Проблема разрыва между спецификациями и автоматизацией
Полупроводниковая промышленность сталкивается с фундаментальным вызовом при попытке интеграции искусственного интеллекта в существующие рабочие процессы проектирования. Основная проблема заключается не в способности больших языковых моделей (LLM) писать код, а в качестве «спецификаций» (Specifications), на которых основывается этот код. В то время как ИИ может генерировать утверждения на языке SystemVerilog (SVA) за считанные секунды, эти результаты полностью зависят от точности входных данных, которые в текущей индустрии часто являются неполными или двусмысленными.
Эксперты указывают на то, что истинной целью ИИ должна быть не просто генерация свойств (Properties) на основе спецификаций, написанных на естественном языке, а помощь в формулировании более качественных и точных технических спецификаций. Спецификации, написанные прозой, не могут обрабатываться инструментами формальной верификации (Formal Tools) напрямую, так как им не хватает математической точности, необходимой этим инструментам.
Что фактически меняется в роли инженера?
Ошибочно полагать, что автоматизация генерации свойств устранит потребность в специализированных инженерах по верификации. Напротив, этот переход повышает планку требований к навыкам. Вместо того чтобы тратить время на ручное написание утверждений, роль инженера сместится в сторону «проверки и валидации результатов работы ИИ».
- Проверка логики: Инженер должен убедиться, что сгенерированное утверждение охватывает фактические требования, а не является просто синтаксически правильным кодом.
- Управление сложностью: С ростом сложности систем на кристалле (SoC) способность интерпретировать результаты инструментов формальной верификации становится жизненно важной.
- Борьба с двусмысленностью: ИИ может не обладать способностью выявлять противоречия в спецификациях, что возлагает бремя обнаружения этих пробелов на человека-инженера.
Технические риски: ловушка «пустых утверждений»
Одной из самых серьезных проблем при использовании ИИ в этой области являются так называемые «пустые утверждения» (Vacuous Assertions). Это утверждения, которые выглядят программно правильными и проходят тесты инструментов верификации, но на самом деле не проверяют никакого реального поведения в дизайне, так как их условия всегда выполняются автоматически независимо от работы чипа.
Этот тип ошибок может привести к ложной уверенности в целостности проекта, что влечет за собой огромные затраты при обнаружении дефектов на поздних стадиях, как с точки зрения времени работы инструментов верификации, так и времени инженеров на отладку (Debugging).
На пути к более надежной методологии
Для перехода от стадии экспериментов к стабильному промышленному применению эксперты предлагают несколько путей:
- Использование технологии RAG: Усиление моделей ИИ с помощью технологии «генерации с дополнением извлечением» (Retrieval-Augmented Generation) для их связи со специализированными базами знаний, включающими правила проектирования и проверенные паттерны, вместо того чтобы полагаться только на то, что модель выучила во время обучения.
- Проектирование на основе формальных спецификаций: Переход к написанию спецификаций, которые являются «машиночитаемыми» (Machine-readable) с самого начала, что сокращает разрыв между человеческим текстом и математической логикой.
- Поэтапный подход: Начало применения автоматизации к небольшим, ограниченным и хорошо понятным блокам проектирования (Blocks) и сравнение результатов ИИ с результатами, написанными инженерами вручную, прежде чем масштабировать это на весь проект.