Back
SiTech
How a developer reverse-engineered a Jane Street ASIC challenge in a month
SiTech AI Team3 წთ. საკითხავი

How a developer reverse-engineered a Jane Street ASIC challenge in a month

A Jane Street hardware puzzle that asks engineers to recover a chip's function from its layout file took one developer about a month. His write-up, published September 4, explains how constraint solving produced the answer.

Jane Street's public challenges are known for pulling engineers into long detours. One of them, a hardware puzzle titled "Can you reverse engineer an ASIC?", kept developer Chris, who blogs as Jestoph, busy for about a month; on September 4 he published a detailed account of how he solved it.

What the challenge asked

The task is to take a GDS file — a description of a silicon layout — and work backwards to determine what the circuit does. An ASIC, or application-specific integrated circuit, is a chip designed for one narrow job rather than general computing. The challenge came in two parts: a warm-up where the actual chip design was provided, and the main puzzle, which by his account arrived with "a firm handshake and a 'good luck'".

From raw layout to a working simulation

The first lead was a VCD file shipped with the puzzle. Reading it with a short C program produced the message "TRY AGAIN", showing the circuit carries text. He then used the Python library gdstk to open the layouts, though he went on to write his own circuit simulator, a parser for a hardware description language and a test harness — detours he now describes as largely wasted time. The warm-up contained 27 elements; the real puzzle had roughly 10,000 components of 81 types, against about 20 types in the warm-up, with some 1,000 wire paths and 17,000 polygons left after filtering.

A bug in the puzzle itself

Simulation exposed an undriven wire connected only to two input pins, sitting beside a pin that was neither an input nor an output. He reported it to Jane Street and the next day received confirmation that he was right, though the flaw does not affect the challenge's outcome. He calls the bug report one of his favourite technical achievements.

Solving it backwards with a constraint solver

With a 120-bit input and no realistic way to search it exhaustively, he ran the design backwards in time, expressing the desired signals as constraints for the solver z3. He needed about 24 wires high at the same moment and managed 22 of them in isolation; the rest fell out once he noticed that most element inputs simply need two pulses at multiples of 11. The full simulation returned the winning output, "(* TWO STARS *)". The circuit also answers "EMPTY SKY" to an all-zero input and "BIG BANG" to all ones. Jane Street has hinted at a new challenge in the coming months, he notes.

SSiTech

SiTech — AI-powered web development

We build fast, modern websites and bring AI into real business workflows. Have a project or a question? We'd love to help.