银河飞将
原帖由 @SecretValley 于 2019-4-30 01:14 发表 机翻一下wiki的介绍: 一般的潜在用户最终会问:为什么需要使用FPGA,而不用其他已存在的经过验证的解决方案(如树莓派)? 如何看待FPGA仿真真实硬件的过程,是存在争议的。有人坚持认为它不是模拟而是真正的原始硬件复制品,而任何在传统CPU上的仿真都应该称为模拟。在这里我有我自己的观点。从我的观点来看,如果FPGA代码是基于一个真正的硬件电路(通常对FPGA兼容性进行调整),那么它被称为一个硬件复制品。除此之外其他任何东西都是模拟,因为它包含了不同种类的近似。但是目前,很难找到一个核心,可以称为一个复制品大多数核心是基于或多或少的功能再创造,而不是真正的电路再创造。最广泛使用的CPU核心Z80(T80)和MC68000(TG68K)是纯功能模拟—而不是复制品。因此,可以将FPGA内核称为模拟器,除非它被证明是副本。 如果FPGA也只是模拟,为什么还要使用FPGA ?FPGA与CPU上的模拟有本质的不同。传统的CPU模拟器按顺序执行代码。这是一种复杂的模拟方法,因为真正的硬件有很多芯片,而且它们都是并行工作的。CPU,视频芯片/逻辑,音频芯片,内存仲裁器所有这些都在同一时间工作。因此,传统的模拟器必须处理所有这些部分,并试图通过快速地从一个芯片“运行”到另一个芯片来同时模拟整个管弦乐队。它需要大量的CPU能力来模拟即使是旧的和缓慢的复古计算机。有时,即使现代CPU以100倍于老式计算机的速度运行也是不够的,因此模拟器必须使用一些不太重要的部分的近似模拟或跳过模拟,或者假设一些被模拟系统的标准工作而不需要特别使用。让我们以一个著名的UAE模拟器来模拟Amiga。在Raspberry Pi 3上,你可以运行一些Amiga CPU基准测试,得到一些疯狂的数字,比如原始68000的100倍。所以,你可以假设你有一个模拟的Amiga,它比真实的Amiga快100倍。不,你没有。如果你运行不同类型的演示/游戏,你会看到视频有时会卡顿。例如,如果您播放“State of The Art”演示,您将注意到视频在某些地方卡顿,而真正的Amiga 600以1x CPU速度播放整个演示非常流畅。这就是树莓派模拟器的工作原理。 FPGA模拟与传统的CPU模拟有很大的不同。FPGA是一个由大量简单触发器和其他逻辑组成的阵列。与所有芯片/ cpu完全相同。唯一的区别是,特定的芯片/CPU有这样的触发器/逻辑永久连接,而FPGA允许连接他们像你想要的。一种特殊的HDL语言描述了如何连接所有这些触发器/逻辑单元。FPGA中的所有东西都像原始芯片/设备一样并行工作。因此FPGA非常接近原始的HW。 ...
查看详细资料
TOP