
Одна DRC-дека, три техпроцесса и двенадцать неверных гипотез
GrigoryF 5 минут назад Одна DRC-дека, три техпроцесса и двенадцать неверных гипотез Средний 9 мин 271 Rust * Алгоритмы * Программирование * Тестирование IT-систем * Производство и разработка электроники * Ретроспектива...
Anthropic — What company has the best second artificial intelligence model at the end of June?
Значимый прорыв формирует отрасль ИИ: GrigoryF 5 минут назад Одна DRC-дека, три техпроцесса и двенадцать неверных гипотез Средний 9 мин 271 Rust * Алгоритмы * Программирование * Тестирование IT-систем * Производство и разработка электроники * Ретроспектива Как мы поверили в «универсальность» движка и почти не стали её проверятьМы были уверены, что наш DRC-движок универсален. На SKY130 он совпадал с эталонным KLayout до последнего нарушения: тесты зелёные, расхождения нулевые, поведение стабильное от прогона к прогону. Из этого казалось очевидным, что движок применим к любому техпроцессу.
Он же просто исполняет правила из деки и ничего не знает про конкретную фабрику. Мы эту мысль не проверили. И это разные вещи, как выяснилось.
Технические детали
Сначала контекстМы небольшой командой пишем на Rust редактор топологий микросхем и к нему верификатор. Команда - четыре человека(недавно присоеденился еще один разработчик) человека, я CTO, направляю архитектуру и принимаю решения, в том числе те неправильные, о которых пойдёт речь. Верификатор делает четыре вещи: DRC, LVS, проверку антенн и экстракцию паразитов.
Здесь - только про DRC, потому что вся история крутилась вокруг него. Расшифрую, чтобы дальше не спотыкаться. DRC - это проверка топологии на соответствие правилам фабрики.
У каждого техпроцесса есть свой свод правил: минимальная ширина проводника, минимальный зазор между фигурами, на сколько металл должен накрывать переходное отверстие, и так далее - сотни правил. Дизайнер рисует топологию, прогоняет через DRC, и тот говорит, где зазор меньше нормы. Без чистого DRC чип не примут на фабрику.
Отраслевые последствия
Сам свод правил называется декой, и для каждого процесса она своя. Мы писали движок на открытом SkyWater SKY130. На нём всё совпадало с эталоном.
Отсюда и взялась опасная мысль:Если движок исполняет правила, значит он должен работать на любой деке. Только проверять это никто не сел. Что значит «универсальный» на самом делеПервое, на чём мы споткнулись, - на определении.
Что именно надо доказать? Напрашивается простой ответ: «движок считает все правила деки». Мы чуть не пошли этим путём, и хорошо, что остановились.
Этот прогресс даёт важные сигналы о будущем отрасли, и технологический мир внимательно наблюдает.





