FPGAs are an interesting invention that is expected to revolutionize the digital industry. From simple boolean circuits to complicated microcontrollers can be created just with a few lines of code using FPGAs.
An Altera Stratix IV FPGA Chip, Source: wikipedia.org
This series will focus on building the 8-bit computer that Ben Eater built on his youtube channel. However, it will be done not with actual chips and hardware, but with Verilog code and FPGA simulations.
For this, I will be using Icarus Verilog, a free program that lets you write Verilog code, write test benches and compile and simulate Verilog code easily.
Iverilog is an easy-to-use program that can be used with a few simple steps. First, the main Verilog code has to be written. Next, the test bench has to be written. Both of these can be done from Visual Studio Code. Once done, it can be compiled and the simulation can be viewed on GTKWave by using the following three commands. Here, module_tb.v
is the test bench file for the module. Once GTKWave is opened, you can select the module_tb.vcd
file to view the simulation.
>>> iverilog -o module_tb.vvp module_tb.v
>>> vvp module_tb.vvp
>>> gtkwave
At the end of this experiment, I plan to end up with a complete 8-bit computer on FPGA hardware that will exactly work as the 8-bit computer built by Ben Eater.
External Links:
- Wikipedia article on FPGAs: wikipedia.org
- 8-bit computer playlist: Building an 8-bit breadboard computer!
- Ben Eater's youtube channel: Ben Eater
- Icarus Verilog download link: Icarus Verilog
- Introductory video on how to setup Iverilog and write Verilog code: Verilog HDL - Installing and Testing Icarus Verilog + GTKWave
- Github Repo: Eight-Bit Computer using FPGA