Skip to content

An 8-bit micro-computer based on the von-Neumann architecture written in Verilog, Python, and Assembly.

Notifications You must be signed in to change notification settings

Vamshi2507/von-Neumann

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

von-Neumann


John von-Neumann was a founding figure in computing. He made significant contributions to the fields of computing hardware design, theoretical computer science, and the philosophy of computer science. During his time as a member of the Scientific Advisory Committee , he consulted for the US Army's Ballistic Research Laboratory on the revolutionary ENIAC and EDVAC projects. The inputs he picked up from his time there served as a precursor to the invention of the Von-Neumann Architecture.

This project aims to create an 8-bit micro computer that emulates the Von-Neumann architecture.

Code Overview

This computer is based on the Von Neumann architechture. Verilog source codes are used to simulate the 8-bit computer and also the testbench file. The modules required for the computer are defined separately and then combined and interfaced in a common module named CPU.v. It also contains a testbench file named CPU_tb.v which is used to simulate the behaviour of the computer.

The Assembly language compiler is in the form of a python script as well as a demo.asm file which is essentially a 16 byte executable assembly code.

Using The Assembler

In order to use the assembler, use the syntax mentioned below:

$ python assembler.py <input_filename_with_extension>

And press Enter.

Now the RAM.v module in the VerilogModules folder will be updated with the new set of instructions. No need to copy paste anything into the RAM module.

Then, use the following commands:

$ iverilog CPU_tb.v
$ vvp a.out
$ gtkwave dump.vcd

The above commands run the GTKWave program which will display the output of the 8-bit Computer.

About

An 8-bit micro-computer based on the von-Neumann architecture written in Verilog, Python, and Assembly.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Verilog 73.7%
  • Assembly 13.7%
  • Python 9.8%
  • Makefile 2.8%