| module shiftmant (input logic alessb, | |
| input logic [23:0] manta, mantb, | |
| input logic [7:0] shamt, | |
| output logic [23:0] shmant); | |
| logic [23:0] shiftedval; | |
| logic ovf; | |
| assign shiftedval = alessb ? | |
| (manta >> shamt) : (mantb >> shamt); | |
| assign ovf = (shamt[7] | shamt[6] | shamt[5] | | |
| (shamt[4] & shamt[3])); | |
| assign shmant = ovf ? 24'h0 : shiftedval; | |
| endmodule // shiftmant |