cpu-3bit ISA
0 Stars     103 Views    

Author: Ahmadshah Hazrati

Project access type: Public

Description:

Hex Values for IM are [F, 14, 2A, 89, 88, A9, BE, 8B, FF]

Q1 ISA and Circuitverse practice

10 Points

Note - you can submit in group (max 3 members) for this homework.

Implement (on circuitverse.org) a CPU with a subset of the my-tiny-ISA including:

  • 4 registers (R0 - R3), each is 16-bit in width (here in CircuitVerse I have answer for cpu-3bit)
  • 5 instructions {init, addi, sltR0, bezR0, halt}

Here is a python simulator for this subset of instructions: https://replit.com/@raowenjing/myTinyISA-sim#main.py

Main components of your system:  

  • Instruction memory: a ROM module with PC automatically +1.
  • ALU: supporting {addition, set-less-than} operations.
  • Register File: containing R0 - R3 with 2 read ports and 1 write port.
  • Control Unit: able of generating corresponding MUX selection signals based on instruction opcode.

Top-level System IO:

  • System input: 1-bit input serving as clock signal.
  • A reset signal to clear PC <= 0.
  • System output: LEDs to display the content of each register.

Instruction list :

hw6.jpg

Example of a program (similar to the one shown in week 9 lecture):

hw6-p.jpg

For your register file, use a Hex LED to show the content of each register. Initialize a ROM module with the above example code, such that after 15 cycles we'll see (R0 - R4) = (1, 4, 6, 0)

Q1.1 circuitverse implementation

10 Points

Created: Apr 13, 2021

Updated: Aug 26, 2023


Comments

You must login before you can post a comment.