Задача от Jane Street заключается в реверс-инжиниринге ASIC-чипа, представленного в формате GDS. Участникам необходимо определить назначение схемы, выявив логические элементы и их соединения. Челлендж состоит из разминочного этапа и основной головоломки.
Для работы с файлами автор использовал библиотеку gdstk на языке Python. В разминочной задаче было обнаружено 27 элементов. Анализ VCD-файлов позволил найти скрытые сообщения в формате ASCII, что подтвердило наличие зашифрованных данных внутри микросхемы.
Процесс извлечения схемы потребовал обработки 1 000 дорожек и 17 000 полигонов в разминке. Основная задача оказалась значительно масштабнее: она содержит почти 10 000 компонентов 81 различных типов. Для их описания автор вручную перенес около 40 новых типов элементов из документации.
Оптимизация алгоритма соединения дорожек позволила ускорить этот этап в 100 раз — с 3,4 до 0,03 секунды. Тем не менее, общее время извлечения схемы для основной задачи составляет около одной минуты. Автор также реализовал симуляцию на языке Verilog для проверки работоспособности компонентов.
В ходе работы автор использовал сторонние инструменты, такие как SQLite для симуляции и Excalidraw для визуализации связей. Несмотря на сложности с производительностью и необходимость ручной настройки, автор продолжает работу над симуляцией основной схемы для получения финального результата.




