优秀的 Verilog/FPGA开源项目介绍- 玩FPGA不乏味

Posted 碎碎思

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了优秀的 Verilog/FPGA开源项目介绍- 玩FPGA不乏味相关的知识,希望对你有一定的参考价值。

优秀的 Verilog/FPGA开源项目介绍(十二)- 玩FPGA不乏味

Hello,大家好,之前给大家分享了大约一百多个关于FPGA的开源项目,涉及PCIe、网络、RISC-V、视频编码等等,这次给大家带来的是不枯燥的娱乐项目,主要偏向老的游戏内核使用FPGA进行硬解,涉及的内核数不胜数,主要目标是高的可实现性及复现性。

因为是娱乐项目,所以用本文中会有很多动图,下面开始。

1、zxuno

项目地址如下:

https://github.com/zxdos/zxuno

官方网站:

https://zxuno.speccy.org/faq.shtml

第一个,zx-uno,这是一个使用Xilinx Spartan XC6SLX9 FPGA实现整个 ZX Spectrum 计算机系列(ZX Spectrum是英国第一批家喻户晓的家用电脑之一,类似于美国的Commodore 64。但正是由于它的简单性、多功能性和伟大的设计,软件公司很快就赶上了为它编写各种软件的潮流)以及 ULAPlus、TurboSound 等系统的计算机,大小与 Raspberry Pi 相同。

支持的软核:

ZX Spectrum ZX81 SAM Coupé MSX1 C64 Atari 800XL
Jupiter ACE Oric Atmos BBC Micro VIC-20 Acorn Electron ZX Spectrum TBBlue Apple II 
Acorn Atom Amstrad CPC 6128 (no SD support) ZX Spectrum Kyp C16 / C116 / Plus4
Sharp MZ-700 PC/XT 512k PC/XT 2Mb PET ZX Spectrum 128 Kyp Multicomp CP/M
Galaksija Amstrad CPC 6128 (SD support) Amstrad CPC 464
Spectrum with PZX ZX Spectrum Kyp+VGA+TSound+SAA1099 Flappy Bird
TRS-80 ZX Spectrum (ESP26 UART support) Jupiter ACE (AY-3-8910, SD support)
Apple I Oric Atmos (with SD support) ZX Spectrum Kyp (native VGA output)

同时也支持很多街机内核,就不过多介绍了,自己去项目主页看一看,瞧一瞧!

按照开源地址制作硬件后(包含源文件及Gerber,可以直接打样),BOM如下:

硬件展示如下:

然后就是启动:

接下来就是测试

最后就是尽情享受

最后就是本项目是众筹项目,外壳也是必须的,下面是几种外壳产品:

2、sidewinder

https://github.com/ManuFerHi/SidewinderFPGA

主要参数:

FPGA BOARD EP4CE22

SDRAM 256Mbit

项目提供硬件原理图(PDF),Gerber(可以直接打板)

硬件展示

启动

计算机启动

游戏选择

游戏演示

mister

https://github.com/MiSTer-devel/Main_MiSTer

最后一个就是mister,其实还有很多其他类似的项目,但是有了这个项目其他项目就相形见绌了,这一个项目可以看做是N个项目的集合,而且mister的强大基本会在未来几年内不会被超越。

我们先看下这个项目的介绍:

MiSTer是一个开源项目,旨在使用现代硬件重新创建各种经典计算机(50+系统)、游戏机(25+种游戏机)和街机(10+种常用街机内核)。允许软件和游戏图像像在原始硬件(硬解)上一样运行,使用外围设备,如鼠标、键盘、操纵杆和其他游戏手柄。

硬件特性

使用DE10-NANO的开发板(很好购买)+SDRAM扩展板(不是必须,增加会增加好多内核适配)+低解板(不是必须)+USB HUB(不是必须)

所有需要的硬件都是开源的(AD的源文件),可以直接打板。

DE10-NANO的特点:

  • Altera Cyclone V SE FPGA with 110,000LE (41,500ALM) and 5,570Kbit of Block RAM.

  • ARM Cortex A9 dual-core CPU at 800MHz.

  • HDMI video and audio allowing connect to any modern monitor/TV.

  • DDR3 1GB available for both ARM and FPGA.

  • High speed ARM<->FPGA interconnect due to both being in the same chip.

硬件展示

硬件组装完成

制作SD卡上系统

项目中提供了各种内核的源文件,可以根据自己需求进行移植,如果使用项目提供的板卡,则可以使用官方提供的SD卡镜像,镜像位置:

https://github.com/MiSTer-devel/mr-fusion/releases

制作过程如下:

启动

更新游戏

因为跑得的Linux系统,所以可以使用SSH、TCP等工具通过网口从PC把游戏导入到SD卡内。

计算机启动演示

当然Windows95这种也不在话下:

游戏演示

总结

今天的项目就介绍到这里,有兴趣或者有什么问题可以联系我。想找找童年记忆的小伙伴,可以试一试最后的项目,如果觉得资金不够第一个第二个项目也是可以试一试的(第二个项目后续我会移植一下)。

最后,还是感谢各个大佬开源的项目,让我们受益匪浅。后面有什么感兴趣方面的项目,大家可以在后台留言或者加微信留言,今天就到这,我是爆肝的碎碎思,期待下期文章与你相见。

拯救童年系列-GameBoy介绍及FPGA实现


童年修复系列-PC Engine/TurboGrafx-16介绍及FPGA实现


童年修复系列-SNES芯片组介绍及FPGA实现


【开源】我们和童年的距离,就是一台游戏机-用FPGA DIY一个NES游戏机


一块带给无数人年少欢乐的CPU,别说你没用过它



以上是关于优秀的 Verilog/FPGA开源项目介绍- 玩FPGA不乏味的主要内容,如果未能解决你的问题,请参考以下文章

GitHub 优秀的 Android 开源项目

.net 平台下三个优秀强劲的开源项目(框架),你用过吗?

GitHub 优秀的 Android 开源项目

GitHub 优秀的 Android 开源项目

推荐这10个优秀的.NET Core开源项目!

Qt优秀开源项目之十三:QScintilla