1. (5%) Create the “Control” placeholder circuit with one input…

Question Answered step-by-step 1. (5%) Create the “Control” placeholder circuit with one input… 1. (5%) Create the “Control” placeholder circuit with one input (Instruction[6-0]) and seven outputs (see the diagram) only. Make sure the bitwidth and labels of the input and output are correctly set. Note that each input may actually contain multiple bits in the actual implementation. Connect the input to the outputs in some way so data can pass through. Implementing the correct logic instead of placeholder for this subcircuit is part of the bonus. 2. (5%) Create the “ALUControl” placeholder circuit with two inputs (ALUOp and Instruction[30,14-12]), and one output (ALU Control) only. Make sure the bitwidth and labels of the inputs and output are correctly set. Note that each input may actually contain multiple bits in the actual implementation. Connect the input to the outputs in some way so data can pass through. Implementing the correct logic instead of placeholder for this subcircuit is part of the bonus.Image transcription textAdd 4 Add Sum Shift left 1 Branch MemRead Instruction [6-0] MemtoReg Control ALUOP MemWrite ALUSrcRegWrite Instruction [19-15] Read PC Read address register 1 Read Instruction [24-20] Read data 1 ZeroInstruction register 2 [31-0] Instruction [11-7] Write Read ALU ALU Address Read data 2 result dat… Show more… Show more3. (5%) Create the “PC” circuit using the 32-bit register with two inputs (PCNext and Clock In) and one output (PC). Make sure the bitwidth and labels of the input and output are correctly set. 4. (5%) Create the “ImmGen” placeholder circuit with one input (Instruction[31-0]) and one output (Imm) only. Make sure the bitwidth and labels of the input and output are correctly set. The output Imm should be 32 bits (instead of 64) since we are designing a 32-bit processor. Connect the input to the outputs in some way so data can pass through. Implementing the correct logic instead of placeholder for this subcircuit is part of the bonus. 5. (5%) Create the “ShiftLeft1” circuit with one input (Input) and one output (Output). Make sure the bitwidth and labels of the input and output are correctly set. Both input and output should be 32 bits (instead of 64) since we are designing a 32-bit processor. You can implement the SubCircuit by using two splitters. 6. (10%) Create the “Adder” circuit using the 32-bit ALU you designed before. It should have two inputs (A, and B) and one output (Sum) and they are all 32-bitwidth. You can implement the SubCircuit operation by giving 0010 as constant input to the 32-bit ALU. You can change the constant value and bit width in the component’s settings. 7. (25%) Create the “Single-Cycle RISC-V CPU” circuit. Then add the required SubCircuits including PC, Instruction Memory (which is 256x32b Memory designed before), Register file, 32-bit ALU, Data Memory (which is 256x32b Memory designed before), Control, two Adders, Shift Left 1, Imm Gen, ALU Control, and 3 Mux (make them 32-bitwidth). Arrange them according to the CPU design diagram and make sure enough space is left between components for running wires. 8. (20%) Connect wires for both data path and control using the provided diagram (MemRead is ignored no need to attach it to anything). Add a single clock component (just one for the whole processor) and attach it to all processor subcircuits that require it (the components that include Flip Flops). Write Enable and Write Data for Instruction Memory are 0 because we do not write to those. 9. (10%) Add a splitter to split a 32-bit instruction word into instruction[6-0],instruction[19-15], instruction[24-20], instruction[11-7], instruction[30], and instruction[14-12], and connect those wires between the corresponding components 10. (10%) Add a splitter to combine instruction[30] and instruction[14-12] for the input to the “ALU control” logic.Thanks in advance!!! Engineering & Technology Computer Science ITCS 3182 Share QuestionEmailCopy link Comments (0)