你能逆向工程一个ASIC吗?
今年早些时候,我们发布了一个谜题,给你一个完整的神经网络,要求你弄清它的功能。反响非常不错,所以我们又做了一个!这次,我们将深入技术栈。对于这个谜题,我们设计了一个芯片,但只给你布局。关于芯片制作的快速入门现代芯片的诞生始于代码。硬件设计师使用硬件描述语言(如Verilog)描述一个电路,这些代码会被综合成一个逻辑门网表——NAND、NOR、XOR、触发器。随后,电子设计自动化工具会对这些门进行放置和连接:它们为芯片上每个门选择一个物理位置,并绘制连接它们的金属线路,这些线路跨越多个堆叠的布线层,通过通孔连接。最终结果是一个GDS文件:一个描述芯片每层每个多边形几何形状的文件,从执行实际逻辑的晶体管到覆盖在其上的所有金属。这就是制造厂(如英特尔或台积电)用来制造物理硅的文件。GDS在很真实的意义上,就是芯片。电路的所有功能都包含在里面。棘手的部分:没有任何标签!谜题我们设计了一个ASIC,并且我们给你它的最终掩模:所有的金属、布线和活跃晶体管层,以及一些示例输入和输出。你的任务是逆向工程它。首先,从布局恢复一个网表。然后弄清电路的真实目的。接下来是谜题中的谜题:一旦你明白了芯片的功能,利用它提取它所期望的输出,并找到最终答案的字符串值。你可以在这里找到所有你需要的内容。以下是一些入门提示:电路的物理排列旨在提示其功能,因此仔细查看布局!设计中有一个部分用于生成输出,但不影响[成功]输出。你可以在初始逆向工程步骤中安全地忽略它。你需要想出一种方法来模拟底层电路以测试你的解决方案并获得最终输出!当[成功]输出信号变高时,你就知道你有了正确的解决方案。不要忘记在每次输入尝试之前切换[rst_n]。我们在电路和代码库中隐藏了几个有趣的小彩蛋(包括一些你在解决主要谜题时不需要查看的部分),一旦完成谜题,看看你能否发现它们。一旦你搞明白了,请在这里提交你的答案,以及你是怎么做到的简要描述。提交截止日期是2026年9月4日。欢迎与朋友合作解决谜题,但请在提交结束之前不要在网上发布剧透(或完整的写作)。如果在提交关闭后你发布了解决方案(在个人博客或代码库上),请给我们发邮件,我们可能会在后续帖子中包含该链接!请不要将谜题文件直接输入AI工具,也不要用它来生成你的写作。不过,可以自由地使用AI来编写你可能需要的任何脚本或代码作为解决谜题的一部分!使用AI来解决热身谜题也是合理的,见下文。如果你在过程中有问题,请联系asic-puzzle@janestreet.com——我们不能给出提示,但很乐意以其他方式提供帮助。我们将把最有趣的写作和技巧在后续帖子中展示,并为我们最喜欢的解决方案送出礼品。热身如果你从未打开过GDS文件,请不要担心:大多数人也没有。为了帮助你入门,我们提供了一个小例子:一个简单的二进制加法器,它的Verilog源代码、门级网表和生成的GDS。你可以利用它熟悉电路如何映射到布局,并测试在将任何工具指向真正的谜题之前构建的工具。热身文件在谜题代码库中可以获得。您所需的一切都是免费的开源:该设计使用开放源代码的PDK,像KLayout或Magic VLSI这样的工具将愉快地打开GDS文件,并让你在各层之间进行探索。更大的挑战即将到来将此谜题视为一个独立的热身。今年晚些时候,我们将启动一项比赛,挑战你设计自己的芯片——而最有趣的作品将真正被制造出来,以便你可以在现实中测试你的芯片。请继续关注——我们将在接下来的几个月内在博客上宣布详情。Jane Street的硬件团队设计FPGA和ASIC,运行一些全球最快的交易系统,日常工作充满了这样的谜题:盯着大量的门、时序报告或波形,慢慢揭示发生了什么。这些问题以一种令人满意的方式很难解决,老实说,这也是我们喜欢在这里工作的一个重要原因。如果这听起来很吸引人,以下是一些了解更多的方式:查看我们的硬件(FPGA和ASIC)
本站免费、广告极少。如果觉得有帮助,可以请我们喝杯咖啡 —— 任何金额都对持续运营有实际帮助。
☕请我喝杯咖啡