module __std__clzt_pow2_64( input wire [63:0] value, output wire [6:0] out ); function automatic priority_sel_1b_4way (input reg [3:0] sel, input reg case0, input reg case1, input reg case2, input reg case3, input reg default_value); begin casez (sel) 4'b???1: begin priority_sel_1b_4way = case0; end 4'b??10: begin priority_sel_1b_4way = case1; end 4'b?100: begin priority_sel_1b_4way = case2; end 4'b1000: begin priority_sel_1b_4way = case3; end 4'b0000: begin priority_sel_1b_4way = default_value; end default: begin // Propagate X priority_sel_1b_4way = 1'dx; end endcase end endfunction 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 function automatic [2:0] priority_sel_3b_4way (input reg [3:0] sel, input reg [2:0] case0, input reg [2:0] case1, input reg [2:0] case2, input reg [2:0] case3, input reg [2:0] default_value); begin casez (sel) 4'b???1: begin priority_sel_3b_4way = case0; end 4'b??10: begin priority_sel_3b_4way = case1; end 4'b?100: begin priority_sel_3b_4way = case2; end 4'b1000: begin priority_sel_3b_4way = case3; end 4'b0000: begin priority_sel_3b_4way = default_value; end default: begin // Propagate X priority_sel_3b_4way = 3'dx; end endcase end endfunction function automatic [4:0] priority_sel_5b_2way (input reg [1:0] sel, input reg [4:0] case0, input reg [4:0] case1, input reg [4:0] default_value); begin casez (sel) 2'b?1: begin priority_sel_5b_2way = case0; end 2'b10: begin priority_sel_5b_2way = case1; end 2'b00: begin priority_sel_5b_2way = default_value; end default: begin // Propagate X priority_sel_5b_2way = 5'dx; end endcase end endfunction function automatic [5:0] priority_sel_6b_2way (input reg [1:0] sel, input reg [5:0] case0, input reg [5:0] case1, input reg [5:0] default_value); begin casez (sel) 2'b?1: begin priority_sel_6b_2way = case0; end 2'b10: begin priority_sel_6b_2way = case1; end 2'b00: begin priority_sel_6b_2way = default_value; end default: begin // Propagate X priority_sel_6b_2way = 6'dx; end endcase end endfunction wire nor_3282; wire nor_3284; wire nor_3290; wire nor_3320; wire and_3321; wire and_3322; wire nor_3324; wire and_3325; wire nor_3343; wire nor_3345; wire nor_3347; wire nor_3357; wire nor_3359; wire and_3360; wire and_3362; wire and_3363; wire nor_3377; wire literal_3371; wire literal_3369; wire nor_3379; wire nor_3366; wire nor_3368; wire and_3385; wire and_3386; wire and_3387; wire nor_3389; wire nor_3391; wire and_3392; wire and_3393; wire nor_3395; wire and_3397; wire nor_3398; wire and_3408; wire and_3400; wire and_3415; wire and_3416; wire and_3417; wire and_3418; wire and_3419; wire nor_3432; wire nor_3434; wire and_3444; wire and_3446; wire and_3452; wire and_3453; wire and_3474; wire and_3475; wire and_3476; wire and_3478; wire and_3479; wire and_3492; wire [2:0] concat_3498; wire [2:0] concat_3497; wire [2:0] concat_3495; wire [2:0] concat_3494; wire and_3499; wire and_3501; wire nor_3502; wire nor_3522; wire nor_3530; wire and_3548; wire nor_3549; wire and_3578; wire and_3582; wire [2:0] concat_3585; wire [2:0] concat_3584; wire [2:0] concat_3588; wire [2:0] concat_3587; wire [2:0] concat_3591; wire [2:0] concat_3590; wire or_3595; wire [1:0] priority_sel_3596; wire [3:0] concat_3599; wire [4:0] concat_3607; wire and_3610; wire [2:0] priority_sel_3612; wire [5:0] priority_sel_3618; assign nor_3282 = ~(value[61] | value[60]); assign nor_3284 = ~(value[57] | value[56]); assign nor_3290 = ~(value[53] | value[52]); assign nor_3320 = ~(value[29] | value[28]); assign and_3321 = ~(value[63] | value[62]) & nor_3282; assign and_3322 = ~(value[59] | value[58]) & nor_3284; assign nor_3324 = ~(value[49] | value[48]); assign and_3325 = ~(value[55] | value[54]) & nor_3290; assign nor_3343 = ~(value[25] | value[24]); assign nor_3345 = ~(value[21] | value[20]); assign nor_3347 = ~(value[17] | value[16]); assign nor_3357 = ~(value[13] | value[12]); assign nor_3359 = ~(value[9] | value[8]); assign and_3360 = ~(value[31] | value[30]) & nor_3320; assign and_3362 = and_3321 & and_3322; assign and_3363 = ~(value[51] | value[50]) & nor_3324; assign nor_3377 = ~(value[45] | value[44]); assign literal_3371 = 1'h0; assign literal_3369 = 1'h1; assign nor_3379 = ~(value[41] | value[40]); assign nor_3366 = ~(value[37] | value[36]); assign nor_3368 = ~(value[33] | value[32]); assign and_3385 = ~(value[27] | value[26]) & nor_3343; assign and_3386 = ~(value[23] | value[22]) & nor_3345; assign and_3387 = ~(value[19] | value[18]) & nor_3347; assign nor_3389 = ~(value[5] | value[4]); assign nor_3391 = ~(value[1] | value[0]); assign and_3392 = ~(value[15] | value[14]) & nor_3357; assign and_3393 = ~(value[11] | value[10]) & nor_3359; assign nor_3395 = ~(value[27] | value[26] | nor_3343); assign and_3397 = and_3325 & and_3363; assign nor_3398 = ~(~and_3325 | and_3363); assign and_3408 = ~(value[47] | value[46]) & nor_3377; assign and_3400 = ~(value[39] | value[38]) & nor_3366; assign and_3415 = and_3360 & and_3385; assign and_3416 = and_3386 & and_3387; assign and_3417 = ~(value[7] | value[6]) & nor_3389; assign and_3418 = ~(value[3] | value[2]) & nor_3391; assign and_3419 = and_3392 & and_3393; assign nor_3432 = ~(~and_3360 | and_3385); assign nor_3434 = ~(~and_3362 | and_3397); assign and_3444 = ~(value[43] | value[42]) & nor_3379; assign and_3446 = ~(value[35] | value[34]) & nor_3368; assign and_3452 = and_3415 & and_3416; assign and_3453 = and_3417 & and_3418; assign and_3474 = nor_3432 & ~nor_3395; assign and_3475 = nor_3432 & nor_3395; assign and_3476 = and_3362 & and_3397; assign and_3478 = nor_3434 & ~nor_3398; assign and_3479 = nor_3434 & nor_3398; assign and_3492 = and_3408 & and_3444; assign concat_3498 = {literal_3371, ~(value[47] | value[46] | nor_3377) ? {literal_3369, ~(value[45] | ~value[44])} : {literal_3371, ~(value[47] | ~value[46])}}; assign concat_3497 = {literal_3369, ~(value[43] | value[42] | nor_3379) ? {literal_3369, ~(value[41] | ~value[40])} : {literal_3371, ~(value[43] | ~value[42])}}; assign concat_3495 = {literal_3371, ~(value[39] | value[38] | nor_3366) ? {literal_3369, ~(value[37] | ~value[36])} : {literal_3371, ~(value[39] | ~value[38])}}; assign concat_3494 = {literal_3369, ~(value[35] | value[34] | nor_3368) ? {literal_3369, ~(value[33] | ~value[32])} : {literal_3371, ~(value[35] | ~value[34])}}; assign and_3499 = and_3400 & and_3446; assign and_3501 = and_3419 & and_3453; assign nor_3502 = ~(~and_3419 | and_3453); assign nor_3522 = ~(value[31] | value[30] | nor_3320); assign nor_3530 = ~(~and_3321 | and_3322); assign and_3548 = and_3492 & and_3499; assign nor_3549 = ~(~and_3452 | and_3501); assign and_3578 = and_3476 & and_3548; assign and_3582 = and_3452 & and_3501; assign concat_3585 = {literal_3371, ~(value[7] | value[6] | nor_3389) ? {literal_3369, ~(value[5] | ~value[4])} : {literal_3371, ~(value[7] | ~value[6])}}; assign concat_3584 = {literal_3369, ~(value[3] | value[2] | nor_3391) ? {literal_3369, ~(value[1] | ~value[0])} : {literal_3371, ~(value[3] | ~value[2])}}; assign concat_3588 = {literal_3371, ~(value[15] | value[14] | nor_3357) ? {literal_3369, ~(value[13] | ~value[12])} : {literal_3371, ~(value[15] | ~value[14])}}; assign concat_3587 = {literal_3369, ~(value[11] | value[10] | nor_3359) ? {literal_3369, ~(value[9] | ~value[8])} : {literal_3371, ~(value[11] | ~value[10])}}; assign concat_3591 = {literal_3371, ~(value[23] | value[22] | nor_3345) ? {literal_3369, ~(value[21] | ~value[20])} : {literal_3371, ~(value[23] | ~value[22])}}; assign concat_3590 = {literal_3369, ~(value[19] | value[18] | nor_3347) ? {literal_3369, ~(value[17] | ~value[16])} : {literal_3371, ~(value[19] | ~value[18])}}; assign or_3595 = and_3479 & ~and_3476 | nor_3530 & ~and_3478 & ~and_3479 & ~and_3476; assign priority_sel_3596 = priority_sel_2b_4way({nor_3530, and_3478, and_3479, and_3476}, 2'h0, ~(value[51] | value[50] | nor_3324) ? {literal_3369, ~(value[49] | ~value[48])} : {literal_3371, ~(value[51] | ~value[50])}, ~(value[55] | value[54] | nor_3290) ? {literal_3369, ~(value[53] | ~value[52])} : {literal_3371, ~(value[55] | ~value[54])}, ~(value[59] | value[58] | nor_3284) ? {literal_3369, ~(value[57] | ~value[56])} : {literal_3371, ~(value[59] | ~value[58])}, ~(value[63] | value[62] | nor_3282) ? {literal_3369, ~(value[61] | ~value[60])} : {literal_3371, ~(value[63] | ~value[62])}); assign concat_3599 = {~(~and_3415 | and_3416), nor_3549 & ~nor_3502, nor_3549 & nor_3502, and_3582}; assign concat_3607 = {literal_3369, ~(~and_3492 | and_3499) ? {literal_3369, ~(~and_3400 | and_3446) ? concat_3494 : concat_3495} : {literal_3371, ~(~and_3408 | and_3444) ? concat_3497 : concat_3498}}; assign and_3610 = and_3578 & and_3582; assign priority_sel_3612 = priority_sel_3b_4way(concat_3599, 3'h0, ~(~and_3417 | and_3418) ? concat_3584 : concat_3585, ~(~and_3392 | and_3393) ? concat_3587 : concat_3588, ~(~and_3386 | and_3387) ? concat_3590 : concat_3591, {nor_3432, and_3475 & ~and_3415 | nor_3522 & ~and_3474 & ~and_3475 & ~and_3415, priority_sel_1b_4way({nor_3522, and_3474, and_3475, and_3415}, literal_3371, ~(value[25] | ~value[24]), ~(value[27] | ~value[26]), ~(value[29] | ~value[28]), ~(value[31] | ~value[30]))}); assign priority_sel_3618 = priority_sel_6b_2way({~(~and_3578 | and_3582), and_3610}, 6'h00, {literal_3369, nor_3549, priority_sel_1b_4way(concat_3599, literal_3371, literal_3369, literal_3371, literal_3369, and_3415), priority_sel_3612}, {and_3578, priority_sel_5b_2way({~(~and_3476 | and_3548), and_3578}, {nor_3434, or_3595, priority_sel_3596, literal_3371}, concat_3607, {literal_3371, nor_3434, or_3595, priority_sel_3596})}); assign out = {and_3610, priority_sel_3618}; endmodule