[SOLVED] ECS154A Homework 4

$25

File Name: ECS154A_Homework_4.zip
File Size: 169.56 KB

SKU: [Solved] ECS154A-Homework 4 Category: Tag:
5/5 - (4 votes)

Homework 4 Prompt

Problem 1: CPU.circ

Build a 4-bit single cycle CPU that can implement the given instructions.

Instruction Format

Our CPU will be using fixed length instructions. Our CPU will also have two types of instruction formats: R-type and I-type. In R-type instructions both operands come from registers. In I-type instructions, the first operand comes from a register and the second will be contained within the instruction.

R-Type

Name Bits Description
OpCode 15 12 Determines what operation should be performed
C 11 8 The destination register. The C in RegC = RegA OP RegB
A 7 4 The first source register. The A in RegC = RegA OP RegB
B 3 0 The second source register. The B in RegC = RegA OP RegB

I-Type

Name Bits Description
OpCode 15 12 Determines what operation should be performed
C 11 8 The destination register. The C in RegC = RegA OP Imm
A 7 4 The first source register. The A in RegC = RegA OP Imm
Immediate 3 0 The second source register. The Imm in RegC = RegA OP Imm

Instructions

Operation Encoding (The value in the OpCodeField) Description
STOP 0000 The CPU ceases execution
NOP 0001 Do nothing
LOAD 0010 RegC = Immediate
MOVE 0011 RegC = RegA
ANDR 0100 RegC = RegA AND RegB
ANDI 0101 RegC = RegA AND Immediate
ORR 0110 RegC = RegA OR RegB
ORI 0111 RegC = RegA OR Immediate
XORR 1000 RegC = RegA XOR RegB
XORI 1001 RegC = RegA XOR Immediate
NOT 1010 RegC = NOT RegA
NEGATE 1011 RegC = -RegA
ADDR 1100 RegC = RegA + RegB
ADDI 1101 RegC = RegA +Immediate
SUBR 1110 RegC = RegA RegB
SUBI 1111 RegC = RegA Immediate

Inputs

Pin Size (in bits) Explanation
Instruction 16 The instruction located at Instruction_Address
ClkIn 1 The Clock. Connect this to the clock ports of your registers/flip-flops. Do nothing else with this.

Outputs

Pin Size (in bits) Explanation
Instruction_Address_Out 5 The address of the instruction you want to execute
Reg0-15 4 The values in the register file. This has already been connected for you

CPU Components

Your CPU should have

  • A Program Counter (PC)
    • This stores and keeps track of what instruction you are on
  • Instruction Decoder
    • This is a bunch of combinational logic that sets the control signals inside of your CPU
  • Register File
    • A bunch of registers as well as ways to specify which ones you want. This has already been created for you.
    • The only outputs of the register file that you are allowed to use are A_Out and B_Out. The rest are for testing purposes and should not be used. Using them will result in a 50% penalty in your grade.

Reviews

There are no reviews yet.

Only logged in customers who have purchased this product may leave a review.

Shopping Cart
[SOLVED] ECS154A Homework 4[SOLVED] ECS154A Homework 4
$25