Introduction to Excellent Open Source Verilog/FPGA Projects – Making FPGA Fun

Introduction to Excellent Open Source Verilog/FPGA Projects - Making FPGA Fun

Introduction to Excellent Open Source Verilog/FPGA Projects – Making FPGA Fun

Hello, everyone, previously I shared about a hundred open source projects related to FPGA, covering PCIe, networking, RISC-V, video encoding, etc. This time, I bring you some fun entertainment projects, mainly focusing on using FPGA for hardware decoding of old game cores, with countless cores involved, aiming for high implementability and reproducibility.

As these are entertainment projects, there will be many GIFs in this article, so let’s get started.

1. zxuno

Introduction to Excellent Open Source Verilog/FPGA Projects - Making FPGA Fun

Project address:

https://github.com/zxdos/zxuno

Official website:

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

Introduction to Excellent Open Source Verilog/FPGA Projects - Making FPGA Fun

First, zx-uno, this is a project that uses the Xilinx Spartan XC6SLX9 FPGA to implement the entire ZX Spectrum computer series (the ZX Spectrum was one of the first household computers in the UK, similar to the American Commodore 64. However, due to its simplicity, versatility, and great design, software companies quickly jumped on the trend of writing various software for it) as well as systems like ULAPlus and TurboSound, with a size similar to Raspberry Pi.

Supported soft cores:

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)

It also supports many arcade cores, but I won’t go into detail, just check out the project homepage!

After making the hardware according to the open source address (including source files and Gerber, can be directly sampled), the BOM is as follows:

Introduction to Excellent Open Source Verilog/FPGA Projects - Making FPGA Fun

Hardware display:

Introduction to Excellent Open Source Verilog/FPGA Projects - Making FPGA Fun

Then comes the boot:

Introduction to Excellent Open Source Verilog/FPGA Projects - Making FPGA Fun

Next is the testing:

Introduction to Excellent Open Source Verilog/FPGA Projects - Making FPGA Fun

Finally, enjoy:

Introduction to Excellent Open Source Verilog/FPGA Projects - Making FPGA Fun

This project is a crowdfunding project, and the shell is also a must. Below are several shell products:

Introduction to Excellent Open Source Verilog/FPGA Projects - Making FPGA Fun
Introduction to Excellent Open Source Verilog/FPGA Projects - Making FPGA Fun

Introduction to Excellent Open Source Verilog/FPGA Projects - Making FPGA Fun

Introduction to Excellent Open Source Verilog/FPGA Projects - Making FPGA Fun

Introduction to Excellent Open Source Verilog/FPGA Projects - Making FPGA Fun

Introduction to Excellent Open Source Verilog/FPGA Projects - Making FPGA Fun

2. sidewinder

Introduction to Excellent Open Source Verilog/FPGA Projects - Making FPGA Fun

https://github.com/ManuFerHi/SidewinderFPGA

Main Parameters:

FPGA BOARD EP4CE22

SDRAM 256Mbit

The project provides hardware schematics (PDF), Gerber (can be directly manufactured)

Hardware Display

Introduction to Excellent Open Source Verilog/FPGA Projects - Making FPGA Fun

Boot

Introduction to Excellent Open Source Verilog/FPGA Projects - Making FPGA Fun

Computer Boot

Introduction to Excellent Open Source Verilog/FPGA Projects - Making FPGA Fun

Game Selection

Introduction to Excellent Open Source Verilog/FPGA Projects - Making FPGA Fun

Game Demonstration

Introduction to Excellent Open Source Verilog/FPGA Projects - Making FPGA Fun

mister

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

The last one is mister; in fact, there are many other similar projects, but with this project, other projects pale in comparison. This project can be seen as a collection of several projects, and the power of mister is unlikely to be surpassed in the coming years.

Introduction to Excellent Open Source Verilog/FPGA Projects - Making FPGA Fun

Introduction to Excellent Open Source Verilog/FPGA Projects - Making FPGA Fun

Let’s first look at the introduction of this project:

MiSTer is an open source project aimed at recreating various classic computers (50+ systems), game consoles (25+ game consoles), and arcade machines (10+ common arcade cores) using modern hardware. It allows software and game images to run as if on the original hardware (hardware decoding), using peripherals such as mouse, keyboard, joystick, and other game controllers.

Hardware Features

Using the DE10-NANO development board (easily purchasable) + SDRAM expansion board (not necessary, but increases compatibility with many cores) + low-resolution board (not necessary) + USB HUB (not necessary)

All required hardware is open source (AD source files) and can be directly manufactured.

Features of 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 connection 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.

Hardware display:

Introduction to Excellent Open Source Verilog/FPGA Projects - Making FPGA Fun

Hardware assembly completed:

Introduction to Excellent Open Source Verilog/FPGA Projects - Making FPGA Fun

Creating the System on SD Card

The project provides source files for various cores, which can be ported according to your needs. If you use the board provided by the project, you can use the official SD card image provided. The image location:

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

The production process is as follows:

Introduction to Excellent Open Source Verilog/FPGA Projects - Making FPGA Fun

Boot

Introduction to Excellent Open Source Verilog/FPGA Projects - Making FPGA Fun

Updating Games

Since it runs a Linux system, you can use tools such as SSH and TCP to import games into the SD card from a PC.

Introduction to Excellent Open Source Verilog/FPGA Projects - Making FPGA Fun

Computer Boot Demonstration

Introduction to Excellent Open Source Verilog/FPGA Projects - Making FPGA Fun

Introduction to Excellent Open Source Verilog/FPGA Projects - Making FPGA Fun

Of course, running Windows 95 is also not a problem:

Introduction to Excellent Open Source Verilog/FPGA Projects - Making FPGA Fun

Game Demonstration

Introduction to Excellent Open Source Verilog/FPGA Projects - Making FPGA Fun

Introduction to Excellent Open Source Verilog/FPGA Projects - Making FPGA Fun

Summary

That’s all for today’s project. If you are interested or have any questions, feel free to contact me. If you want to find friends who share childhood memories, you can try the last project. If you feel that the funds are insufficient, the first and second projects are also worth trying (I will port the second project later).

Finally, I would like to thank all the great open source projects that have benefited us immensely. If there are any projects in areas of interest in the future, you can leave a message in the background or add me on WeChat to leave a message. That’s all for today, I am the hardworking writer, looking forward to seeing you in the next article.

What Projects Do Foreign College Students Use FPGA For (Part II)

Introduction to Excellent Open Source Verilog/FPGA Projects - Making FPGA Fun

Saving Childhood Series – GameBoy Introduction and FPGA Implementation

Introduction to Excellent Open Source Verilog/FPGA Projects - Making FPGA Fun

Childhood Restoration Series – PC Engine/TurboGrafx-16 Introduction and FPGA Implementation

Introduction to Excellent Open Source Verilog/FPGA Projects - Making FPGA Fun

Childhood Restoration Series – SNES Chipset Introduction and FPGA Implementation

Introduction to Excellent Open Source Verilog/FPGA Projects - Making FPGA Fun

[Open Source] The Distance Between Us and Childhood is Just a Game Console – DIY an NES Game Console with FPGA

Introduction to Excellent Open Source Verilog/FPGA Projects - Making FPGA Fun

A CPU That Brought Joy to Countless People in Their Youth, Don’t Say You Haven’t Used It

Leave a Comment

×