大多数芯片只能永远做出厂时被设计来做的一件事 — 连线在工厂就烧入了硅片,永远无法更改。FPGA 打破了这一规则。它是一块「现场可编程」芯片:一片空白的、相同小型逻辑模块和连线的海洋,在制造完成后通过加载设计来配置。加载一个设计,它就是计算器;加载另一个,同一块芯片就是交通灯控制器。本展品让您追随从几行代码到工作芯片的完整旅程 — 然后观看内部发生的每个细节。
您从真实的 Verilog 开始 — 芯片设计师实际编写的语言 — 并观看它经历真实工具链:综合为每个输入评估每个方程并将答案写入查找表(一个十六位的「答案表」),布局布线将这些 LUT 放入逻辑模块并设置开关盒,生成比特流 — 精确的有序位字符串。该比特流保存在 Flash 芯片中;上电时,它逐位加载到 FPGA 的配置 SRAM 单元中,硅片便活了起来。关断电源,SRAM 忘记一切 — FPGA 每次开机都重新加载其设计。(两点说明:这里的布局布线是为清晰起见预先选定的,且这是逻辑级视图 — 真实信号也需要时间,可能发生毛刺。)现在放大。打开一个逻辑模块,其 LUT 便以其物理本质呈现 — 一个 16 选 1 多路复用器,读取十六个存储单元,输入每次选取一位,十六路到八路到四路到两路到一路,实时高亮显示获胜路径。再深入,一个答案位是一个六晶体管 SRAM 单元;打开开关盒,布线是一格通晶体管,每个由一个配置位保持导通或截止。拨动开关,驱动时钟,实时信号在每个层级的每根线上点亮。
第一块 FPGA,Xilinx 的 XC2064,由 Ross Freeman 于 1985 年发明,仅有 64 个逻辑模块;今天的有数百万个,运行从电话网络和航天器到测试新计算机芯片的机器的一切 — 因为同一块硬件可以随需求变化通过软件重新布线而备受青睐。它是 DigiSim 本身最直接的近亲:FPGA 就是可编程逻辑,正是您在 DigiSim 的 Logic Lab 中逐门搭建的东西,变成了您可以握在手中的芯片。
规格
- 从代码开始
- 真实 Verilog → 综合 → 布局布线 → 比特流 → 烧入 → 运行
- 烧入方式
- 配置位移入芯片的 SRAM 单元 — 观看芯片逐渐填满
- 放大到原子
- 逻辑模块 → LUT 作为实时 16:1 多路复用器 → 六晶体管 SRAM 单元
- 设计
- 逻辑门、半加器、闪烁器、计数器 → 七段数码管、交通灯 FSM
更多计算机展品