cpu simulator + testbench

  • November 2015

Overview

As part of my Computer Architecture module , built a CPU simulator and testbench from scratch in C++.

A key part of building the CPU simulator was strictly adhering to a given set of interfaces/API provided as part of the specification. This meant that the CPU and the testbench could be tested independent of each other.

Also important was to understand how a CPU works, how various instructions need to be implemented ,

Goal

The end goal of the project was to simulate a CPU, memory and Testbench. There was no address translation involved and a single block of memory is assumed.

Procedure

Kindly see the github page for all the details of the specification and the source.

Other Projects

Drone State Estimation and Navigation

Drone State Estimation and Navigation

Successfully designed and implemented a cost-effective and complete system for real-time state estimation and navigation of a Parrot A.R. Drone using IP cameras and LEDs.

See Github code directly.

Robotics Project using Lego and Raspberry Pi

MCL Robot

Built a Robot using Lego Mindstorms NXT and a Raspberry Pi.

See Github code directly.

Exploring LLVM API

LLVM compiler

Worked with LLVM Compiler Toolchain as part of an internship at Arm.

C++ Write-back Cache Simulator

Write-Back Cache Simulator

Built a write-back cache simulator with LRU replacement policy in C++.

See Github code directly.