The challenge from Jane Street involves reverse-engineering an ASIC design provided in GDS format to understand its functionality. The task is divided into a warm-up phase and a main puzzle, which requires identifying logic components and their connections within the chip layout.
The author utilized the Python library gdstk to parse GDS files, identifying 27 elements in the warm-up task. Further analysis of VCD files revealed embedded ASCII messages, confirming the presence of encoded data within the circuit design.
To process the layout, the author created custom scripts to extract components and map connections. The process involved handling 1,000 tracks and 17,000 polygons in the warm-up, while the main task scaled up to nearly 10,000 components and 81 types of elements.
Optimization efforts included improving the track-merging algorithm, which reduced processing time from 3.4 seconds to 0.03 seconds. Despite these gains, the overall extraction process for the main puzzle remained time-intensive, taking approximately one minute per run.
The author manually implemented approximately 40 new component types based on official sky130 documentation to complete the simulation. The final goal is to successfully simulate the circuit logic to extract a password or target output from the ASIC design.




