Field programmable gate array (FPGA) circuits have been used for decades in a variety of fields from aerospace to telecommunications. FPGA hardware emulation has also become popular with developers interested in gaming, where it’s used to replicate retro consoles.

This integrated circuit is incredibly useful, although it can seem complex if you’re not familiar with the technology.

We’re going to explain what FPGA hardware emulation is, what it’s used for, and explain the difference between hardware and software emulation.

Field-Programmable Gate Arrays

To understand FGPA hardware emulation, you should first know more about the circuit itself. They allow the end user to configure the chip after manufacturing, which is where the “field-programmable” aspect comes into play.

FPGAs can be programmed and reprogrammed to simulate different platforms. The ability to reprogram and reconfigure an FPGA circuit opens new possibilities from machine learning to reproducing Space Invaders as it played in the arcade more than 30 years ago.

An FPGA circuit is cheaper and has lower power consumption than other types of integrated circuits. These circuits have been around since 1984 but rose to popularity in the 1990s as a viable alternative to ASIC circuits.

ASICs are designed for one purpose, whereas an FPGA circuit is versatile.

One of the biggest advantages of an FPGA is flexibility. Manufacturers can change configurations without additional costs or update products to comply with new standards in some cases. AMD, Intel, and Microchip produce most of the FGPA circuits sold today.

FPGA Hardware Emulation

Giving developers a way to configure processors to their needs also makes FPGA ideal for hardware emulation.  While software emulation is a familiar concept to many and serves a similar purpose, hardware emulation is unique.

Using an FPGA circuit for hardware emulation lets you imitate different pieces of hardware. There are limitations, but FPGA hardware emulation can let you replicate another system without owning the original hardware.

It’s perfect for debugging, considering it allows manufacturers to test compatibility across a wide number of platforms. This saves a significant amount of money and time while ensuring a diligent developer can catch any issues before they reach the end user.

FPGA hardware emulation has also found its way into consumer goods in recent years through gaming. There are a number of consoles that can copy the gameplay of older video game systems. That includes the AVS console, which resembles the original Nintendo Entertainment System, and newer devices like the impressive Duo from Analog.

While video game console emulation is one of the more popular uses of FPGA in the consumer space, this tech also replicates older PCs. That includes popular systems like the Apple II and Commodore 64 along with more unique models. You can also replicate the Altair 8800, Jupiter Ace, and Sharp MZ series through hardware emulation.

Circuit board FPGA
FPGA makes it possible to emulate various hardware and software of your choice.

Hardware Emulation vs. Software Emulation

While hardware emulation uses components and an FPGA, software emulation works in an entirely different fashion.

Instead of relying on components, software mimics another device which typically includes video games and older operating systems.

The software uses the processing power of whatever device you’re running the software on which limits what you can emulate. Hardware emulation removes those restrictions at a cost but provides far more accuracy.

A good example is the MiSTer emulator project, which uses an FPGA with a handful of other components inside a small case. This self-contained system can replicate the original hardware found inside old arcade cabinet games and older systems like the Sega Genesis with incredible accuracy.

An FPGA emulation console can’t handle something like the Xbox, but it can simulate the original PlayStation hardware or the ZX Spectrum. Add-ons allow you to expand these builds while keeping latency in check-–something challenging with software emulators.

Conclusion

More efficient components and other advances in technology have allowed developers to emulate more environments than ever before.

FGPA hardware emulation serves a special purpose compared to an in-circuit emulator or network emulation.

The MiSTer FPGA hardware emulation project can give you a better idea of what these unique circuits can do, whether you want to simulate a classic PC or a retro console with accuracy.

What is FPGA Hardware Emulation? FAQs (Frequently Asked Questions) 

Is there a limit to how many times an FPGA can be reprogrammed?

There is no specified limit, so you can reprogram an FPGA thousands of times as long as it’s in good condition.

What is the best software emulator?

It depends on the platform and what you’re trying to emulate. RetroArch is considering one of the better options due to its flexibility.

With emulation, is the GPU or CPU more important?

The CPU is more important as it does the heavy lifting with processing whatever platform you will emulate.

What programming languages are used for FPGA?

System Verilog, Verilog, and VHDL and commonly used by developers during FPGA emulation.

Can you emulate iOS on Windows?

Yes, you can emulate programs and games from Apple’s environment on PCs running Windows through programs like Corellium, TestFlight, and Electric Mobile Studio.

About the Author

More from History-Computer

  • Wikipedia Available here: https://en.wikipedia.org/wiki/Field-programmable_gate_array
  • MiSTER FPGA Available here: https://misterfpga.org/
  • Game Tech Wiki Available here: https://emulation.gametechwiki.com/index.php/FPGA
  • ARM Available here: https://www.arm.com/glossary/asic
  • Tech Target Available here: https://www.techtarget.com/searchitoperations/definition/hardware-emulation