为什么 FPGA 对复古游戏仿真如此出色

为什么 FPGA 对复古游戏仿真如此出色
文章图片
使用FPGA来复制经典视频游戏系统是一种已经流行了几年的做法 , 但这些项目与标准软件仿真有何不同?对于大多数用户来说 , 高昂的入门价格是否值得?
FPGA是什么意思?
FPGA代表现场可编程门阵列 , 一种可以在制造后重新配置的集成电路 。 与传统的计算机芯片不同 , FPGA使用可编程逻辑块和互连 , 可以重新配置以适应各种不同的用途 。
从本质上讲 , FPGA可以重新编程以充当任何类型的数字电路 。 这可以通过将新配置加载到RAM中以模拟不同类型的芯片来一遍又一遍地完成 。 旧的FPGA使用电路图 , 而新的FPGA使用基于文本的编程来描述行为 。
为什么 FPGA 对复古游戏仿真如此出色
文章图片
这些芯片有各种各样的不同用途 , 特别是在人工智能加速和机器学习方面 。 微软已与英特尔合作 , 使用英特尔的Arria系列FPGA增强Bing搜索 。 它们用于信号和图像处理系统 , 并在帮助设计人员在开发的早期阶段证明概念方面发挥着独特的作用 。
由于FPGA可以反复重新编程以充当不同类型的电路 , 因此它们也非常适合视频游戏硬件仿真 。 FPGA不是在软件中运行仿真器 , 而是在硬件级别有效地仿真不同的视频游戏系统 。
为什么 FPGA 对复古游戏仿真如此出色】FPGA系统仿真如何工作?
FPGA仿真需要有人为重现原始硬件行为的硬件编写“内核” 。 这个过程通常涉及对原始硬件进行逆向工程 , 甚至“去盖” , 其中集成散热器上的保护盖被移除以露出内部的芯片 。
这允许对集成电路进行目视检查 , 以帮助生产工作的FPGA内核 。 这个微妙的过程涉及使用硫酸和丙酮等化学物质、热量、呼吸器和很大的耐心 。 然后拍摄参考图像 , 并以可由FPGA解释的硬件描述语言(HDL)编写内核 。
学习、逆向工程和编写FPGA内核的过程可能需要几个月的时间和大量的投入 。 令人印象深刻的是 , 为了保护硬件 , 这些内核中的许多内核都是免费提供的 。 核心通常以beta状态发布 , 以便可以对其进行改进并且开发可以持续数年 。
尽管模拟原始硬件 , FPGA模拟仍然容易出错 , 就像软件模拟一样 。 随着更多修复和更改的实施以追求完美的硬件仿真 , 内核会定期更新 。
FPGA有什么好处?
FPGA硬件仿真是最接近在原始系统上播放的东西 , 因此它提供了真实的体验 。 这可能包括原始硬件上存在的怪癖 , 假设核心提供原始硬件的1:1副本 。 由于仿真发生在低得多的(硬件)级别 , 因此软件仿真器可能存在的延迟等问题已得到解决 。
原始硬件可能不可靠 , 尤其是随着它的老化 。 使用FPGA重现原始电路的行为方式是保留原始硬件的一种方法 , 并且可以反复部署 。 当这些项目开源时 , 只要拥有必备的FPGA硬件 , 任何人都可以从中受益 。
为什么 FPGA 对复古游戏仿真如此出色
文章图片
苏珊埃德蒙森/Shutterstock.com
对于大多数人来说 , 拥有一个可以即时重新编程的硬件更为实用 。 原始硬件可能很昂贵 , 占用空间 , 并且在稀有计算机和街机板的情况下很难找到 。 这种硬件并没有变得更年轻 , 而且由于很久以前就停止生产 , 因此很难维修或更换 。
由于系统是在硬件级别进行仿真的 , 因此系统应该能够与为该平台设计的几乎任何硬件进行交互 。 这包括原始墨盒、外围设备和附件 , 这些在编写内核时不一定要考虑在内 。
这与必须考虑操作员想要使用的各种设备(例如光枪)的软件仿真器不同 。