module __std__clzt_pow2_16( input wire [15:0] value, output wire [4:0] out ); function automatic [1:0] priority_sel_2b_4way (input reg [3:0] sel, input reg [1:0] case0, input reg [1:0] case1, input reg [1:0] case2, input reg [1:0] case3, input reg [1:0] default_value); begin casez (sel) 4'b???1: begin priority_sel_2b_4way = case0; end 4'b??10: begin priority_sel_2b_4way = case1; end 4'b?100: begin priority_sel_2b_4way = case2; end 4'b1000: begin priority_sel_2b_4way = case3; end 4'b0000: begin priority_sel_2b_4way = default_value; end default: begin // Propagate X priority_sel_2b_4way = 2'dx; end endcase end endfunction wire nor_944; wire nor_946; wire nor_952; wire and_953; wire and_954; wire nor_956; wire and_957; wire and_958; wire and_959; wire and_962; wire nor_963; wire nor_964; wire and_974; wire and_976; wire and_977; wire nor_993; wire [1:0] priority_sel_1017; assign nor_944 = ~(value[13] | value[12]); assign nor_946 = ~(value[9] | value[8]); assign nor_952 = ~(value[5] | value[4]); assign and_953 = ~(value[15] | value[14]) & nor_944; assign and_954 = ~(value[11] | value[10]) & nor_946; assign nor_956 = ~(value[1] | value[0]); assign and_957 = ~(value[7] | value[6]) & nor_952; assign and_958 = and_953 & and_954; assign and_959 = ~(value[3] | value[2]) & nor_956; assign and_962 = and_957 & and_959; assign nor_963 = ~(~and_957 | and_959); assign nor_964 = ~(~and_958 | and_962); assign and_974 = and_958 & and_962; assign and_976 = nor_964 & ~nor_963; assign and_977 = nor_964 & nor_963; assign nor_993 = ~(~and_953 | and_954); assign priority_sel_1017 = priority_sel_2b_4way({nor_993, and_976, and_977, and_974}, 2'h0, ~(value[3] | value[2] | nor_956) ? {1'h1, ~(value[1] | ~value[0])} : {1'h0, ~(value[3] | ~value[2])}, ~(value[7] | value[6] | nor_952) ? {1'h1, ~(value[5] | ~value[4])} : {1'h0, ~(value[7] | ~value[6])}, ~(value[11] | value[10] | nor_946) ? {1'h1, ~(value[9] | ~value[8])} : {1'h0, ~(value[11] | ~value[10])}, ~(value[15] | value[14] | nor_944) ? {1'h1, ~(value[13] | ~value[12])} : {1'h0, ~(value[15] | ~value[14])}); assign out = {and_974, nor_964, and_977 & ~and_974 | nor_993 & ~and_976 & ~and_977 & ~and_974, priority_sel_1017}; endmodule