
Tang FPGA 开发板价格实惠,[nand2mario] 一直想在 Tang FPGA 上运行 x86 核心。看来终于成功了,因为Tang FPGA 开发板上有一个使用 Gowin 器件的 ao486 早期版本设计。该核心可在 MiSTer 平台上使用,该平台使用 Altera Cyclone 器件模拟游戏。
当然,在不同的 FPGA 架构之间移植重要的功能并非易事。此外,[nand2mario] 也做了一些改动。最初的内核使用的是 DDR3 内存,但对于 Tang 和 486 来说,SDRAM 更合适。唯一的问题是 Tang 的 SDRAM 是 16 位宽,这意味着每次 32 位访问需要两个周期。为了缓解这个问题,内存系统以两倍于主时钟频率的频率运行。当然,这相当于数据速率翻倍,但与 DDR 内存不同。
MiSTer 使用 ARM 处理器的高速通道连接到 FPGA 进行磁盘访问。Tang 开发板缺少用于此的高速接口,因此磁盘存储现在位于 FPGA 直接访问的 SD 卡上。此外,SD 卡的前 128K 空间存储配置设置,FPGA 现在会在启动时从中读取这些设置。
开发过程中最有趣的一点是使用 Verilator 来模拟整个系统,包括 VGA 卡之类的设备。它可以模拟启动到 DOS 提示符,尽管正如你所预料的那样,它比在实际硬件上启动要慢。但是,这让你能够以一种在实际硬件上难以实现的方式,来查看系统的整体状态。
想试试吗?Tang 的板子很便宜。(我们架子上就有一个,等以后再发帖。)或者,你也可以选择模拟路线。
MiSTer确实让 FPGA 引起了很多人的关注。如果你更喜欢 C64, Tang 开发板上也有。