aluctrl.v

来自「基于4个mips核的noc设计」· Verilog 代码 · 共 78 行

V
78
字号
module ALUCTRL(functionCode, ALUop, Shamt, ALUctrl);    input [5:0] functionCode;    wire [5:0] functionCode;    input [4:0] ALUop;    wire [4:0] ALUop;    input [4:0] Shamt;    wire [4:0] Shamt;    output [5:0] ALUctrl;    reg [5:0] ALUctrl;    reg [4:0] aluop;    reg [4:0] shamt;    reg [5:0] aluCtrl;    reg [5:0] functioncode;        always @(functionCode or ALUop or Shamt)        begin : aluctrl_thread            aluop = ALUop;            shamt = Shamt;            case (aluop) //synopsys parallel_case            0:              aluCtrl = 6'b000010;            1:              aluCtrl = 6'b000110;            2:  begin                functioncode = functionCode;                functioncode = functioncode[5:0];                case (functioncode) //synopsys parallel_case                0:                  case (shamt) //synopsys parallel_case                1:                  aluCtrl = 6'b001010;                2:                  aluCtrl = 6'b001011;                8:                  aluCtrl = 6'b001100;                default : begin                     aluCtrl = 6'b000000;                    end                endcase                2:                  case (shamt) //synopsys parallel_case                1:                  aluCtrl = 6'b001101;                2:                  aluCtrl = 6'b001110;                8:                  aluCtrl = 6'b001111;                default : begin                     aluCtrl = 6'b000000;                    end                endcase                3:                  case (shamt) //synopsys parallel_case                1:                  aluCtrl = 6'b010000;                2:                  aluCtrl = 6'b010001;                8:                  aluCtrl = 6'b010010;                default : begin                     aluCtrl = 6'b000000;                    end                endcase                32:                  aluCtrl = 6'b000010;                33:                  aluCtrl = 6'b000011;                35:                  aluCtrl = 6'b000110;                36:                  aluCtrl = 6'b000000;                37:                  aluCtrl = 6'b000001;                38:                  aluCtrl = 6'b000100;                42:                  aluCtrl = 6'b000111;                43:                  aluCtrl = 6'b001000;                default : begin                     aluCtrl = 6'b000000;                    end                endcase            end            3:              aluCtrl = 6'b000011;            4:              aluCtrl = 6'b000000;            5:              aluCtrl = 6'b000001;            6:              aluCtrl = 6'b000100;            7:              aluCtrl = 6'b000111;            8:              aluCtrl = 6'b001000;            9:              aluCtrl = 6'b001001;            default : begin                 aluCtrl = 6'b000000;                end            endcase            ALUctrl = aluCtrl;        endendmodule

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?