В сложном мире кремниевых конструкций обеспечение точности и надежности наших разработок имеет первостепенное значение. По мере того как наши чипы становятся все более совершенными, процесс поиска ошибок — выявление и исправление ошибок в наших проектах — становится еще более важным. Генеративный искусственный интеллект может произвести революцию в индустрии проектирования полупроводниковых устройств, расширив наши возможности по поиску ошибок. Как? Давайте поэкспериментируем!
Эксперимент 4: Охота за ошибками
Чтобы продемонстрировать эффективность генеративного искусственного интеллекта в конструкции кремния, я провел эксперимент с GPT-4 от OpenAI. Мы предоставили системе проектную спецификацию (взято из https://mathcircle.berkeley.edu/sites/default/files/archivedocs/2010_2011/contest/1011contestpdf/comp8.pdf) наряду с реализацией проекта. Цель? Чтобы посмотреть, сможет ли GenAI выявить какие-либо ошибки.
Спецификация дизайна: На шахматной доске 5×5 король ходит по следующим правилам: 1. Он может перемещаться на одну клетку за раз, по горизонтали, вертикали или диагонали. 2. Он может двигаться в каждом из восьми разрешенных направлений не более трех раз за весь свой маршрут.
Ниже приведены результаты модели GenAI:
1. Ошибка: перезапись cur_x_pos на cur_y_pos else start cur_x_pos <= nxt_y_pos; cur_y_pos <= nxt_y_pos; end В этом разделе текущая позиция короля по оси X (cur_x_pos) всегда будет принимать значение nxt_y_pos, что неверно. Контрпример: Входной сценарий: предположим, что король находится в позиции (2,2), а в запросе move_request задано направление = 3'b010 (Вверх). Проектный переход: Ожидаемый: cur_x_pos остается 2, а cur_y_pos становится 3. Фактический: оба cur_x_pos и cur_y_pos становятся 3. Результат: Ожидаемый результат: Король перемещается в (2,3). Фактический результат: Король перемещается в (3,3).
2. Ошибка: инициализация cur_moves_count[] нулем, если (сброс) cur_moves_count[dir] <= 3'd0; После сброса счетчики перемещений во всех направлениях обнуляются. Однако условие проверки максимального количества ходов использует < 3'd3, что означает, что король может сделать ход 4 раза в каждом направлении, прежде чем возникнет ошибка. Контрпример: Входной сценарий: предположим, что король находится в позиции (0,0), и предоставлены четыре последовательных запроса move_request с направлением = 3'b000 (вправо). Переход дизайна: Ожидаемый: после 3-х ходов вправо 4-й ход должен вызвать ошибку. Фактически: король перемещается четыре раза вправо, не вызывая ошибки. Результат: Ожидаемый результат: Король перемещается в (3,0), а затем возникает ошибка. Фактический результат: Король без ошибки переходит в (4,0).
3. Ошибка: отсутствие проверки границ. Хотя код содержит проверки границ для перемещения короля по шахматной доске, он не учитывает возможность того, что добавление или вычитание из 3-битных значений может привести к ошибкам опрокидывания. Например, если cur_x_pos равен 3'd7 (чего не должно происходить в соответствии с текущим проектом, но может быть из-за внешних влияний или других проблем проектирования), вычитание 1 может привести к 0, а не к ожидаемому 6 из-за смены битов. . Контрпример: это может быть теоретической ошибкой, поскольку текущий дизайн не позволяет реализовать такой сценарий. Тем не менее, это важно учитывать для надежной конструкции. Рекомендация: можно улучшить проверки границ и добавить дополнительные проверки работоспособности, чтобы гарантировать, что положение короля никогда не выходит за пределы допустимого диапазона.
Интригующие наблюдения
- Идентификация ошибки: Модель GenAI выявила конкретное несоответствие между спецификацией проекта и ее реализацией с помощью надлежащего контрпримера, включая сценарий, переходы и анализ фактических и ожидаемых результатов. Это действительно была настоящая ошибка, требующая исправления.
- Ложноотрицательный результат: Как и любой инструмент, Генеративный ИИ не является непогрешимым. Он выявил проблему, которая при ближайшем рассмотрении оказалась не ошибкой. Это служит напоминанием о том, что, хотя ИИ может быть ценным помощником, человеческий опыт и суждения остаются решающими в процессе проверки.
- Проблема с улучшением: Помимо просто поиска ошибок, модель GenAI также предлагала усовершенствование — предложение по улучшению конструкции, которое не обязательно заключалось в исправлении ошибки, а, скорее, в дальнейшей оптимизации конструкции. Это неожиданное преимущество демонстрирует, как ИИ может не только помогать находить ошибки, но и предлагать инновации.
Пейзаж завтрашнего дня – редакторы/анализаторы HDL-кода на базе GenAI!
Последствия этого эксперимента глубоки. Интегрируя инструменты генеративного искусственного интеллекта в наш процесс разработки HDL-кода, мы можем:
- Ускорьте процесс поиска ошибок: Автоматизация начальных этапов обнаружения ошибок может сократить количество человеко-часов, затрачиваемых на отладку длинных сигналов моделирования.
- Снизить стоимость проверки: Поскольку инструментам/инженерам проверки остается меньше ошибок, которые нужно найти, завершение проверки может быть достигнуто раньше, что в долгосрочной перспективе приведет к экономии средств.
В заключение
Поскольку полупроводниковая промышленность продолжает развиваться, использование таких инструментов, как генеративный искусственный интеллект, может дать нам преимущество, гарантируя, что наши проекты не только безошибочны, но и расширяют границы возможного. Это лишь вопрос времени, когда вторые пилоты и плагины получат широкое распространение в отрасли.
Читайте также:
Генеративный искусственный интеллект для проектирования кремния – статья 3 (Имитация моего дизайна)
Генеративный искусственный интеллект для проектирования кремния – статья 1 (Code My FSM)
Поделитесь этим постом через:
- SEO-контент и PR-распределение. Получите усиление сегодня.
- PlatoData.Network Вертикальный генеративный ИИ. Расширьте возможности себя. Доступ здесь.
- ПлатонАйСтрим. Интеллект Web3. Расширение знаний. Доступ здесь.
- ПлатонЭСГ. Углерод, чистые технологии, Энергия, Окружающая среда, Солнечная, Управление отходами. Доступ здесь.
- ПлатонЗдоровье. Биотехнологии и клинические исследования. Доступ здесь.
- Источник: https://semiwiki.com/eda/338432-generative-ai-for-silicon-design-article-4-hunt-for-bugs/
- :имеет
- :является
- :нет
- $UP
- 1
- 4
- 7
- 8
- a
- По
- Учетная запись
- точность
- достигнутый
- через
- фактического соединения
- добавленный
- добавить
- дополнительный
- Принятие
- После
- AI
- Все
- позволять
- рядом
- причислены
- Несмотря на то, что
- всегда
- an
- анализ
- и
- любой
- МЫ
- массив
- гайд
- AS
- помощник
- предполагать
- At
- Автоматизация
- основанный
- BE
- становиться
- становится
- до
- начинать
- польза
- Беркли
- между
- Beyond
- Немного
- изоферменты печени
- Границы
- Ошибка
- охота за ошибками
- ошибки
- но
- by
- CAN
- возможности
- случаев
- Вызывать
- проверка
- Проверки
- шахматы
- чипсы
- ближе
- закрытие
- код
- сравнение
- комплекс
- состояние
- проводятся
- последовательный
- Рассматривать
- содержит
- продолжается
- Цена
- экономия на издержках
- может
- Создайте
- критической
- решающее значение
- Текущий
- определять
- демонстрировать
- демонстрирует
- Проект
- конструкций
- подробный
- обнаружение
- Развитие
- DID
- направление
- инструкция
- несоответствие
- приносит
- вниз
- два
- каждый
- Edge
- эффективность
- еще
- конец
- повышение
- обеспечивать
- обеспечение
- Весь
- ошибка
- ошибки
- существенный
- Эфир (ETH)
- Даже
- развивается
- превышает
- ожидаемый
- эксперимент
- опыта
- и, что лучший способ
- меньше
- Найдите
- обнаружение
- поток
- после
- Что касается
- 4
- от
- функциональная
- далее
- Gain
- генеративный
- Генеративный ИИ
- подлинный
- Дайте
- цель
- идет
- происходить
- помощь
- Выделите
- держать
- Как
- Однако
- HTTPS
- человек
- Охота
- охота
- i
- Идентификация
- определения
- if
- реализация
- последствия
- улучшенный
- улучшение
- in
- В том числе
- указывать
- промышленность
- начальный
- инновации
- вход
- пример
- Интегрируя
- в
- вопрос
- вопросы
- IT
- ЕГО
- всего
- Король
- Отсутствие
- пейзаж
- ведущий
- оставил
- позволять
- Используя
- такое как
- ОГРАНИЧЕНИЯ
- Длинное
- Вопрос
- макс-ширина
- максимальный
- смысл
- может быть
- ошибки
- модель
- модуль
- БОЛЕЕ
- самых
- двигаться
- движение
- движется
- my
- обязательно
- необходимый
- отрицательный
- никогда
- of
- on
- ONE
- только
- оптимизирующий
- or
- Другое
- наши
- внешний
- Результат
- выходной
- внешнюю
- Первостепенный
- для
- Платон
- Платон Интеллектуальные данные
- ПлатонДанные
- должность
- возможность
- возможное
- После
- потенциал
- Питание
- представить
- процесс
- глубокий
- правильный
- предложило
- при условии
- Нажимать
- поднятый
- ассортимент
- скорее
- Читать
- Рекомендация
- уменьшить
- Редж
- надежность
- оставаться
- остатки
- напоминание
- запросить
- результат
- революционизировать
- правую
- надежный
- дорога
- условиями,
- Run
- s
- экономия
- сценарий
- Раздел
- посмотреть
- полупроводник
- служит
- должен
- кремний
- моделирование
- сложный
- источников
- конкретный
- Спецификация
- потраченный
- площадь
- этапы
- такие
- система
- T
- взять
- чем
- который
- Ассоциация
- тогда
- теоретический
- этой
- три
- время
- раз
- в
- инструментом
- инструменты
- переход
- переходы
- вызвать
- срабатывает
- срабатывание
- Оказалось
- Неожиданный
- на
- вертикальный
- us
- использования
- действительный
- Проверка
- ценный
- ценностное
- Наши ценности
- проверка
- Против
- вертикально
- с помощью
- vs
- законопроект
- we
- когда
- который
- в то время как
- широкий
- будете
- без
- Мир
- X
- зефирнет
- нуль