Jane Street 的博客文章解释说,ASIC 谜题向参与者提供了小型芯片的最终 GDS 布局,并要求他们在没有网表或内部信号名称的情况下确定其功能。该芯片是 11×11 Star Battle 谜题(也称为 "Two Not Touch")的硬件检查器。它接受 121 个周期的二进制输入,每个输入指示是否在对应方格中放置星号。内部设计运行并行检查:每行每列需要恰好两个星号的 2 位计数器、一个将方格映射到彩色区域的 121 位 ROM,以及每个区域一个 2 位计数器(也需要两个星号)、一个确保没有两个星号接触(甚至对角线)的延迟线,以及用于复活节彩蛋输出的总星号计数器。所有检查通过 AND 运算产生成功信号。当成功信号被断言时,输出生成器发出一个解决方案字符串。这些字符串存储在 ROM 中,但通过由游戏板驱动的小型 LFSR 进行混淆;求解谜题需要去混淆字符串。大多数错误尝试会产生 "TRY AGAIN" 消息,而某些错误棋盘会触发复活节彩蛋消息。其中包括一个由约 1,400 个孤立的 metal-2 方格组成的 57×57 像素 Jane Street Logo,以及在未使用层中蚀刻的摩尔斯电码 "PER ARENAM AD ASTRA"(穿越沙层,抵达星辰),还有 "TWO NOT TOUCH" 路径中的一个浮线 bug,导致输出显示为 "TWO"。

由 1,366 个 metal-2 方格和层 200 中的摩尔斯电码 PER ARENAM AD ASTRA 组成的 Jane Street Logo
复活节彩蛋特性:由 metal-2 形状组成的 Jane Street Logo 和在未使用层中蚀刻的摩尔斯电码消息blog.janestreet.com

文章描述错误的棋盘会触发复活节彩蛋消息,包括由约 1,400 个孤立的 metal-2 方格组成的 57×57 像素 Jane Street Logo,以及在未使用层中蚀刻的摩尔斯电码 "PER ARENAM AD ASTRA"。

模拟时钟、使能、成功和输出信号,显示在第 121 位后成功且输出拼写 (* TWO STARS *)
成功信号在第 121 个输入位后上升,混淆输出每时钟字节拼写 (* TWO STARS *)blog.janestreet.com

当成功信号被断言时,输出生成器发出存储在 ROM 中但通过由游戏板驱动的小型 LFSR 混淆的解决方案字符串;求解需要去混淆。大多数错误尝试产生 "TRY AGAIN",而某些错误棋盘会触发复活节彩蛋消息。

注释芯片布局,突出显示计数器、规则检查器、区域映射和输出生成器,带有虚线框
Sanjay Ravishankar 的注释布局显示内部模块:行/列计数器、区域检查器、延迟线和输出生成器blog.janestreet.com

内部设计运行并行检查:每行每列需要恰好两个星号的 2 位计数器、将方格映射到彩色区域的 121 位 ROM,以及每个区域一个 2 位计数器、确保没有两个星号接触(甚至对角线)的延迟线,以及用于复活节彩蛋输出的总星号计数器。

在全 1 运行期间按首次高电平周期着色的寄存器位置,突出显示行计数和邻接拒绝标志
全 1 测试期间的寄存器活动说明行计数和邻接检查逻辑blog.janestreet.com

该芯片接受 121 个周期的二进制输入;内部运行并行检查,包括行/列计数器和防止对角线邻接的延迟线。