data/full_repos/permissive/418750043/C906_RTL_FACTORY/gen_rtl/vfalu/rtl/aq_fadd_lop_s1_sb.v
data/verilator_xmls/29a71792-dc39-4463-99dc-c942b720a8b1.xml
module aq_fadd_lop_s1_sb(
  act_sub,
  ff1_mask,
  ff1_pred_bh,
  ff1_pred_d,
  ff1_pred_h,
  ff1_pred_s,
  src0_adder,
  src1_adder
);


input           act_sub;               
input   [53:0]  ff1_mask;              
input   [53:0]  src0_adder;            
input   [53:0]  src1_adder;            
output  [4 :0]  ff1_pred_bh;           
output  [5 :0]  ff1_pred_d;            
output  [4 :0]  ff1_pred_h;            
output  [4 :0]  ff1_pred_s;            


reg     [4 :0]  ff1_l_pred_bh;         
reg     [4 :0]  ff1_l_pred_e_d;        
reg     [4 :0]  ff1_l_pred_h;          
reg     [5 :0]  ff1_l_pred_t0_d;       
reg     [24:0]  ff1_l_pred_t0_d_onehot; 
reg     [4 :0]  ff1_pred_e_d;          
reg             sel_h;                 


wire            act_sub;               
wire    [53:0]  close_adder0_t0;       
wire    [53:0]  close_adder1_t0;       
wire    [53:0]  close_ff1_a_t0;        
wire    [53:0]  close_ff1_b_t0;        
wire    [53:0]  close_ff1_c_t0;        
wire    [53:0]  close_ff1_f_t0;        
wire    [53:0]  close_ff1_g_t0;        
wire    [53:0]  close_ff1_t_t0;        
wire    [53:0]  close_ff1_z_t0;        
wire    [53:0]  ff1_code;              
wire    [53:0]  ff1_mask;              
wire    [4 :0]  ff1_pred_bh;           
wire    [5 :0]  ff1_pred_d;            
wire    [4 :0]  ff1_pred_h;            
wire    [4 :0]  ff1_pred_s;            
wire    [53:0]  src0_adder;            
wire    [53:0]  src1_adder;            




assign ff1_pred_d[5:0]         = sel_h ? {1'b0,ff1_pred_e_d[4:0]} : ff1_l_pred_t0_d[5:0];
assign ff1_pred_s[4:0]       = ff1_l_pred_e_d[4:0];
assign ff1_pred_h[4:0]       = ff1_l_pred_h[4:0];
assign ff1_pred_bh[4:0]      = ff1_l_pred_bh[4:0];
assign close_adder0_t0[53:0] = src0_adder[53:0];
assign close_adder1_t0[53:0] = src1_adder[53:0];












assign close_ff1_a_t0[53:0] = close_adder0_t0[53:0];
assign close_ff1_b_t0[53:0] = close_adder1_t0[53:0];


assign close_ff1_c_t0[53:0] = close_ff1_b_t0[53:0];

assign close_ff1_t_t0[53:0] = close_ff1_a_t0[53:0] ^ close_ff1_c_t0[53:0];
assign close_ff1_g_t0[53:0] = close_ff1_a_t0[53:0] & close_ff1_c_t0[53:0];
assign close_ff1_z_t0[53:0] = (~close_ff1_a_t0[53:0]) & (~close_ff1_c_t0[53:0]);




assign close_ff1_f_t0[53]   =  act_sub && (( close_ff1_g_t0[53] & (~close_ff1_z_t0[52])) |
                                           ( close_ff1_z_t0[53] & (~close_ff1_g_t0[52]))) ||  
                               !act_sub && (( close_ff1_g_t0[53] & (~close_ff1_g_t0[52])) |
                                            ( close_ff1_z_t0[53] & (~close_ff1_z_t0[52])));
assign close_ff1_f_t0[0]    = (( close_ff1_t_t0[1]) & ((close_ff1_g_t0[0]&act_sub) | close_ff1_z_t0[0])) |
                              ((~close_ff1_t_t0[1]) & ((close_ff1_z_t0[0]&act_sub) | close_ff1_g_t0[0]));
assign close_ff1_f_t0[52:1] = (( close_ff1_t_t0[53:2]) & ((close_ff1_g_t0[52:1] & (~close_ff1_z_t0[51:0])) |
                               ( close_ff1_z_t0[52:1]  & (~close_ff1_g_t0[51:0]))))                     |
                              ((~close_ff1_t_t0[53:2]) & ((close_ff1_g_t0[52:1] & (~close_ff1_g_t0[51:0])) |
                               ( close_ff1_z_t0[52:1]  & (~close_ff1_z_t0[51:0]))));
assign ff1_code[53:0] = close_ff1_f_t0[53:0] | ff1_mask[53:0];


always @( ff1_code[53:25])
begin
casez(ff1_code[53:25])
  29'b1???_????_????_????_????_????_?????: begin
    ff1_pred_e_d[4:0]          = 5'b0;
    sel_h                      = 1'b1;

  end
  29'b01??_????_????_????_????_????_????? : begin
    ff1_pred_e_d[4:0]          = 5'd0;
    sel_h                      = 1'b1;

  end
  29'b001?_????_????_????_????_????_????? : begin
    ff1_pred_e_d[4:0]          = 5'd1;
    sel_h                      = 1'b1;

  end
  29'b0001_????_????_????_????_????_????? : begin
    ff1_pred_e_d[4:0]          = 5'd2;
    sel_h                      = 1'b1;

  end
  29'b0000_1???_????_????_????_????_????? : begin
    ff1_pred_e_d[4:0]          = 5'd3;
    sel_h                      = 1'b1;

  end
  29'b0000_01??_????_????_????_????_????? : begin
    ff1_pred_e_d[4:0]          = 5'd4;
    sel_h                      = 1'b1;

  end
  29'b0000_001?_????_????_????_????_????? : begin
    ff1_pred_e_d[4:0]          = 5'd5;
    sel_h                      = 1'b1;

  end
  29'b0000_0001_????_????_????_????_????? : begin
    ff1_pred_e_d[4:0]          = 5'd6;
    sel_h                      = 1'b1;

  end
  29'b0000_0000_1???_????_????_????_????? : begin
    ff1_pred_e_d[4:0]          = 5'd7;
    sel_h                      = 1'b1;

  end
  29'b0000_0000_01??_????_????_????_????? : begin
    ff1_pred_e_d[4:0]          = 5'd8;
    sel_h                      = 1'b1;

  end
  29'b0000_0000_001?_????_????_????_????? : begin
    ff1_pred_e_d[4:0]          = 5'd9;
    sel_h                      = 1'b1;

  end
  29'b0000_0000_0001_????_????_????_????? : begin
    ff1_pred_e_d[4:0]          = 5'd10;
    sel_h                      = 1'b1;

  end
  29'b0000_0000_0000_1???_????_????_????? : begin
    ff1_pred_e_d[4:0]          = 5'd11;
    sel_h                      = 1'b1;

  end
  29'b0000_0000_0000_01??_????_????_????? : begin
    ff1_pred_e_d[4:0]          = 5'd12;
    sel_h                      = 1'b1;

  end
  29'b0000_0000_0000_001?_????_????_????? : begin
    ff1_pred_e_d[4:0]          = 5'd13;
    sel_h                      = 1'b1;

  end
  29'b0000_0000_0000_0001_????_????_????? : begin
    ff1_pred_e_d[4:0]          = 5'd14;
    sel_h                      = 1'b1;

  end
  29'b0000_0000_0000_0000_1???_????_????? : begin
    ff1_pred_e_d[4:0]          = 5'd15;
    sel_h                      = 1'b1;

  end
  29'b0000_0000_0000_0000_01??_????_????? : begin
    ff1_pred_e_d[4:0]          = 5'd16;
    sel_h                      = 1'b1;

  end
  29'b0000_0000_0000_0000_001?_????_????? : begin
    ff1_pred_e_d[4:0]          = 5'd17;
    sel_h                      = 1'b1;

  end
  29'b0000_0000_0000_0000_0001_????_????? : begin
    ff1_pred_e_d[4:0]          = 5'd18;
    sel_h                      = 1'b1;

  end
  29'b0000_0000_0000_0000_0000_1???_????? : begin
    ff1_pred_e_d[4:0]          = 5'd19;
    sel_h                      = 1'b1;

  end
  29'b0000_0000_0000_0000_0000_01??_????? : begin
    ff1_pred_e_d[4:0]          = 5'd20;
    sel_h                      = 1'b1;

  end
  29'b0000_0000_0000_0000_0000_001?_????? : begin
    ff1_pred_e_d[4:0]          = 5'd21;
    sel_h                      = 1'b1;

  end
  29'b0000_0000_0000_0000_0000_0001_????? : begin
    ff1_pred_e_d[4:0]          = 5'd22;
    sel_h                      = 1'b1;

  end
  29'b0000_0000_0000_0000_0000_0000_1???? : begin
    ff1_pred_e_d[4:0]          = 5'd23;
    sel_h                      = 1'b1;

  end
  29'b0000_0000_0000_0000_0000_0000_01??? : begin
    ff1_pred_e_d[4:0]          = 5'd24;
    sel_h                      = 1'b1;

  end
  29'b0000_0000_0000_0000_0000_0000_001?? : begin
    ff1_pred_e_d[4:0]          = 5'd25;
    sel_h                      = 1'b1;

  end
  29'b0000_0000_0000_0000_0000_0000_0001? : begin
    ff1_pred_e_d[4:0]          = 5'd26;
    sel_h                      = 1'b1;

  end
  29'b0000_0000_0000_0000_0000_0000_00001 : begin
    ff1_pred_e_d[4:0]          = 5'd27;
    sel_h                      = 1'b1;

  end

  default : begin
    ff1_pred_e_d[4:0]          = {5{1'bx}};
    sel_h                      = 1'b0;

  end
endcase

end


always @( ff1_code[24:0])
begin
casez(ff1_code[24:0])
  25'b1???_????_????_????_????_????_?: begin
    ff1_l_pred_t0_d_onehot[24:0] = 25'b1000_0000_0000_0000_0000_0000_0;
    ff1_l_pred_t0_d[5:0]         = 6'd28;
    ff1_l_pred_e_d[4:0]          = 5'b0;
    ff1_l_pred_h[4:0]            = 5'b0;
    ff1_l_pred_bh[4:0]           = 5'b0;

  end
  25'b01??_????_????_????_????_????_?: begin
    ff1_l_pred_t0_d_onehot[24:0] = 25'b0100_0000_0000_0000_0000_0000_0;
    ff1_l_pred_t0_d[5:0]         = 6'd29;
    ff1_l_pred_e_d[4:0]          = 5'd0;
    ff1_l_pred_h[4:0]            = 5'b0;
    ff1_l_pred_bh[4:0]           = 5'b0;

  end
  25'b001?_????_????_????_????_????_?: begin
    ff1_l_pred_t0_d_onehot[24:0] = 25'b0010_0000_0000_0000_0000_0000_0;
    ff1_l_pred_t0_d[5:0]         = 6'd30;
    ff1_l_pred_e_d[4:0]          = 5'd1;
    ff1_l_pred_h[4:0]            = 5'b0;
    ff1_l_pred_bh[4:0]           = 5'b0;

  end
  25'b0001_????_????_????_????_????_?: begin
    ff1_l_pred_t0_d_onehot[24:0] = 25'b0001_0000_0000_0000_0000_0000_0;
    ff1_l_pred_t0_d[5:0]         = 6'd31;
    ff1_l_pred_e_d[4:0]          = 5'd2;
    ff1_l_pred_h[4:0]            = 5'b0;
    ff1_l_pred_bh[4:0]           = 5'b0;

  end
  25'b0000_1???_????_????_????_????_?: begin
    ff1_l_pred_t0_d_onehot[24:0] = 25'b0000_1000_0000_0000_0000_0000_0;
    ff1_l_pred_t0_d[5:0]         = 6'd32;
    ff1_l_pred_e_d[4:0]          = 5'd3;
    ff1_l_pred_h[4:0]            = 5'b0;
    ff1_l_pred_bh[4:0]           = 5'b0;

  end
  25'b0000_01??_????_????_????_????_?: begin
    ff1_l_pred_t0_d_onehot[24:0] = 25'b0000_0100_0000_0000_0000_0000_0;
    ff1_l_pred_t0_d[5:0]         = 6'd33;
    ff1_l_pred_e_d[4:0]          = 5'd4;
    ff1_l_pred_h[4:0]            = 5'b0;
    ff1_l_pred_bh[4:0]           = 5'b0;

  end
  25'b0000_001?_????_????_????_????_?: begin
    ff1_l_pred_t0_d_onehot[24:0] = 25'b0000_0010_0000_0000_0000_0000_0;
    ff1_l_pred_t0_d[5:0]         = 6'd34;
    ff1_l_pred_e_d[4:0]          = 5'd5;
    ff1_l_pred_h[4:0]            = 5'b0;
    ff1_l_pred_bh[4:0]           = 5'b0;

  end
  25'b0000_0001_????_????_????_????_?: begin
    ff1_l_pred_t0_d_onehot[24:0] = 25'b0000_0001_0000_0000_0000_0000_0;
    ff1_l_pred_t0_d[5:0]         = 6'd35;
    ff1_l_pred_e_d[4:0]          = 5'd6;
    ff1_l_pred_h[4:0]            = 5'b0;
    ff1_l_pred_bh[4:0]           = 5'b0;

  end
  25'b0000_0000_1???_????_????_????_?: begin
    ff1_l_pred_t0_d_onehot[24:0] = 25'b0000_0000_1000_0000_0000_0000_0;
    ff1_l_pred_t0_d[5:0]         = 6'd36;
    ff1_l_pred_e_d[4:0]          = 5'd7;
    ff1_l_pred_h[4:0]            = 5'b0;
    ff1_l_pred_bh[4:0]           = 5'b0;

  end
  25'b0000_0000_01??_????_????_????_?: begin
    ff1_l_pred_t0_d_onehot[24:0] = 25'b0000_0000_0100_0000_0000_0000_0;
    ff1_l_pred_t0_d[5:0]         = 6'd37;
    ff1_l_pred_e_d[4:0]          = 5'd8;
    ff1_l_pred_h[4:0]            = 5'b0;
    ff1_l_pred_bh[4:0]           = 5'b0;

  end
  25'b0000_0000_001?_????_????_????_?: begin
    ff1_l_pred_t0_d_onehot[24:0] = 25'b0000_0000_0010_0000_0000_0000_0;
    ff1_l_pred_t0_d[5:0]         = 6'd38;
    ff1_l_pred_e_d[4:0]          = 5'd9;
    ff1_l_pred_h[4:0]            = 5'b0;
    ff1_l_pred_bh[4:0]           = 5'b0;

  end
  25'b0000_0000_0001_????_????_????_?: begin
    ff1_l_pred_t0_d_onehot[24:0] = 25'b0000_0000_0001_0000_0000_0000_0;
    ff1_l_pred_t0_d[5:0]         = 6'd39;
    ff1_l_pred_e_d[4:0]          = 5'd10;
    ff1_l_pred_h[4:0]            = 5'b0;
    ff1_l_pred_bh[4:0]           = 5'b0;

  end
  25'b0000_0000_0000_1???_????_????_?: begin
    ff1_l_pred_t0_d_onehot[24:0] = 25'b0000_0000_0000_1000_0000_0000_0;
    ff1_l_pred_t0_d[5:0]         = 6'd40;
    ff1_l_pred_e_d[4:0]          = 5'd11;
    ff1_l_pred_h[4:0]            = 5'b0;
    ff1_l_pred_bh[4:0]           = 5'b0;

  end
  25'b0000_0000_0000_01??_????_????_?: begin
    ff1_l_pred_t0_d_onehot[24:0] = 25'b0000_0000_0000_0100_0000_0000_0;
    ff1_l_pred_t0_d[5:0]         = 6'd41;
    ff1_l_pred_e_d[4:0]          = 5'd12;
    ff1_l_pred_h[4:0]            = 5'b0;
    ff1_l_pred_bh[4:0]           = 5'b0;

  end
  25'b0000_0000_0000_001?_????_????_?: begin
    ff1_l_pred_t0_d_onehot[24:0] = 25'b0000_0000_0000_0010_0000_0000_0;
    ff1_l_pred_t0_d[5:0]         = 6'd42;
    ff1_l_pred_e_d[4:0]          = 5'd13;
    ff1_l_pred_h[4:0]            = 5'b0;
    ff1_l_pred_bh[4:0]           = 5'b0;

  end
  25'b0000_0000_0000_0001_????_????_?: begin
    ff1_l_pred_t0_d_onehot[24:0] = 25'b0000_0000_0000_0001_0000_0000_0;
    ff1_l_pred_t0_d[5:0]         = 6'd43;
    ff1_l_pred_e_d[4:0]          = 5'd14;
    ff1_l_pred_h[4:0]            = 5'd1;
    ff1_l_pred_bh[4:0]           = 5'd0;

  end
  25'b0000_0000_0000_0000_1???_????_?: begin
    ff1_l_pred_t0_d_onehot[24:0] = 25'b0000_0000_0000_0000_1000_0000_0;
    ff1_l_pred_t0_d[5:0]         = 6'd44;
    ff1_l_pred_e_d[4:0]          = 5'd15;
    ff1_l_pred_h[4:0]            = 5'd2;
    ff1_l_pred_bh[4:0]           = 5'd0;

  end
  25'b0000_0000_0000_0000_01??_????_?: begin
    ff1_l_pred_t0_d_onehot[24:0] = 25'b0000_0000_0000_0000_0100_0000_0;
    ff1_l_pred_t0_d[5:0]         = 6'd45;
    ff1_l_pred_e_d[4:0]          = 5'd16;
    ff1_l_pred_h[4:0]            = 5'd3;
    ff1_l_pred_bh[4:0]           = 5'd0;

  end
  25'b0000_0000_0000_0000_001?_????_?: begin
    ff1_l_pred_t0_d_onehot[24:0] = 25'b0000_0000_0000_0000_0010_0000_0;
    ff1_l_pred_t0_d[5:0]         = 6'd46;
    ff1_l_pred_e_d[4:0]          = 5'd17;
    ff1_l_pred_h[4:0]            = 5'd4;
    ff1_l_pred_bh[4:0]           = 5'd1;

  end
  25'b0000_0000_0000_0000_0001_????_?: begin
    ff1_l_pred_t0_d_onehot[24:0] = 25'b0000_0000_0000_0000_0001_0000_0;
    ff1_l_pred_t0_d[5:0]         = 6'd47;
    ff1_l_pred_e_d[4:0]          = 5'd18;
    ff1_l_pred_h[4:0]            = 5'd5;
    ff1_l_pred_bh[4:0]           = 5'd2;

  end
  25'b0000_0000_0000_0000_0000_1???_?: begin
    ff1_l_pred_t0_d_onehot[24:0] = 25'b0000_0000_0000_0000_0000_1000_0;
    ff1_l_pred_t0_d[5:0]         = 6'd48;
    ff1_l_pred_e_d[4:0]          = 5'd19;
    ff1_l_pred_h[4:0]            = 5'd6;
    ff1_l_pred_bh[4:0]           = 5'd3;

  end
  25'b0000_0000_0000_0000_0000_01??_?: begin
    ff1_l_pred_t0_d_onehot[24:0] = 25'b0000_0000_0000_0000_0000_0100_0;
    ff1_l_pred_t0_d[5:0]         = 6'd49;
    ff1_l_pred_e_d[4:0]          = 5'd20;
    ff1_l_pred_h[4:0]            = 5'd7;
    ff1_l_pred_bh[4:0]           = 5'd4;

  end
  25'b0000_0000_0000_0000_0000_001?_?: begin
    ff1_l_pred_t0_d_onehot[24:0] = 25'b0000_0000_0000_0000_0000_0010_0;
    ff1_l_pred_t0_d[5:0]         = 6'd50;
    ff1_l_pred_e_d[4:0]          = 5'd21;
    ff1_l_pred_h[4:0]            = 5'd8;
    ff1_l_pred_bh[4:0]           = 5'd5;

  end
  25'b0000_0000_0000_0000_0000_0001_?: begin
    ff1_l_pred_t0_d_onehot[24:0] = 25'b0000_0000_0000_0000_0000_0001_0;
    ff1_l_pred_t0_d[5:0]         = 6'd51;
    ff1_l_pred_e_d[4:0]          = 5'd22;
    ff1_l_pred_h[4:0]            = 5'd9;
    ff1_l_pred_bh[4:0]           = 5'd6;

  end
  25'b0000_0000_0000_0000_0000_0000_1: begin
    ff1_l_pred_t0_d_onehot[24:0] = 25'b0000_0000_0000_0000_0000_0000_1;
    ff1_l_pred_t0_d[5:0]         = 6'd52;
    ff1_l_pred_e_d[4:0]          = 5'd23;
    ff1_l_pred_h[4:0]            = 5'd10;
    ff1_l_pred_bh[4:0]           = 5'd7;

  end
  default : begin
    ff1_l_pred_t0_d_onehot[24:0] = {25{1'bx}};
    ff1_l_pred_t0_d[5:0]         = {6{1'bx}};
    ff1_l_pred_e_d[4:0]          = {5{1'bx}};
    ff1_l_pred_h[4:0]            = {5{1'bx}};
    ff1_l_pred_bh[4:0]           = {5{1'bx}};

  end
endcase

end





endmodule
module aq_fadd_lop_s1_sb(
  act_sub,
  ff1_mask,
  ff1_pred_bh,
  ff1_pred_d,
  ff1_pred_h,
  ff1_pred_s,
  src0_adder,
  src1_adder
);



input           act_sub;               
input   [53:0]  ff1_mask;              
input   [53:0]  src0_adder;            
input   [53:0]  src1_adder;            
output  [4 :0]  ff1_pred_bh;           
output  [5 :0]  ff1_pred_d;            
output  [4 :0]  ff1_pred_h;            
output  [4 :0]  ff1_pred_s;            


reg     [4 :0]  ff1_l_pred_bh;         
reg     [4 :0]  ff1_l_pred_e_d;        
reg     [4 :0]  ff1_l_pred_h;          
reg     [5 :0]  ff1_l_pred_t0_d;       
reg     [24:0]  ff1_l_pred_t0_d_onehot; 
reg     [4 :0]  ff1_pred_e_d;          
reg             sel_h;                 


wire            act_sub;               
wire    [53:0]  close_adder0_t0;       
wire    [53:0]  close_adder1_t0;       
wire    [53:0]  close_ff1_a_t0;        
wire    [53:0]  close_ff1_b_t0;        
wire    [53:0]  close_ff1_c_t0;        
wire    [53:0]  close_ff1_f_t0;        
wire    [53:0]  close_ff1_g_t0;        
wire    [53:0]  close_ff1_t_t0;        
wire    [53:0]  close_ff1_z_t0;        
wire    [53:0]  ff1_code;              
wire    [53:0]  ff1_mask;              
wire    [4 :0]  ff1_pred_bh;           
wire    [5 :0]  ff1_pred_d;            
wire    [4 :0]  ff1_pred_h;            
wire    [4 :0]  ff1_pred_s;            
wire    [53:0]  src0_adder;            
wire    [53:0]  src1_adder;            




assign ff1_pred_d[5:0]         = sel_h ? {1'b0,ff1_pred_e_d[4:0]} : ff1_l_pred_t0_d[5:0];
assign ff1_pred_s[4:0]       = ff1_l_pred_e_d[4:0];
assign ff1_pred_h[4:0]       = ff1_l_pred_h[4:0];
assign ff1_pred_bh[4:0]      = ff1_l_pred_bh[4:0];
assign close_adder0_t0[53:0] = src0_adder[53:0];
assign close_adder1_t0[53:0] = src1_adder[53:0];












assign close_ff1_a_t0[53:0] = close_adder0_t0[53:0];
assign close_ff1_b_t0[53:0] = close_adder1_t0[53:0];


assign close_ff1_c_t0[53:0] = close_ff1_b_t0[53:0];

assign close_ff1_t_t0[53:0] = close_ff1_a_t0[53:0] ^ close_ff1_c_t0[53:0];
assign close_ff1_g_t0[53:0] = close_ff1_a_t0[53:0] & close_ff1_c_t0[53:0];
assign close_ff1_z_t0[53:0] = (~close_ff1_a_t0[53:0]) & (~close_ff1_c_t0[53:0]);




assign close_ff1_f_t0[53]   =  act_sub && (( close_ff1_g_t0[53] & (~close_ff1_z_t0[52])) |
                                           ( close_ff1_z_t0[53] & (~close_ff1_g_t0[52]))) ||  
                               !act_sub && (( close_ff1_g_t0[53] & (~close_ff1_g_t0[52])) |
                                            ( close_ff1_z_t0[53] & (~close_ff1_z_t0[52])));
assign close_ff1_f_t0[0]    = (( close_ff1_t_t0[1]) & ((close_ff1_g_t0[0]&act_sub) | close_ff1_z_t0[0])) |
                              ((~close_ff1_t_t0[1]) & ((close_ff1_z_t0[0]&act_sub) | close_ff1_g_t0[0]));
assign close_ff1_f_t0[52:1] = (( close_ff1_t_t0[53:2]) & ((close_ff1_g_t0[52:1] & (~close_ff1_z_t0[51:0])) |
                               ( close_ff1_z_t0[52:1]  & (~close_ff1_g_t0[51:0]))))                     |
                              ((~close_ff1_t_t0[53:2]) & ((close_ff1_g_t0[52:1] & (~close_ff1_g_t0[51:0])) |
                               ( close_ff1_z_t0[52:1]  & (~close_ff1_z_t0[51:0]))));
assign ff1_code[53:0] = close_ff1_f_t0[53:0] | ff1_mask[53:0];


always @( ff1_code[53:25])
begin
casez(ff1_code[53:25])
  29'b1???_????_????_????_????_????_?????: begin
    ff1_pred_e_d[4:0]          = 5'b0;
    sel_h                      = 1'b1;

  end
  29'b01??_????_????_????_????_????_????? : begin
    ff1_pred_e_d[4:0]          = 5'd0;
    sel_h                      = 1'b1;

  end
  29'b001?_????_????_????_????_????_????? : begin
    ff1_pred_e_d[4:0]          = 5'd1;
    sel_h                      = 1'b1;

  end
  29'b0001_????_????_????_????_????_????? : begin
    ff1_pred_e_d[4:0]          = 5'd2;
    sel_h                      = 1'b1;

  end
  29'b0000_1???_????_????_????_????_????? : begin
    ff1_pred_e_d[4:0]          = 5'd3;
    sel_h                      = 1'b1;

  end
  29'b0000_01??_????_????_????_????_????? : begin
    ff1_pred_e_d[4:0]          = 5'd4;
    sel_h                      = 1'b1;

  end
  29'b0000_001?_????_????_????_????_????? : begin
    ff1_pred_e_d[4:0]          = 5'd5;
    sel_h                      = 1'b1;

  end
  29'b0000_0001_????_????_????_????_????? : begin
    ff1_pred_e_d[4:0]          = 5'd6;
    sel_h                      = 1'b1;

  end
  29'b0000_0000_1???_????_????_????_????? : begin
    ff1_pred_e_d[4:0]          = 5'd7;
    sel_h                      = 1'b1;

  end
  29'b0000_0000_01??_????_????_????_????? : begin
    ff1_pred_e_d[4:0]          = 5'd8;
    sel_h                      = 1'b1;

  end
  29'b0000_0000_001?_????_????_????_????? : begin
    ff1_pred_e_d[4:0]          = 5'd9;
    sel_h                      = 1'b1;

  end
  29'b0000_0000_0001_????_????_????_????? : begin
    ff1_pred_e_d[4:0]          = 5'd10;
    sel_h                      = 1'b1;

  end
  29'b0000_0000_0000_1???_????_????_????? : begin
    ff1_pred_e_d[4:0]          = 5'd11;
    sel_h                      = 1'b1;

  end
  29'b0000_0000_0000_01??_????_????_????? : begin
    ff1_pred_e_d[4:0]          = 5'd12;
    sel_h                      = 1'b1;

  end
  29'b0000_0000_0000_001?_????_????_????? : begin
    ff1_pred_e_d[4:0]          = 5'd13;
    sel_h                      = 1'b1;

  end
  29'b0000_0000_0000_0001_????_????_????? : begin
    ff1_pred_e_d[4:0]          = 5'd14;
    sel_h                      = 1'b1;

  end
  29'b0000_0000_0000_0000_1???_????_????? : begin
    ff1_pred_e_d[4:0]          = 5'd15;
    sel_h                      = 1'b1;

  end
  29'b0000_0000_0000_0000_01??_????_????? : begin
    ff1_pred_e_d[4:0]          = 5'd16;
    sel_h                      = 1'b1;

  end
  29'b0000_0000_0000_0000_001?_????_????? : begin
    ff1_pred_e_d[4:0]          = 5'd17;
    sel_h                      = 1'b1;

  end
  29'b0000_0000_0000_0000_0001_????_????? : begin
    ff1_pred_e_d[4:0]          = 5'd18;
    sel_h                      = 1'b1;

  end
  29'b0000_0000_0000_0000_0000_1???_????? : begin
    ff1_pred_e_d[4:0]          = 5'd19;
    sel_h                      = 1'b1;

  end
  29'b0000_0000_0000_0000_0000_01??_????? : begin
    ff1_pred_e_d[4:0]          = 5'd20;
    sel_h                      = 1'b1;

  end
  29'b0000_0000_0000_0000_0000_001?_????? : begin
    ff1_pred_e_d[4:0]          = 5'd21;
    sel_h                      = 1'b1;

  end
  29'b0000_0000_0000_0000_0000_0001_????? : begin
    ff1_pred_e_d[4:0]          = 5'd22;
    sel_h                      = 1'b1;

  end
  29'b0000_0000_0000_0000_0000_0000_1???? : begin
    ff1_pred_e_d[4:0]          = 5'd23;
    sel_h                      = 1'b1;

  end
  29'b0000_0000_0000_0000_0000_0000_01??? : begin
    ff1_pred_e_d[4:0]          = 5'd24;
    sel_h                      = 1'b1;

  end
  29'b0000_0000_0000_0000_0000_0000_001?? : begin
    ff1_pred_e_d[4:0]          = 5'd25;
    sel_h                      = 1'b1;

  end
  29'b0000_0000_0000_0000_0000_0000_0001? : begin
    ff1_pred_e_d[4:0]          = 5'd26;
    sel_h                      = 1'b1;

  end
  29'b0000_0000_0000_0000_0000_0000_00001 : begin
    ff1_pred_e_d[4:0]          = 5'd27;
    sel_h                      = 1'b1;

  end

  default : begin
    ff1_pred_e_d[4:0]          = {5{1'bx}};
    sel_h                      = 1'b0;

  end
endcase

end


always @( ff1_code[24:0])
begin
casez(ff1_code[24:0])
  25'b1???_????_????_????_????_????_?: begin
    ff1_l_pred_t0_d_onehot[24:0] = 25'b1000_0000_0000_0000_0000_0000_0;
    ff1_l_pred_t0_d[5:0]         = 6'd28;
    ff1_l_pred_e_d[4:0]          = 5'b0;
    ff1_l_pred_h[4:0]            = 5'b0;
    ff1_l_pred_bh[4:0]           = 5'b0;

  end
  25'b01??_????_????_????_????_????_?: begin
    ff1_l_pred_t0_d_onehot[24:0] = 25'b0100_0000_0000_0000_0000_0000_0;
    ff1_l_pred_t0_d[5:0]         = 6'd29;
    ff1_l_pred_e_d[4:0]          = 5'd0;
    ff1_l_pred_h[4:0]            = 5'b0;
    ff1_l_pred_bh[4:0]           = 5'b0;

  end
  25'b001?_????_????_????_????_????_?: begin
    ff1_l_pred_t0_d_onehot[24:0] = 25'b0010_0000_0000_0000_0000_0000_0;
    ff1_l_pred_t0_d[5:0]         = 6'd30;
    ff1_l_pred_e_d[4:0]          = 5'd1;
    ff1_l_pred_h[4:0]            = 5'b0;
    ff1_l_pred_bh[4:0]           = 5'b0;

  end
  25'b0001_????_????_????_????_????_?: begin
    ff1_l_pred_t0_d_onehot[24:0] = 25'b0001_0000_0000_0000_0000_0000_0;
    ff1_l_pred_t0_d[5:0]         = 6'd31;
    ff1_l_pred_e_d[4:0]          = 5'd2;
    ff1_l_pred_h[4:0]            = 5'b0;
    ff1_l_pred_bh[4:0]           = 5'b0;

  end
  25'b0000_1???_????_????_????_????_?: begin
    ff1_l_pred_t0_d_onehot[24:0] = 25'b0000_1000_0000_0000_0000_0000_0;
    ff1_l_pred_t0_d[5:0]         = 6'd32;
    ff1_l_pred_e_d[4:0]          = 5'd3;
    ff1_l_pred_h[4:0]            = 5'b0;
    ff1_l_pred_bh[4:0]           = 5'b0;

  end
  25'b0000_01??_????_????_????_????_?: begin
    ff1_l_pred_t0_d_onehot[24:0] = 25'b0000_0100_0000_0000_0000_0000_0;
    ff1_l_pred_t0_d[5:0]         = 6'd33;
    ff1_l_pred_e_d[4:0]          = 5'd4;
    ff1_l_pred_h[4:0]            = 5'b0;
    ff1_l_pred_bh[4:0]           = 5'b0;

  end
  25'b0000_001?_????_????_????_????_?: begin
    ff1_l_pred_t0_d_onehot[24:0] = 25'b0000_0010_0000_0000_0000_0000_0;
    ff1_l_pred_t0_d[5:0]         = 6'd34;
    ff1_l_pred_e_d[4:0]          = 5'd5;
    ff1_l_pred_h[4:0]            = 5'b0;
    ff1_l_pred_bh[4:0]           = 5'b0;

  end
  25'b0000_0001_????_????_????_????_?: begin
    ff1_l_pred_t0_d_onehot[24:0] = 25'b0000_0001_0000_0000_0000_0000_0;
    ff1_l_pred_t0_d[5:0]         = 6'd35;
    ff1_l_pred_e_d[4:0]          = 5'd6;
    ff1_l_pred_h[4:0]            = 5'b0;
    ff1_l_pred_bh[4:0]           = 5'b0;

  end
  25'b0000_0000_1???_????_????_????_?: begin
    ff1_l_pred_t0_d_onehot[24:0] = 25'b0000_0000_1000_0000_0000_0000_0;
    ff1_l_pred_t0_d[5:0]         = 6'd36;
    ff1_l_pred_e_d[4:0]          = 5'd7;
    ff1_l_pred_h[4:0]            = 5'b0;
    ff1_l_pred_bh[4:0]           = 5'b0;

  end
  25'b0000_0000_01??_????_????_????_?: begin
    ff1_l_pred_t0_d_onehot[24:0] = 25'b0000_0000_0100_0000_0000_0000_0;
    ff1_l_pred_t0_d[5:0]         = 6'd37;
    ff1_l_pred_e_d[4:0]          = 5'd8;
    ff1_l_pred_h[4:0]            = 5'b0;
    ff1_l_pred_bh[4:0]           = 5'b0;

  end
  25'b0000_0000_001?_????_????_????_?: begin
    ff1_l_pred_t0_d_onehot[24:0] = 25'b0000_0000_0010_0000_0000_0000_0;
    ff1_l_pred_t0_d[5:0]         = 6'd38;
    ff1_l_pred_e_d[4:0]          = 5'd9;
    ff1_l_pred_h[4:0]            = 5'b0;
    ff1_l_pred_bh[4:0]           = 5'b0;

  end
  25'b0000_0000_0001_????_????_????_?: begin
    ff1_l_pred_t0_d_onehot[24:0] = 25'b0000_0000_0001_0000_0000_0000_0;
    ff1_l_pred_t0_d[5:0]         = 6'd39;
    ff1_l_pred_e_d[4:0]          = 5'd10;
    ff1_l_pred_h[4:0]            = 5'b0;
    ff1_l_pred_bh[4:0]           = 5'b0;

  end
  25'b0000_0000_0000_1???_????_????_?: begin
    ff1_l_pred_t0_d_onehot[24:0] = 25'b0000_0000_0000_1000_0000_0000_0;
    ff1_l_pred_t0_d[5:0]         = 6'd40;
    ff1_l_pred_e_d[4:0]          = 5'd11;
    ff1_l_pred_h[4:0]            = 5'b0;
    ff1_l_pred_bh[4:0]           = 5'b0;

  end
  25'b0000_0000_0000_01??_????_????_?: begin
    ff1_l_pred_t0_d_onehot[24:0] = 25'b0000_0000_0000_0100_0000_0000_0;
    ff1_l_pred_t0_d[5:0]         = 6'd41;
    ff1_l_pred_e_d[4:0]          = 5'd12;
    ff1_l_pred_h[4:0]            = 5'b0;
    ff1_l_pred_bh[4:0]           = 5'b0;

  end
  25'b0000_0000_0000_001?_????_????_?: begin
    ff1_l_pred_t0_d_onehot[24:0] = 25'b0000_0000_0000_0010_0000_0000_0;
    ff1_l_pred_t0_d[5:0]         = 6'd42;
    ff1_l_pred_e_d[4:0]          = 5'd13;
    ff1_l_pred_h[4:0]            = 5'b0;
    ff1_l_pred_bh[4:0]           = 5'b0;

  end
  25'b0000_0000_0000_0001_????_????_?: begin
    ff1_l_pred_t0_d_onehot[24:0] = 25'b0000_0000_0000_0001_0000_0000_0;
    ff1_l_pred_t0_d[5:0]         = 6'd43;
    ff1_l_pred_e_d[4:0]          = 5'd14;
    ff1_l_pred_h[4:0]            = 5'd1;
    ff1_l_pred_bh[4:0]           = 5'd0;

  end
  25'b0000_0000_0000_0000_1???_????_?: begin
    ff1_l_pred_t0_d_onehot[24:0] = 25'b0000_0000_0000_0000_1000_0000_0;
    ff1_l_pred_t0_d[5:0]         = 6'd44;
    ff1_l_pred_e_d[4:0]          = 5'd15;
    ff1_l_pred_h[4:0]            = 5'd2;
    ff1_l_pred_bh[4:0]           = 5'd0;

  end
  25'b0000_0000_0000_0000_01??_????_?: begin
    ff1_l_pred_t0_d_onehot[24:0] = 25'b0000_0000_0000_0000_0100_0000_0;
    ff1_l_pred_t0_d[5:0]         = 6'd45;
    ff1_l_pred_e_d[4:0]          = 5'd16;
    ff1_l_pred_h[4:0]            = 5'd3;
    ff1_l_pred_bh[4:0]           = 5'd0;

  end
  25'b0000_0000_0000_0000_001?_????_?: begin
    ff1_l_pred_t0_d_onehot[24:0] = 25'b0000_0000_0000_0000_0010_0000_0;
    ff1_l_pred_t0_d[5:0]         = 6'd46;
    ff1_l_pred_e_d[4:0]          = 5'd17;
    ff1_l_pred_h[4:0]            = 5'd4;
    ff1_l_pred_bh[4:0]           = 5'd1;

  end
  25'b0000_0000_0000_0000_0001_????_?: begin
    ff1_l_pred_t0_d_onehot[24:0] = 25'b0000_0000_0000_0000_0001_0000_0;
    ff1_l_pred_t0_d[5:0]         = 6'd47;
    ff1_l_pred_e_d[4:0]          = 5'd18;
    ff1_l_pred_h[4:0]            = 5'd5;
    ff1_l_pred_bh[4:0]           = 5'd2;

  end
  25'b0000_0000_0000_0000_0000_1???_?: begin
    ff1_l_pred_t0_d_onehot[24:0] = 25'b0000_0000_0000_0000_0000_1000_0;
    ff1_l_pred_t0_d[5:0]         = 6'd48;
    ff1_l_pred_e_d[4:0]          = 5'd19;
    ff1_l_pred_h[4:0]            = 5'd6;
    ff1_l_pred_bh[4:0]           = 5'd3;

  end
  25'b0000_0000_0000_0000_0000_01??_?: begin
    ff1_l_pred_t0_d_onehot[24:0] = 25'b0000_0000_0000_0000_0000_0100_0;
    ff1_l_pred_t0_d[5:0]         = 6'd49;
    ff1_l_pred_e_d[4:0]          = 5'd20;
    ff1_l_pred_h[4:0]            = 5'd7;
    ff1_l_pred_bh[4:0]           = 5'd4;

  end
  25'b0000_0000_0000_0000_0000_001?_?: begin
    ff1_l_pred_t0_d_onehot[24:0] = 25'b0000_0000_0000_0000_0000_0010_0;
    ff1_l_pred_t0_d[5:0]         = 6'd50;
    ff1_l_pred_e_d[4:0]          = 5'd21;
    ff1_l_pred_h[4:0]            = 5'd8;
    ff1_l_pred_bh[4:0]           = 5'd5;

  end
  25'b0000_0000_0000_0000_0000_0001_?: begin
    ff1_l_pred_t0_d_onehot[24:0] = 25'b0000_0000_0000_0000_0000_0001_0;
    ff1_l_pred_t0_d[5:0]         = 6'd51;
    ff1_l_pred_e_d[4:0]          = 5'd22;
    ff1_l_pred_h[4:0]            = 5'd9;
    ff1_l_pred_bh[4:0]           = 5'd6;

  end
  25'b0000_0000_0000_0000_0000_0000_1: begin
    ff1_l_pred_t0_d_onehot[24:0] = 25'b0000_0000_0000_0000_0000_0000_1;
    ff1_l_pred_t0_d[5:0]         = 6'd52;
    ff1_l_pred_e_d[4:0]          = 5'd23;
    ff1_l_pred_h[4:0]            = 5'd10;
    ff1_l_pred_bh[4:0]           = 5'd7;

  end
  default : begin
    ff1_l_pred_t0_d_onehot[24:0] = {25{1'bx}};
    ff1_l_pred_t0_d[5:0]         = {6{1'bx}};
    ff1_l_pred_e_d[4:0]          = {5{1'bx}};
    ff1_l_pred_h[4:0]            = {5{1'bx}};
    ff1_l_pred_bh[4:0]           = {5{1'bx}};

  end
endcase

end





endmodule