| module constmuldivmod(input [7:0] A, input [2:0] mode, output reg [7:0] Y); | |
| always @* begin | |
| case (mode) | |
| 0: Y = A / 8'd0; | |
| 1: Y = A % 8'd0; | |
| 2: Y = A * 8'd0; | |
| 3: Y = A / 8'd1; | |
| 4: Y = A % 8'd1; | |
| 5: Y = A * 8'd1; | |
| 6: Y = A / 8'd2; | |
| 7: Y = A % 8'd2; | |
| 8: Y = A * 8'd2; | |
| 9: Y = A / 8'd4; | |
| 10: Y = A % 8'd4; | |
| 11: Y = A * 8'd4; | |
| 12: Y = A / 8'd8; | |
| 13: Y = A % 8'd8; | |
| 14: Y = A * 8'd8; | |
| default: Y = 8'd16 * A; | |
| endcase | |
| end | |
| endmodule |