data/full_repos/permissive/418750043/C906_RTL_FACTORY/gen_rtl/vfdsu/rtl/aq_fdsu_right_shift.v
data/verilator_xmls/991bc324-6d5d-4515-9b74-87c64dba615e.xml
module aq_fdsu_right_shift(
  frac_num_in,
  frac_shift_cnt,
  frac_shift_num
);


input   [15:0]  frac_num_in;   
input   [2 :0]  frac_shift_cnt; 
output  [15:0]  frac_shift_num; 


reg     [15:0]  frac_shift_num; 


wire    [15:0]  frac_num_in;   
wire    [2 :0]  frac_shift_cnt; 



always @( frac_num_in[15:1]
       or frac_shift_cnt[2:0])
begin
casez(frac_shift_cnt[2:0])
  3'b111:  frac_shift_num[15:0] = {1'b0,frac_num_in[15:1]};
  3'b110:  frac_shift_num[15:0] = {2'b0,frac_num_in[15:2]};
  3'b101:  frac_shift_num[15:0] = {3'b0,frac_num_in[15:3]};
  3'b100:  frac_shift_num[15:0] = {4'b0,frac_num_in[15:4]};
  3'b011:  frac_shift_num[15:0] = {5'b0,frac_num_in[15:5]};
  3'b010:  frac_shift_num[15:0] = {6'b0,frac_num_in[15:6]};
  3'b001:  frac_shift_num[15:0] = {7'b0,frac_num_in[15:7]};
  3'b000:  frac_shift_num[15:0] = {8'b0,frac_num_in[15:8]};
  default: frac_shift_num[15:0] = {16{1'b0}};
endcase

end


endmodule
module aq_fdsu_right_shift(
  frac_num_in,
  frac_shift_cnt,
  frac_shift_num
);



input   [15:0]  frac_num_in;   
input   [2 :0]  frac_shift_cnt; 
output  [15:0]  frac_shift_num; 


reg     [15:0]  frac_shift_num; 


wire    [15:0]  frac_num_in;   
wire    [2 :0]  frac_shift_cnt; 



always @( frac_num_in[15:1]
       or frac_shift_cnt[2:0])
begin
casez(frac_shift_cnt[2:0])
  3'b111:  frac_shift_num[15:0] = {1'b0,frac_num_in[15:1]};
  3'b110:  frac_shift_num[15:0] = {2'b0,frac_num_in[15:2]};
  3'b101:  frac_shift_num[15:0] = {3'b0,frac_num_in[15:3]};
  3'b100:  frac_shift_num[15:0] = {4'b0,frac_num_in[15:4]};
  3'b011:  frac_shift_num[15:0] = {5'b0,frac_num_in[15:5]};
  3'b010:  frac_shift_num[15:0] = {6'b0,frac_num_in[15:6]};
  3'b001:  frac_shift_num[15:0] = {7'b0,frac_num_in[15:7]};
  3'b000:  frac_shift_num[15:0] = {8'b0,frac_num_in[15:8]};
  default: frac_shift_num[15:0] = {16{1'b0}};
endcase

end


endmodule