-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathControl_Unit_Top.v
36 lines (29 loc) · 981 Bytes
/
Control_Unit_Top.v
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
`include "ALU_Decoder.v"
`include "Main_Decoder.v"
module Control_Unit_Top(Op,RegWrite,ImmSrc,ALUSrc,MemWrite,ResultSrc,Branch,funct3,funct7,ALUControl,Jump);
// added zero as input , jump and pcsrc as ouptut
input [6:0]Op;
input funct7;
input [2:0]funct3;
output RegWrite,ALUSrc,MemWrite,Branch,Jump;
output [1:0]ImmSrc,ResultSrc;
output [2:0]ALUControl;
wire [1:0]ALUOp;
Main_Decoder Main_Decoder(
.Op(Op),
.RegWrite(RegWrite),
.ImmSrc(ImmSrc),
.MemWrite(MemWrite),
.ResultSrc(ResultSrc),
.Branch(Branch),
.ALUSrc(ALUSrc),
.ALUOp(ALUOp)
);
ALU_Decoder ALU_Decoder(
.ALUOp(ALUOp),
.funct3(funct3),
.funct7(funct7),
.op(Op),
.ALUControl(ALUControl)
);
endmodule