# 你能对 ASIC 进行逆向工程吗?
来源:https://blog.janestreet.com/can-you-reverse-engineer-an-asic/
今年早些时候,我们发布了一个[谜题](https://blog.janestreet.com/can-you-reverse-engineer-our-neural-network/),给你一个完整的神经网络,让你弄清楚它的功能。反响非常好,所以我们又做了一个!这一次,我们要深入技术栈的更底层。
在这个谜题中,我们设计了一颗芯片,但我们只给你版图。
## 芯片制造速成课
现代芯片始于代码。硬件设计师使用类似 Verilog 的硬件描述语言描述电路,然后会被*综合*成逻辑门网表——NAND、NOR、XOR、触发器。然后电子设计自动化工具对这些门进行布局布线:它们在裸片上为每个门选择物理位置,并绘制连接它们的金属线,这些金属线跨越许多通过过孔连接的堆叠布线层。最终结果是一个 GDS 文件:对芯片每一层上每个多边形的几何描述,从执行实际逻辑的晶体管到其上的所有金属。像 Intel 或 TSMC 这样的晶圆厂就是用这个文件来制造物理硅片的。
从非常真实的意义上说,GDS 就是芯片本身。电路所做的一切都在里面。棘手的是:什么都没有标注!
ASIC 设计流程示意图:Verilog 代码被综合成逻辑门网表,经过布局布线成为 GDS 版图,然后在晶圆上制造并封装成芯片
## 谜题
> 我们设计了一颗 ASIC,并给你它的最终掩膜:所有的金属层、布线层和有源晶体管层,以及一些示例输入和输出。你的任务是逆向工程它。首先,从版图中恢复网表。然后弄清楚电路的真正用途。接下来是谜题中的谜题:一旦你理解芯片的功能,就用它来推导出它想要的输出,并找到作为最终答案的字符串值。你可以[在这里](https://github.com/janestreet/asic-puzzle-2026)找到所需的一切。一些入门提示:
> - 电路在物理上被安排成能够暗示其功能,所以请仔细观察版图!
> - 设计中有一部分用于生成输出,但不影响 `[success]` 输出。在最初的逆向工程步骤中,你可以安全地忽略它。
> - 你需要想出一种方法来模拟底层电路,以测试你的解决方案并获得最终输出!
> - 当 `[success]` 输出信号变为高电平时,你就知道你的解决方案是正确的。不要忘记在每次输入尝试之前切换 `[rst_n]`。
> - 我们在电路和代码仓库中隐藏了一些有趣的彩蛋(包括在解决主谜题时不需要查看的部分),完成谜题后看看你能不能找到它们。
一旦你弄清楚了,请在[此处](https://docs.google.com/forms/d/e/1FAIpQLScNCnfZ1wC4HbARwynUZ25EKZyqJIzXM_5H5aHom-QeAhE6FA/viewform?usp=sharing&ouid=113383508758462277069)提交你的答案,并附上简短的解题描述。提交截止日期为 2026 年 9 月 4 日。
欢迎与朋友一起合作解谜,但在提交截止前,请勿在网上发布剧透(或完整的解题报告)。如果你在提交截止后发布你的解决方案(在个人博客或代码仓库中),请给我们发邮件,我们可能会在后续文章中附上链接!
请勿将谜题文件直接输入 AI 工具,也不要使用 AI 来生成你的解题报告。不过,你可以自由地使用 AI 来编写解谜所需的任何脚本或代码!使用 AI 来完成热身谜题也是可以的,见下文。
如果在解谜过程中有问题,请联系 [
[email protected]](mailto:
[email protected])——我们不能给提示,但很乐意在其他方面提供帮助。
我们将在后续文章中展示最有趣的解题报告和技术,并为我们最喜欢的解决方案寄送周边礼品。
## 热身
如果你以前从未打开过 GDS 文件,别担心:大多数人也没有。为了帮助你入门,我们提供一个小型示例:一个简单的二进制加法器,包括它的 Verilog 源码、门级网表和最终的 GDS。你可以用它来熟悉电路如何映射到版图上,并在将你构建的工具用于真正谜题之前对其进行测试。
热身文件可在[谜题代码仓库](https://github.com/janestreet/asic-puzzle-2026)中找到。
你需要的一切都是免费且开源的:该设计使用开源 PDK,像 [KLayout](https://www.klayout.de/) 或 [Magic VLSI](https://github.com/rtimothyedwards/magic) 这样的工具可以轻松打开 GDS,让你在各个图层中查看。
## 更大的挑战即将到来
把这个谜题也看作一次热身。今年晚些时候,我们将推出一项竞赛:不是让你逆向工程我们的芯片,而是挑战你设计自己的芯片——最有趣的参赛作品将真正被制造出来,这样你就可以在现实中测试你的芯片。
敬请期待——我们将在未来几个月内在此博客上公布详细信息。
## Jane Street 的硬件团队
Jane Street 的硬件团队负责设计驱动一些全球最快交易系统的 FPGA 和 ASIC,日常工作充满了像这样的谜题:注视着一片门电路、时序报告或波形,慢慢梳理出究竟发生了什么。这些问题很难,但解决起来却非常令人满足;说实话,这也是我们喜欢在这里工作的重要原因。
如果你对此感兴趣,可以通过以下方式了解更多:
- 查看我们的硬件(FPGA 和 ASIC)[实习](https://www.janestreet.com/join-jane-street/position/8624440002/)和[全职](https://www.janestreet.com/join-jane-street/position/8646893002/)岗位。
- 了解 [Hardcaml](https://hardcaml.org/)(我们的开源 OCaml 硬件设计库)
- 在学术方面,了解我们的[访问研究员](https://www.janestreet.com/join-jane-street/programs-and-events/visiting-researcher/)和[研究生奖学金](https://www.janestreet.com/join-jane-street/programs-and-events/graduate-research-fellowship/)项目。
如果你只是想保持联系,可以填写[此表格](https://bit.ly/4lEqiqb)。