control.v
来自「Use the verilog language write a MIPS CP」· Verilog 代码 · 共 28 行
V
28 行
//=============================================================================//Control Module// input [5:0] Instruction;// output RegDst, Jump, Branch, MemRead, MemtoReg, MemWrite, ALUSrc, RegWrite, Jal, Bne, Cmp;// output [1:0]ALUOp;//=============================================================================module Control( Instruction, RegDst, Jump, Branch, MemRead, MemtoReg, ALUOp, MemWrite, ALUSrc, RegWrite, Jal, Bne, Cmp ); input [5:0] Instruction; output RegDst, Jump, Branch, MemRead, MemtoReg, MemWrite, ALUSrc, RegWrite, Jal, Bne, Cmp; output [1:0]ALUOp; assign RegDst = ( ( Instruction == 6'b000000 ) | ( Instruction == 6'b100111 ) ); assign Jump = ( Instruction[5:1] == 5'b00001 ); assign Branch = ( Instruction[5:1] == 5'b00010 ); assign MemRead = ( ( Instruction == 6'b100011 ) | ( Instruction == 6'b100111 ) ); assign MemtoReg = ( Instruction == 6'b100011 ); assign ALUOp[1] = ( ( Instruction == 6'b000000 ) | ( Instruction == 6'b100111 ) ); assign ALUOp[0] = ( Instruction[5:1] == 5'b00010 ); assign MemWrite = ( Instruction == 6'b101011 ); assign ALUSrc = ( ( Instruction == 6'b100011 ) | ( Instruction == 6'b101011 ) | (Instruction == 6'b001000 ) ); assign RegWrite = ( ( Instruction == 6'b000000 ) | ( Instruction == 6'b001000 ) | ( Instruction == 6'b100111 ) | ( Instruction[4:0] == 5'b00011 ) ); assign Jal = ( Instruction == 6'b000011 ); assign Bne = ( Instruction == 6'b000101 ); assign Cmp = ( Instruction == 6'b100111 );endmodule // Control
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?