Can you reverse engineer an ASIC?

bschne1 pts0 comments

Jane Street Blog - Can you reverse engineer an ASIC?

Can you reverse engineer an ASIC?

Aug 05, 2026 |

5 min read

Share on Facebook

Share on Twitter

Share on LinkedIn

By: Anish Singhani

By: Benjamin Devlin

Earlier this year we published a<br>puzzle that<br>handed you a complete neural network and asked you to figure out what it did. The response<br>was great, so we’ve made another one! This time, we’re going much deeper down the tech<br>stack.

For this puzzle we’ve designed a chip, but we’re only giving you the layout.

A crash course in how chips get made

Modern chips start life as code. A hardware designer describes a circuit in a hardware<br>description language like Verilog, which gets synthesized into a netlist of logic<br>gates—NANDs, NORs, XORs, flip-flops. Then electronic design automation tools place and<br>route those gates: they pick a physical location for every gate on the die and draw the<br>metal wires that connect them, across many stacked routing layers connected by vias. The<br>end result is a GDS file: a geometric description of every polygon on every layer of the<br>chip, from the transistors that do the actual logic to all the metal on top of them.<br>That’s the file a foundry such as Intel or TSMC uses to fabricate the physical silicon.

The GDS is, in a very real sense, the chip. Everything the circuit does is in there. The<br>tricky part: nothing is labeled!

The puzzle

We’ve designed an ASIC, and we’re giving you its final mask: all of its metal, routing,<br>and active transistor layers, along with some sample inputs and outputs.

Your job is to reverse engineer it. First, recover a netlist from the layout. Then<br>figure out the circuit’s true purpose. And then comes the puzzle within the puzzle: once<br>you understand what the chip does, use it to tease out the output it’s looking for, and<br>find the string value that’s your final answer.

You can find everything you need here.

Some pointers for getting started:

The circuit is physically arranged to hint at its functionality, so look closely at<br>the layout!

There is one section of the design that is used to generate the output but does not<br>affect the [success] output. You can safely ignore it for the initial<br>reverse-engineering steps.

You’ll need to come up with a way to simulate the underlying circuit to test your<br>solution and get the final output!

You’ll know you have the correct solution when the [success] output signal goes<br>high. Don’t forget to toggle [rst_n] before each input attempt.

We hid a few fun Easter eggs in the circuit and in the repository (including in parts<br>you don’t need to look at to solve the main puzzle), see if you can spot them once<br>you’re done with the puzzle.

Once you figure it out, submit your answer<br>here<br>along with a brief description of how you did it. Submissions close on September 4th, 2026.

Feel free to collaborate with friends on the puzzle, but please refrain from posting<br>spoilers (or a full writeup) online until the submissions are closed. If you do publish<br>your solution (on a personal blog or repository) after submissions are closed, email us<br>and we may include the link in our follow-up post!

Please don’t feed the puzzle files directly into an AI tool, nor use it to generate your<br>writeups. Feel free to use AI for writing any scripts or code you may need as part of<br>solving the puzzle, though! It’s also fair game to use AI to work through the warm-up<br>puzzle, see below.

If you have questions as you go, please reach out to<br>asic-puzzle@janestreet.com — we can’t give hints, but<br>we’re happy to help otherwise.

We’ll feature the most interesting writeups and techniques in a follow-up post, and send<br>swag for our favorite solutions.

A warm-up

If you’ve never opened a GDS file before, don’t worry: most people haven’t either. To help<br>you get started, we’re providing a small worked example: a simple binary adder, with its<br>Verilog source, its gate-level netlist, and the resulting GDS. You can use it to get<br>familiar with how a circuit maps onto a layout, and to test any tools you build before<br>pointing them at the real puzzle.

The warm-up files are available in the puzzle repository.

Everything you need is free and open source: the design uses an open-source PDK, and tools<br>like KLayout or Magic<br>VLSI will happily open the GDS and let you poke<br>around the layers.

And a bigger challenge is coming

Consider this puzzle a warm-up of its own. Later this year we’ll be launching a<br>competition where, instead of reverse engineering our chip, we’ll challenge you to design<br>your own - and the most interesting entries will actually get fabricated, so you can test<br>your chip in real life.

Stay tuned—we’ll announce the details here on the blog in the coming months.

Hardware at Jane Street

The hardware team at Jane Street designs FPGAs and ASICs that run some of the fastest<br>trading systems in the world, and the day-to-day work is full of puzzles just like this<br>one: staring at a sea of gates, timing reports, or waveforms and slowly teasing out...

puzzle circuit reverse chip asic output

Related Articles