» 您尚未登录:请 登录 | 注册 | 标签 | 帮助 | 小黑屋 |


发新话题
打印

[模拟相关] MiSTer FPGA硬件解码怀旧机

机翻一下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。FPGA不需要高频率来模拟复古计算机,因此它的工作频率比传统模拟器所需的低得多。由于FPGA中的所有工作都是并行的,所以处理模拟系统的任何可能使用都没有问题。FPGA上的开发人员通常会专注于特定的部分,以使其正确工作——并且它将在任何可能的场景中正常工作。在相同的参考演示“国家的艺术”,你可以看到一个流畅的视频通过整个播放的原始HW。
    你想问:为什么不在FPGA上制作所有的模拟器呢?FPGA编程并不是那么简单。FPGA中的每一个比特都是并行工作的,所以开发人员也应该并行思考。在CPU上微不足道的东西,在FPGA上就不那么微不足道了。虽然FPGA上的一些无关紧要的部分在CPU代码上花费很大。(完毕)
   
    我的理解是,对于模拟器,fpga强大的并行处理能力是相对于传统cpu的最大优势,理论上如果有原始主机电路图,是可以完美仿真硬件的。


TOP

引用:
原帖由 yuuyuubaishu 于 2019-4-30 08:24 发表
posted by wap, platform: Android
fpga,cpld硬件仿真cpu,gpu没毛病,理工科学过vhdl语言的都知道,烧录卡不也是上的这种东西吗
烧录卡只是模拟卡带要简单的多



TOP

发新话题
     
官方公众号及微博