module __std__clzt_pow2_128( input wire [127:0] value, output wire [7: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 [3:0] priority_sel_4b_2way (input reg [1:0] sel, input reg [3:0] case0, input reg [3:0] case1, input reg [3:0] default_value); begin casez (sel) 2'b?1: begin priority_sel_4b_2way = case0; end 2'b10: begin priority_sel_4b_2way = case1; end 2'b00: begin priority_sel_4b_2way = default_value; end default: begin // Propagate X priority_sel_4b_2way = 4'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 function automatic [6:0] priority_sel_7b_2way (input reg [1:0] sel, input reg [6:0] case0, input reg [6:0] case1, input reg [6:0] default_value); begin casez (sel) 2'b?1: begin priority_sel_7b_2way = case0; end 2'b10: begin priority_sel_7b_2way = case1; end 2'b00: begin priority_sel_7b_2way = default_value; end default: begin // Propagate X priority_sel_7b_2way = 7'dx; end endcase end endfunction wire nor_6362; wire nor_6368; wire and_6377; wire nor_6379; wire and_6405; wire nor_6407; wire nor_6434; wire and_6436; wire nor_6437; wire and_6487; wire nor_6488; wire nor_6510; wire nor_6512; wire nor_6514; wire nor_6516; wire nor_6526; wire nor_6528; wire and_6529; wire nor_6531; wire nor_6534; wire literal_6539; wire literal_6537; wire nor_6536; wire nor_6554; wire nor_6556; wire nor_6545; wire nor_6547; wire nor_6572; wire nor_6574; wire nor_6563; wire nor_6565; wire nor_6589; wire nor_6581; wire nor_6583; wire nor_6592; wire nor_6594; wire nor_6596; wire nor_6606; wire nor_6608; wire and_6609; wire and_6611; wire and_6612; wire and_6613; wire nor_6615; wire nor_6617; wire and_6618; wire and_6619; wire nor_6621; wire and_6623; wire and_6625; wire and_6626; wire and_6627; wire and_6643; wire and_6635; wire and_6660; wire and_6652; wire and_6674; wire and_6676; wire and_6677; wire and_6667; wire and_6678; wire and_6679; wire and_6680; wire nor_6682; wire nor_6684; wire and_6685; wire and_6686; wire nor_6688; wire and_6689; wire and_6690; wire and_6691; wire and_6692; wire and_6693; wire nor_6706; wire and_6708; wire nor_6710; wire and_6720; wire and_6722; wire and_6728; wire and_6729; wire and_6731; wire nor_6741; wire and_6748; wire and_6749; wire and_6750; wire and_6751; wire and_6752; wire nor_6765; wire and_6767; wire and_6768; wire and_6789; wire and_6790; wire and_6791; wire [2:0] concat_6801; wire [2:0] concat_6800; wire and_6802; wire [2:0] concat_6808; wire [2:0] concat_6807; wire [2:0] concat_6805; wire [2:0] concat_6804; wire and_6809; wire and_6810; wire [2:0] concat_6816; wire [2:0] concat_6815; wire [2:0] concat_6813; wire [2:0] concat_6812; wire [2:0] concat_6819; wire [2:0] concat_6818; wire and_6827; wire and_6828; wire and_6849; wire and_6850; wire and_6851; wire and_6853; wire nor_6854; wire nor_6874; wire and_6881; wire or_6883; wire priority_sel_6884; wire and_6889; wire and_6890; wire or_6895; wire priority_sel_6896; wire and_6898; wire nor_6899; wire nor_6919; wire and_6926; wire nor_6927; wire and_6953; wire nor_6961; wire and_6979; wire and_6983; wire [2:0] concat_6986; wire [2:0] concat_6985; wire [2:0] concat_6989; wire [2:0] concat_6988; wire [2:0] concat_6992; wire [2:0] concat_6991; wire [3:0] priority_sel_6996; wire and_6998; wire and_7006; wire [2:0] concat_7009; wire [2:0] concat_7008; wire [2:0] concat_7012; wire [2:0] concat_7011; wire [2:0] concat_7015; wire [2:0] concat_7014; wire [3:0] concat_7019; wire [2:0] literal_7020; wire [4:0] concat_7027; wire [4:0] concat_7032; wire [4:0] concat_7033; wire [3:0] concat_7034; wire and_7039; wire and_7041; wire [2:0] priority_sel_7043; wire [4:0] priority_sel_7046; wire [2:0] priority_sel_7048; wire and_7059; wire [5:0] priority_sel_7060; wire [6:0] priority_sel_7066; assign nor_6362 = ~(value[61] | value[60]); assign nor_6368 = ~(value[125] | value[124]); assign and_6377 = ~(value[63] | value[62]) & nor_6362; assign nor_6379 = ~(value[57] | value[56]); assign and_6405 = ~(value[127] | value[126]) & nor_6368; assign nor_6407 = ~(value[121] | value[120]); assign nor_6434 = ~(value[29] | value[28]); assign and_6436 = ~(value[59] | value[58]) & nor_6379; assign nor_6437 = ~(value[59] | value[58] | nor_6379); assign and_6487 = ~(value[123] | value[122]) & nor_6407; assign nor_6488 = ~(value[123] | value[122] | nor_6407); assign nor_6510 = ~(value[93] | value[92]); assign nor_6512 = ~(value[25] | value[24]); assign nor_6514 = ~(value[21] | value[20]); assign nor_6516 = ~(value[17] | value[16]); assign nor_6526 = ~(value[13] | value[12]); assign nor_6528 = ~(value[9] | value[8]); assign and_6529 = ~(value[31] | value[30]) & nor_6434; assign nor_6531 = ~(~and_6377 | and_6436); assign nor_6534 = ~(value[53] | value[52]); assign literal_6539 = 1'h0; assign literal_6537 = 1'h1; assign nor_6536 = ~(value[49] | value[48]); assign nor_6554 = ~(value[45] | value[44]); assign nor_6556 = ~(value[41] | value[40]); assign nor_6545 = ~(value[37] | value[36]); assign nor_6547 = ~(value[33] | value[32]); assign nor_6572 = ~(value[109] | value[108]); assign nor_6574 = ~(value[105] | value[104]); assign nor_6563 = ~(value[101] | value[100]); assign nor_6565 = ~(value[97] | value[96]); assign nor_6589 = ~(~and_6405 | and_6487); assign nor_6581 = ~(value[117] | value[116]); assign nor_6583 = ~(value[113] | value[112]); assign nor_6592 = ~(value[89] | value[88]); assign nor_6594 = ~(value[85] | value[84]); assign nor_6596 = ~(value[81] | value[80]); assign nor_6606 = ~(value[77] | value[76]); assign nor_6608 = ~(value[73] | value[72]); assign and_6609 = ~(value[95] | value[94]) & nor_6510; assign and_6611 = ~(value[27] | value[26]) & nor_6512; assign and_6612 = ~(value[23] | value[22]) & nor_6514; assign and_6613 = ~(value[19] | value[18]) & nor_6516; assign nor_6615 = ~(value[5] | value[4]); assign nor_6617 = ~(value[1] | value[0]); assign and_6618 = ~(value[15] | value[14]) & nor_6526; assign and_6619 = ~(value[11] | value[10]) & nor_6528; assign nor_6621 = ~(value[27] | value[26] | nor_6512); assign and_6623 = and_6377 & and_6436; assign and_6625 = nor_6531 & ~nor_6437; assign and_6626 = nor_6531 & nor_6437; assign and_6627 = ~(value[55] | value[54]) & nor_6534; assign and_6643 = ~(value[47] | value[46]) & nor_6554; assign and_6635 = ~(value[39] | value[38]) & nor_6545; assign and_6660 = ~(value[111] | value[110]) & nor_6572; assign and_6652 = ~(value[103] | value[102]) & nor_6563; assign and_6674 = and_6405 & and_6487; assign and_6676 = nor_6589 & ~nor_6488; assign and_6677 = nor_6589 & nor_6488; assign and_6667 = ~(value[119] | value[118]) & nor_6581; assign and_6678 = ~(value[91] | value[90]) & nor_6592; assign and_6679 = ~(value[87] | value[86]) & nor_6594; assign and_6680 = ~(value[83] | value[82]) & nor_6596; assign nor_6682 = ~(value[69] | value[68]); assign nor_6684 = ~(value[65] | value[64]); assign and_6685 = ~(value[79] | value[78]) & nor_6606; assign and_6686 = ~(value[75] | value[74]) & nor_6608; assign nor_6688 = ~(value[91] | value[90] | nor_6592); assign and_6689 = and_6529 & and_6611; assign and_6690 = and_6612 & and_6613; assign and_6691 = ~(value[7] | value[6]) & nor_6615; assign and_6692 = ~(value[3] | value[2]) & nor_6617; assign and_6693 = and_6618 & and_6619; assign nor_6706 = ~(~and_6529 | and_6611); assign and_6708 = ~(value[51] | value[50]) & nor_6536; assign nor_6710 = ~(value[63] | value[62] | nor_6362); assign and_6720 = ~(value[43] | value[42]) & nor_6556; assign and_6722 = ~(value[35] | value[34]) & nor_6547; assign and_6728 = ~(value[115] | value[114]) & nor_6583; assign and_6729 = ~(value[107] | value[106]) & nor_6574; assign and_6731 = ~(value[99] | value[98]) & nor_6565; assign nor_6741 = ~(value[127] | value[126] | nor_6368); assign and_6748 = and_6609 & and_6678; assign and_6749 = and_6679 & and_6680; assign and_6750 = ~(value[71] | value[70]) & nor_6682; assign and_6751 = ~(value[67] | value[66]) & nor_6684; assign and_6752 = and_6685 & and_6686; assign nor_6765 = ~(~and_6609 | and_6678); assign and_6767 = and_6689 & and_6690; assign and_6768 = and_6691 & and_6692; assign and_6789 = nor_6706 & ~nor_6621; assign and_6790 = nor_6706 & nor_6621; assign and_6791 = and_6627 & and_6708; assign concat_6801 = {literal_6539, ~(value[55] | value[54] | nor_6534) ? {literal_6537, ~(value[53] | ~value[52])} : {literal_6539, ~(value[55] | ~value[54])}}; assign concat_6800 = {literal_6537, ~(value[51] | value[50] | nor_6536) ? {literal_6537, ~(value[49] | ~value[48])} : {literal_6539, ~(value[51] | ~value[50])}}; assign and_6802 = and_6643 & and_6720; assign concat_6808 = {literal_6539, ~(value[47] | value[46] | nor_6554) ? {literal_6537, ~(value[45] | ~value[44])} : {literal_6539, ~(value[47] | ~value[46])}}; assign concat_6807 = {literal_6537, ~(value[43] | value[42] | nor_6556) ? {literal_6537, ~(value[41] | ~value[40])} : {literal_6539, ~(value[43] | ~value[42])}}; assign concat_6805 = {literal_6539, ~(value[39] | value[38] | nor_6545) ? {literal_6537, ~(value[37] | ~value[36])} : {literal_6539, ~(value[39] | ~value[38])}}; assign concat_6804 = {literal_6537, ~(value[35] | value[34] | nor_6547) ? {literal_6537, ~(value[33] | ~value[32])} : {literal_6539, ~(value[35] | ~value[34])}}; assign and_6809 = and_6667 & and_6728; assign and_6810 = and_6660 & and_6729; assign concat_6816 = {literal_6539, ~(value[111] | value[110] | nor_6572) ? {literal_6537, ~(value[109] | ~value[108])} : {literal_6539, ~(value[111] | ~value[110])}}; assign concat_6815 = {literal_6537, ~(value[107] | value[106] | nor_6574) ? {literal_6537, ~(value[105] | ~value[104])} : {literal_6539, ~(value[107] | ~value[106])}}; assign concat_6813 = {literal_6539, ~(value[103] | value[102] | nor_6563) ? {literal_6537, ~(value[101] | ~value[100])} : {literal_6539, ~(value[103] | ~value[102])}}; assign concat_6812 = {literal_6537, ~(value[99] | value[98] | nor_6565) ? {literal_6537, ~(value[97] | ~value[96])} : {literal_6539, ~(value[99] | ~value[98])}}; assign concat_6819 = {literal_6539, ~(value[119] | value[118] | nor_6581) ? {literal_6537, ~(value[117] | ~value[116])} : {literal_6539, ~(value[119] | ~value[118])}}; assign concat_6818 = {literal_6537, ~(value[115] | value[114] | nor_6583) ? {literal_6537, ~(value[113] | ~value[112])} : {literal_6539, ~(value[115] | ~value[114])}}; assign and_6827 = and_6748 & and_6749; assign and_6828 = and_6750 & and_6751; assign and_6849 = nor_6765 & ~nor_6688; assign and_6850 = nor_6765 & nor_6688; assign and_6851 = and_6635 & and_6722; assign and_6853 = and_6693 & and_6768; assign nor_6854 = ~(~and_6693 | and_6768); assign nor_6874 = ~(value[31] | value[30] | nor_6434); assign and_6881 = and_6623 & and_6791; assign or_6883 = and_6626 & ~and_6623 | nor_6710 & ~and_6625 & ~and_6626 & ~and_6623; assign priority_sel_6884 = priority_sel_1b_4way({nor_6710, and_6625, and_6626, and_6623}, literal_6539, ~(value[57] | ~value[56]), ~(value[59] | ~value[58]), ~(value[61] | ~value[60]), ~(value[63] | ~value[62])); assign and_6889 = and_6652 & and_6731; assign and_6890 = and_6674 & and_6809; assign or_6895 = and_6677 & ~and_6674 | nor_6741 & ~and_6676 & ~and_6677 & ~and_6674; assign priority_sel_6896 = priority_sel_1b_4way({nor_6741, and_6676, and_6677, and_6674}, literal_6539, ~(value[121] | ~value[120]), ~(value[123] | ~value[122]), ~(value[125] | ~value[124]), ~(value[127] | ~value[126])); assign and_6898 = and_6752 & and_6828; assign nor_6899 = ~(~and_6752 | and_6828); assign nor_6919 = ~(value[95] | value[94] | nor_6510); assign and_6926 = and_6802 & and_6851; assign nor_6927 = ~(~and_6767 | and_6853); assign and_6953 = and_6810 & and_6889; assign nor_6961 = ~(~and_6827 | and_6898); assign and_6979 = and_6881 & and_6926; assign and_6983 = and_6767 & and_6853; assign concat_6986 = {literal_6539, ~(value[7] | value[6] | nor_6615) ? {literal_6537, ~(value[5] | ~value[4])} : {literal_6539, ~(value[7] | ~value[6])}}; assign concat_6985 = {literal_6537, ~(value[3] | value[2] | nor_6617) ? {literal_6537, ~(value[1] | ~value[0])} : {literal_6539, ~(value[3] | ~value[2])}}; assign concat_6989 = {literal_6539, ~(value[15] | value[14] | nor_6526) ? {literal_6537, ~(value[13] | ~value[12])} : {literal_6539, ~(value[15] | ~value[14])}}; assign concat_6988 = {literal_6537, ~(value[11] | value[10] | nor_6528) ? {literal_6537, ~(value[9] | ~value[8])} : {literal_6539, ~(value[11] | ~value[10])}}; assign concat_6992 = {literal_6539, ~(value[23] | value[22] | nor_6514) ? {literal_6537, ~(value[21] | ~value[20])} : {literal_6539, ~(value[23] | ~value[22])}}; assign concat_6991 = {literal_6537, ~(value[19] | value[18] | nor_6516) ? {literal_6537, ~(value[17] | ~value[16])} : {literal_6539, ~(value[19] | ~value[18])}}; assign priority_sel_6996 = priority_sel_4b_2way({~(~and_6623 | and_6791), and_6881}, {nor_6531, or_6883, priority_sel_6884, literal_6539}, {literal_6537, ~(~and_6627 | and_6708) ? concat_6800 : concat_6801}, {literal_6539, nor_6531, or_6883, priority_sel_6884}); assign and_6998 = and_6890 & and_6953; assign and_7006 = and_6827 & and_6898; assign concat_7009 = {literal_6539, ~(value[71] | value[70] | nor_6682) ? {literal_6537, ~(value[69] | ~value[68])} : {literal_6539, ~(value[71] | ~value[70])}}; assign concat_7008 = {literal_6537, ~(value[67] | value[66] | nor_6684) ? {literal_6537, ~(value[65] | ~value[64])} : {literal_6539, ~(value[67] | ~value[66])}}; assign concat_7012 = {literal_6539, ~(value[79] | value[78] | nor_6606) ? {literal_6537, ~(value[77] | ~value[76])} : {literal_6539, ~(value[79] | ~value[78])}}; assign concat_7011 = {literal_6537, ~(value[75] | value[74] | nor_6608) ? {literal_6537, ~(value[73] | ~value[72])} : {literal_6539, ~(value[75] | ~value[74])}}; assign concat_7015 = {literal_6539, ~(value[87] | value[86] | nor_6594) ? {literal_6537, ~(value[85] | ~value[84])} : {literal_6539, ~(value[87] | ~value[86])}}; assign concat_7014 = {literal_6537, ~(value[83] | value[82] | nor_6596) ? {literal_6537, ~(value[81] | ~value[80])} : {literal_6539, ~(value[83] | ~value[82])}}; assign concat_7019 = {~(~and_6689 | and_6690), nor_6927 & ~nor_6854, nor_6927 & nor_6854, and_6983}; assign literal_7020 = 3'h0; assign concat_7027 = {literal_6537, ~(~and_6802 | and_6851) ? {literal_6537, ~(~and_6635 | and_6722) ? concat_6804 : concat_6805} : {literal_6539, ~(~and_6643 | and_6720) ? concat_6807 : concat_6808}}; assign concat_7032 = {literal_6537, ~(~and_6810 | and_6889) ? {literal_6537, ~(~and_6652 | and_6731) ? concat_6812 : concat_6813} : {literal_6539, ~(~and_6660 | and_6729) ? concat_6815 : concat_6816}}; assign concat_7033 = {literal_6539, ~(~and_6674 | and_6809) ? {literal_6537, ~(~and_6667 | and_6728) ? concat_6818 : concat_6819} : {and_6674, nor_6589, or_6895, priority_sel_6896}}; assign concat_7034 = {~(~and_6748 | and_6749), nor_6961 & ~nor_6899, nor_6961 & nor_6899, and_7006}; assign and_7039 = and_6998 & and_7006; assign and_7041 = and_6979 & and_6983; assign priority_sel_7043 = priority_sel_3b_4way(concat_7019, literal_7020, ~(~and_6691 | and_6692) ? concat_6985 : concat_6986, ~(~and_6618 | and_6619) ? concat_6988 : concat_6989, ~(~and_6612 | and_6613) ? concat_6991 : concat_6992, {nor_6706, and_6790 & ~and_6689 | nor_6874 & ~and_6789 & ~and_6790 & ~and_6689, priority_sel_1b_4way({nor_6874, and_6789, and_6790, and_6689}, literal_6539, ~(value[25] | ~value[24]), ~(value[27] | ~value[26]), ~(value[29] | ~value[28]), ~(value[31] | ~value[30]))}); assign priority_sel_7046 = priority_sel_5b_2way({~(~and_6890 | and_6953), and_6998}, {nor_6589, or_6895, priority_sel_6896, 2'h0}, concat_7032, concat_7033); assign priority_sel_7048 = priority_sel_3b_4way(concat_7034, literal_7020, ~(~and_6750 | and_6751) ? concat_7008 : concat_7009, ~(~and_6685 | and_6686) ? concat_7011 : concat_7012, ~(~and_6679 | and_6680) ? concat_7014 : concat_7015, {nor_6765, and_6850 & ~and_6748 | nor_6919 & ~and_6849 & ~and_6850 & ~and_6748, priority_sel_1b_4way({nor_6919, and_6849, and_6850, and_6748}, literal_6539, ~(value[89] | ~value[88]), ~(value[91] | ~value[90]), ~(value[93] | ~value[92]), ~(value[95] | ~value[94]))}); assign and_7059 = and_7039 & and_7041; assign priority_sel_7060 = priority_sel_6b_2way({~(~and_6979 | and_6983), and_7041}, 6'h00, {literal_6537, nor_6927, priority_sel_1b_4way(concat_7019, literal_6539, literal_6537, literal_6539, literal_6537, and_6689), priority_sel_7043}, {and_6979, priority_sel_5b_2way({~(~and_6881 | and_6926), and_6979}, {priority_sel_6996, literal_6539}, concat_7027, {literal_6539, priority_sel_6996})}); assign priority_sel_7066 = priority_sel_7b_2way({~(~and_7039 | and_7041), and_7059}, 7'h00, {literal_6537, priority_sel_7060}, {and_7039, priority_sel_6b_2way({~(~and_6998 | and_7006), and_7039}, {priority_sel_7046, literal_6539}, {literal_6537, nor_6961, priority_sel_1b_4way(concat_7034, literal_6539, literal_6537, literal_6539, literal_6537, and_6748), priority_sel_7048}, {and_6998, priority_sel_7046})}); assign out = {and_7059, priority_sel_7066}; endmodule