本工程基于一个叫Minecraft的游戏,我使用的版本是1.4.7。之所以使用一个游戏作为平台,是因为这个游戏可以做到实时运行超大规模集成电路模型(大于10000个逻辑门)并且提供壮观的可视化效果(三维数字电路)。 半年前我刚接触这个游戏的时候,想做一个简单的计算器。国外玩家两年前已经有人做到了,基于整数ALU和直连总线的机器。
我开始规划做一个16bit的计算器,输入输出线路一样是直连的,也就是说这个计算器完全是专用的芯片,连单片机的等级都不到。后来我发现这个游戏可以实 现更加复杂的东西。原因很简单,游戏只提供了“或”“非”逻辑电路,但理论上“或”“非”门可以表达一切逻辑。同时游戏提供的基于活塞机械的断路,继电器 的延时时序特性以及继电器的锁存特性会让很多高级触发器成为可能。
换句话说,FPGA能实现的东西这个游戏基本都能实现,区别在于这个游戏提供的是一个纯 粹数学模型化的信号系统,元器件是简化的模型而不是现实中根据半导体材料设计的具有一定特性的电子元件,在线路连接的拓扑结构上也和现实中的电路不同。