📄 control.v
字号:
//=============================================================================//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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -