Question: I-Type Name Bits Description OpCode 15 - 12 Determines what operation should be performed C 11 - 8 The destination register. The C in Regc
I-Type Name Bits Description OpCode 15 - 12 Determines what operation should be performed C 11 - 8 The destination register. The C in Regc = Reg, OP Imm A 7 -4 The first source register. The A in Reg = Reg, OP Imm Immediate 3-0 The second source register. The Imm in Reg = Reg, OP ImmRestrictions For all problems in this homework, you may only use All of the components under Wiring All of the components under Gates EXCEPT for Controlled Buffer, Controlled Inverter, PLA All of the components under Plexers All of the components under Arithmetic All of the components under Memory EXCEPT for RAM, ROM, and Random Generator Unless a problem specifies otherwise. You have been provided a Register File circuit in the starting circuit. 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. Problem 1: CPU.circ (100 points) 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 = Reg, OP Reg. A 7 - 4 The first source register. The A in Reg = Reg, OP Reg. 3-0 The second source register. The B in Reg = Reg, OP RegInstructions Operation Encoding (The value in the Description OpCodeField) STOP 0000 The CPU ceases execution NOP 0001 Do nothing LOAD 0010 Reg- = Immediate MOVE 0011 Regc = RegA ANDR 0100 Rege = Reg, AND Reg ANDI 0101 Reg. = Reg, AND Immediate ORR 0110 Regc = Reg, OR Regs ORI 0111 Rego = Reg, OR Immediate XORR 1000 Reg. = Reg, XOR Reg XORI 1001 Rege = Reg, XOR Immediate NOT 1010 Rege = NOT Reg NEGATE 1011 Reg. = -RegA ADDR 1100 Rege = Reg, + Reg. ADDI 1101 Rege = Reg, +Immediate SUBR 1110 Rego = Reg, - Regs SUBI 1111 Regc = RegA - ImmediateInputs Instruction 16 The instruction located at Instruction. Address Clkin 1 The Clock. Connect this to the clock ports of your registers/flip-lops. Do nothing else with this. Outputs Instruction Address Out 5 The address of the instruction you want to execute RegQ-15 The values in the register file. This has already been connected for you CPU Components Your CPU should have A Program Counter (PC) . 6This stores and keeps track of what instruction you are on Instruction Decoder 2 This is a bunch of combinational logic that sets the control signals inside of your CPU Register File 6A bunch of registers as well as ways to specify which ones you want. This has. already been created for you. 2 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
Step by Step Solution
There are 3 Steps involved in it
1 Expert Approved Answer
Step: 1 Unlock
Question Has Been Solved by an Expert!
Get step-by-step solutions from verified subject matter experts
Step: 2 Unlock
Step: 3 Unlock
Students Have Also Explored These Related Accounting Questions!