Jane Street 的 ASIC 逆向工程挑战
Reverse Engineering an ASIC
Jane Street 最近发布了一个逆向工程 ASIC 芯片的谜题,我和朋友 Leander 决定一起挑战。我们的目标是从 GDS 文件入手,解析芯片布局,还原其电路逻辑。通过识别 SkyWater 130 nm 工艺的标准单元库,我们逐步理解了晶体管、逻辑门和触发器的连接方式。虽然 GDS 文件本身只是几何图形,但结合工艺设计套件(PDK)文档,我们可以推断出每个单元的功能。最终,我们将整个芯片抽象为逻辑电路,模拟其行为以找到让 success 输出为高的输入。这个过程不仅揭示了芯片设计的底层细节,也展示了逆向工程的魅力。
虽然 GDS 文件本身只是几何图形,但结合工艺设计套件文档,我们可以推断出每个单元的功能。
- anitil
太酷了,也太美了!你做得太棒了。这正是我希望能亲手做出来的那种网站,它让我想起了 ciechanow 网站 [0],既极具教育意义又赏心悦目。它解答了我的一些疑问,比如“为什么电源总是在上面,而地线总是在下面?”
我非常欣赏你通过深入理解每个部分的功能来解决问题的方式。我也摸索出了每一部分的零碎细节,但现在我意识到自己忽略了许多就在眼前的线索(例如它代表了一个 11x11 的网格,以及我称之为“右下角那个 blob”的部件的运作方式等等)。据我所知,你是唯一一个发现 `TWO''NOT TOUCH` 的人。
编辑补充提问:你是怎么找到 `TWO''NOT TOUCH` 这个输出的?我猜你是通过某种结构推导出来的?我在发了 4 条消息后就放弃了,当时没意识到还能得到更多结果。
[0] https://ciechanow.ski/ - 我特别喜欢关于机械表机芯的那篇,但说实话,随便挑一篇看都行。
- tolugenius
稍微有点跑题,但我怎么用 github pages 设计这样的页面呢?我总是对网页在设计上能达到的程度印象深刻,但我在这方面还算新手,不太确定该如何做到。
- naveen_venk
太棒的网站了。今天晚点再细读。
我参加了这次比赛。想和你聊聊。能分享一下邮箱或联系方式吗?