| module alu_controller(opcode, alu_ctrl); | |
| input [3:0] opcode; | |
| output [3:0] alu_ctrl; | |
| assign alu_ctrl = alu_control(opcode); | |
| function [3:0] alu_control(input [3:0] opcode); | |
| begin | |
| case(opcode) | |
| 4'b0001: alu_control = 4'b0000; | |
| 4'b0011: alu_control = 4'b0001; | |
| 4'b0100: alu_control = 4'b0010; | |
| 4'b0101: alu_control = 4'b0011; | |
| 4'b0110: alu_control = 4'b0100; | |
| 4'b0111: alu_control = 4'b0101; | |
| 4'b1000: alu_control = 4'b0110; | |
| 4'b1001: alu_control = 4'b0111; | |
| endcase | |
| end | |
| endfunction | |
| endmodule |