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_6352; wire nor_6358; wire and_6367; wire nor_6369; wire and_6395; wire nor_6397; wire nor_6424; wire and_6426; wire nor_6427; wire and_6477; wire nor_6478; wire nor_6500; wire nor_6502; wire nor_6504; wire nor_6506; wire nor_6516; wire nor_6518; wire and_6519; wire nor_6521; wire nor_6524; wire literal_6529; wire literal_6527; wire nor_6526; wire nor_6544; wire nor_6546; wire nor_6535; wire nor_6537; wire nor_6562; wire nor_6564; wire nor_6553; wire nor_6555; wire nor_6579; wire nor_6571; wire nor_6573; wire nor_6582; wire nor_6584; wire nor_6586; wire nor_6596; wire nor_6598; wire and_6599; wire and_6601; wire and_6602; wire and_6603; wire nor_6605; wire nor_6607; wire and_6608; wire and_6609; wire nor_6611; wire and_6613; wire and_6615; wire and_6616; wire and_6617; wire and_6633; wire and_6625; wire and_6650; wire and_6642; wire and_6664; wire and_6666; wire and_6667; wire and_6657; wire and_6668; wire and_6669; wire and_6670; wire nor_6672; wire nor_6674; wire and_6675; wire and_6676; wire nor_6678; wire and_6679; wire and_6680; wire and_6681; wire and_6682; wire and_6683; wire nor_6696; wire and_6698; wire nor_6700; wire and_6710; wire and_6712; wire and_6718; wire and_6719; wire and_6721; wire nor_6731; wire and_6738; wire and_6739; wire and_6740; wire and_6741; wire and_6742; wire nor_6755; wire and_6757; wire and_6758; wire and_6779; wire and_6780; wire and_6781; wire [2:0] concat_6791; wire [2:0] concat_6790; wire and_6792; wire [2:0] concat_6798; wire [2:0] concat_6797; wire [2:0] concat_6795; wire [2:0] concat_6794; wire and_6799; wire and_6800; wire [2:0] concat_6806; wire [2:0] concat_6805; wire [2:0] concat_6803; wire [2:0] concat_6802; wire [2:0] concat_6809; wire [2:0] concat_6808; wire and_6817; wire and_6818; wire and_6839; wire and_6840; wire and_6841; wire and_6843; wire nor_6844; wire nor_6864; wire and_6871; wire or_6873; wire priority_sel_6874; wire and_6879; wire and_6880; wire or_6885; wire priority_sel_6886; wire and_6888; wire nor_6889; wire nor_6909; wire and_6916; wire nor_6917; wire and_6943; wire nor_6951; wire and_6969; wire and_6973; wire [2:0] concat_6976; wire [2:0] concat_6975; wire [2:0] concat_6979; wire [2:0] concat_6978; wire [2:0] concat_6982; wire [2:0] concat_6981; wire [3:0] priority_sel_6986; wire and_6988; wire and_6996; wire [2:0] concat_6999; wire [2:0] concat_6998; wire [2:0] concat_7002; wire [2:0] concat_7001; wire [2:0] concat_7005; wire [2:0] concat_7004; wire [3:0] concat_7009; wire [2:0] literal_7010; wire [4:0] concat_7017; wire [4:0] concat_7022; wire [4:0] concat_7023; wire [3:0] concat_7024; wire and_7029; wire and_7031; wire [2:0] priority_sel_7033; wire [4:0] priority_sel_7036; wire [2:0] priority_sel_7038; wire and_7049; wire [5:0] priority_sel_7050; wire [6:0] priority_sel_7056; assign nor_6352 = ~(value[61] | value[60]); assign nor_6358 = ~(value[125] | value[124]); assign and_6367 = ~(value[63] | value[62]) & nor_6352; assign nor_6369 = ~(value[57] | value[56]); assign and_6395 = ~(value[127] | value[126]) & nor_6358; assign nor_6397 = ~(value[121] | value[120]); assign nor_6424 = ~(value[29] | value[28]); assign and_6426 = ~(value[59] | value[58]) & nor_6369; assign nor_6427 = ~(value[59] | value[58] | nor_6369); assign and_6477 = ~(value[123] | value[122]) & nor_6397; assign nor_6478 = ~(value[123] | value[122] | nor_6397); assign nor_6500 = ~(value[93] | value[92]); assign nor_6502 = ~(value[25] | value[24]); assign nor_6504 = ~(value[21] | value[20]); assign nor_6506 = ~(value[17] | value[16]); assign nor_6516 = ~(value[13] | value[12]); assign nor_6518 = ~(value[9] | value[8]); assign and_6519 = ~(value[31] | value[30]) & nor_6424; assign nor_6521 = ~(~and_6367 | and_6426); assign nor_6524 = ~(value[53] | value[52]); assign literal_6529 = 1'h0; assign literal_6527 = 1'h1; assign nor_6526 = ~(value[49] | value[48]); assign nor_6544 = ~(value[45] | value[44]); assign nor_6546 = ~(value[41] | value[40]); assign nor_6535 = ~(value[37] | value[36]); assign nor_6537 = ~(value[33] | value[32]); assign nor_6562 = ~(value[109] | value[108]); assign nor_6564 = ~(value[105] | value[104]); assign nor_6553 = ~(value[101] | value[100]); assign nor_6555 = ~(value[97] | value[96]); assign nor_6579 = ~(~and_6395 | and_6477); assign nor_6571 = ~(value[117] | value[116]); assign nor_6573 = ~(value[113] | value[112]); assign nor_6582 = ~(value[89] | value[88]); assign nor_6584 = ~(value[85] | value[84]); assign nor_6586 = ~(value[81] | value[80]); assign nor_6596 = ~(value[77] | value[76]); assign nor_6598 = ~(value[73] | value[72]); assign and_6599 = ~(value[95] | value[94]) & nor_6500; assign and_6601 = ~(value[27] | value[26]) & nor_6502; assign and_6602 = ~(value[23] | value[22]) & nor_6504; assign and_6603 = ~(value[19] | value[18]) & nor_6506; assign nor_6605 = ~(value[5] | value[4]); assign nor_6607 = ~(value[1] | value[0]); assign and_6608 = ~(value[15] | value[14]) & nor_6516; assign and_6609 = ~(value[11] | value[10]) & nor_6518; assign nor_6611 = ~(value[27] | value[26] | nor_6502); assign and_6613 = and_6367 & and_6426; assign and_6615 = nor_6521 & ~nor_6427; assign and_6616 = nor_6521 & nor_6427; assign and_6617 = ~(value[55] | value[54]) & nor_6524; assign and_6633 = ~(value[47] | value[46]) & nor_6544; assign and_6625 = ~(value[39] | value[38]) & nor_6535; assign and_6650 = ~(value[111] | value[110]) & nor_6562; assign and_6642 = ~(value[103] | value[102]) & nor_6553; assign and_6664 = and_6395 & and_6477; assign and_6666 = nor_6579 & ~nor_6478; assign and_6667 = nor_6579 & nor_6478; assign and_6657 = ~(value[119] | value[118]) & nor_6571; assign and_6668 = ~(value[91] | value[90]) & nor_6582; assign and_6669 = ~(value[87] | value[86]) & nor_6584; assign and_6670 = ~(value[83] | value[82]) & nor_6586; assign nor_6672 = ~(value[69] | value[68]); assign nor_6674 = ~(value[65] | value[64]); assign and_6675 = ~(value[79] | value[78]) & nor_6596; assign and_6676 = ~(value[75] | value[74]) & nor_6598; assign nor_6678 = ~(value[91] | value[90] | nor_6582); assign and_6679 = and_6519 & and_6601; assign and_6680 = and_6602 & and_6603; assign and_6681 = ~(value[7] | value[6]) & nor_6605; assign and_6682 = ~(value[3] | value[2]) & nor_6607; assign and_6683 = and_6608 & and_6609; assign nor_6696 = ~(~and_6519 | and_6601); assign and_6698 = ~(value[51] | value[50]) & nor_6526; assign nor_6700 = ~(value[63] | value[62] | nor_6352); assign and_6710 = ~(value[43] | value[42]) & nor_6546; assign and_6712 = ~(value[35] | value[34]) & nor_6537; assign and_6718 = ~(value[115] | value[114]) & nor_6573; assign and_6719 = ~(value[107] | value[106]) & nor_6564; assign and_6721 = ~(value[99] | value[98]) & nor_6555; assign nor_6731 = ~(value[127] | value[126] | nor_6358); assign and_6738 = and_6599 & and_6668; assign and_6739 = and_6669 & and_6670; assign and_6740 = ~(value[71] | value[70]) & nor_6672; assign and_6741 = ~(value[67] | value[66]) & nor_6674; assign and_6742 = and_6675 & and_6676; assign nor_6755 = ~(~and_6599 | and_6668); assign and_6757 = and_6679 & and_6680; assign and_6758 = and_6681 & and_6682; assign and_6779 = nor_6696 & ~nor_6611; assign and_6780 = nor_6696 & nor_6611; assign and_6781 = and_6617 & and_6698; assign concat_6791 = {literal_6529, ~(value[55] | value[54] | nor_6524) ? {literal_6527, ~(value[53] | ~value[52])} : {literal_6529, ~(value[55] | ~value[54])}}; assign concat_6790 = {literal_6527, ~(value[51] | value[50] | nor_6526) ? {literal_6527, ~(value[49] | ~value[48])} : {literal_6529, ~(value[51] | ~value[50])}}; assign and_6792 = and_6633 & and_6710; assign concat_6798 = {literal_6529, ~(value[47] | value[46] | nor_6544) ? {literal_6527, ~(value[45] | ~value[44])} : {literal_6529, ~(value[47] | ~value[46])}}; assign concat_6797 = {literal_6527, ~(value[43] | value[42] | nor_6546) ? {literal_6527, ~(value[41] | ~value[40])} : {literal_6529, ~(value[43] | ~value[42])}}; assign concat_6795 = {literal_6529, ~(value[39] | value[38] | nor_6535) ? {literal_6527, ~(value[37] | ~value[36])} : {literal_6529, ~(value[39] | ~value[38])}}; assign concat_6794 = {literal_6527, ~(value[35] | value[34] | nor_6537) ? {literal_6527, ~(value[33] | ~value[32])} : {literal_6529, ~(value[35] | ~value[34])}}; assign and_6799 = and_6657 & and_6718; assign and_6800 = and_6650 & and_6719; assign concat_6806 = {literal_6529, ~(value[111] | value[110] | nor_6562) ? {literal_6527, ~(value[109] | ~value[108])} : {literal_6529, ~(value[111] | ~value[110])}}; assign concat_6805 = {literal_6527, ~(value[107] | value[106] | nor_6564) ? {literal_6527, ~(value[105] | ~value[104])} : {literal_6529, ~(value[107] | ~value[106])}}; assign concat_6803 = {literal_6529, ~(value[103] | value[102] | nor_6553) ? {literal_6527, ~(value[101] | ~value[100])} : {literal_6529, ~(value[103] | ~value[102])}}; assign concat_6802 = {literal_6527, ~(value[99] | value[98] | nor_6555) ? {literal_6527, ~(value[97] | ~value[96])} : {literal_6529, ~(value[99] | ~value[98])}}; assign concat_6809 = {literal_6529, ~(value[119] | value[118] | nor_6571) ? {literal_6527, ~(value[117] | ~value[116])} : {literal_6529, ~(value[119] | ~value[118])}}; assign concat_6808 = {literal_6527, ~(value[115] | value[114] | nor_6573) ? {literal_6527, ~(value[113] | ~value[112])} : {literal_6529, ~(value[115] | ~value[114])}}; assign and_6817 = and_6738 & and_6739; assign and_6818 = and_6740 & and_6741; assign and_6839 = nor_6755 & ~nor_6678; assign and_6840 = nor_6755 & nor_6678; assign and_6841 = and_6625 & and_6712; assign and_6843 = and_6683 & and_6758; assign nor_6844 = ~(~and_6683 | and_6758); assign nor_6864 = ~(value[31] | value[30] | nor_6424); assign and_6871 = and_6613 & and_6781; assign or_6873 = and_6616 & ~and_6613 | nor_6700 & ~and_6615 & ~and_6616 & ~and_6613; assign priority_sel_6874 = priority_sel_1b_4way({nor_6700, and_6615, and_6616, and_6613}, literal_6529, ~(value[57] | ~value[56]), ~(value[59] | ~value[58]), ~(value[61] | ~value[60]), ~(value[63] | ~value[62])); assign and_6879 = and_6642 & and_6721; assign and_6880 = and_6664 & and_6799; assign or_6885 = and_6667 & ~and_6664 | nor_6731 & ~and_6666 & ~and_6667 & ~and_6664; assign priority_sel_6886 = priority_sel_1b_4way({nor_6731, and_6666, and_6667, and_6664}, literal_6529, ~(value[121] | ~value[120]), ~(value[123] | ~value[122]), ~(value[125] | ~value[124]), ~(value[127] | ~value[126])); assign and_6888 = and_6742 & and_6818; assign nor_6889 = ~(~and_6742 | and_6818); assign nor_6909 = ~(value[95] | value[94] | nor_6500); assign and_6916 = and_6792 & and_6841; assign nor_6917 = ~(~and_6757 | and_6843); assign and_6943 = and_6800 & and_6879; assign nor_6951 = ~(~and_6817 | and_6888); assign and_6969 = and_6871 & and_6916; assign and_6973 = and_6757 & and_6843; assign concat_6976 = {literal_6529, ~(value[7] | value[6] | nor_6605) ? {literal_6527, ~(value[5] | ~value[4])} : {literal_6529, ~(value[7] | ~value[6])}}; assign concat_6975 = {literal_6527, ~(value[3] | value[2] | nor_6607) ? {literal_6527, ~(value[1] | ~value[0])} : {literal_6529, ~(value[3] | ~value[2])}}; assign concat_6979 = {literal_6529, ~(value[15] | value[14] | nor_6516) ? {literal_6527, ~(value[13] | ~value[12])} : {literal_6529, ~(value[15] | ~value[14])}}; assign concat_6978 = {literal_6527, ~(value[11] | value[10] | nor_6518) ? {literal_6527, ~(value[9] | ~value[8])} : {literal_6529, ~(value[11] | ~value[10])}}; assign concat_6982 = {literal_6529, ~(value[23] | value[22] | nor_6504) ? {literal_6527, ~(value[21] | ~value[20])} : {literal_6529, ~(value[23] | ~value[22])}}; assign concat_6981 = {literal_6527, ~(value[19] | value[18] | nor_6506) ? {literal_6527, ~(value[17] | ~value[16])} : {literal_6529, ~(value[19] | ~value[18])}}; assign priority_sel_6986 = priority_sel_4b_2way({~(~and_6613 | and_6781), and_6871}, {nor_6521, or_6873, priority_sel_6874, literal_6529}, {literal_6527, ~(~and_6617 | and_6698) ? concat_6790 : concat_6791}, {literal_6529, nor_6521, or_6873, priority_sel_6874}); assign and_6988 = and_6880 & and_6943; assign and_6996 = and_6817 & and_6888; assign concat_6999 = {literal_6529, ~(value[71] | value[70] | nor_6672) ? {literal_6527, ~(value[69] | ~value[68])} : {literal_6529, ~(value[71] | ~value[70])}}; assign concat_6998 = {literal_6527, ~(value[67] | value[66] | nor_6674) ? {literal_6527, ~(value[65] | ~value[64])} : {literal_6529, ~(value[67] | ~value[66])}}; assign concat_7002 = {literal_6529, ~(value[79] | value[78] | nor_6596) ? {literal_6527, ~(value[77] | ~value[76])} : {literal_6529, ~(value[79] | ~value[78])}}; assign concat_7001 = {literal_6527, ~(value[75] | value[74] | nor_6598) ? {literal_6527, ~(value[73] | ~value[72])} : {literal_6529, ~(value[75] | ~value[74])}}; assign concat_7005 = {literal_6529, ~(value[87] | value[86] | nor_6584) ? {literal_6527, ~(value[85] | ~value[84])} : {literal_6529, ~(value[87] | ~value[86])}}; assign concat_7004 = {literal_6527, ~(value[83] | value[82] | nor_6586) ? {literal_6527, ~(value[81] | ~value[80])} : {literal_6529, ~(value[83] | ~value[82])}}; assign concat_7009 = {~(~and_6679 | and_6680), nor_6917 & ~nor_6844, nor_6917 & nor_6844, and_6973}; assign literal_7010 = 3'h0; assign concat_7017 = {literal_6527, ~(~and_6792 | and_6841) ? {literal_6527, ~(~and_6625 | and_6712) ? concat_6794 : concat_6795} : {literal_6529, ~(~and_6633 | and_6710) ? concat_6797 : concat_6798}}; assign concat_7022 = {literal_6527, ~(~and_6800 | and_6879) ? {literal_6527, ~(~and_6642 | and_6721) ? concat_6802 : concat_6803} : {literal_6529, ~(~and_6650 | and_6719) ? concat_6805 : concat_6806}}; assign concat_7023 = {literal_6529, ~(~and_6664 | and_6799) ? {literal_6527, ~(~and_6657 | and_6718) ? concat_6808 : concat_6809} : {and_6664, nor_6579, or_6885, priority_sel_6886}}; assign concat_7024 = {~(~and_6738 | and_6739), nor_6951 & ~nor_6889, nor_6951 & nor_6889, and_6996}; assign and_7029 = and_6988 & and_6996; assign and_7031 = and_6969 & and_6973; assign priority_sel_7033 = priority_sel_3b_4way(concat_7009, literal_7010, ~(~and_6681 | and_6682) ? concat_6975 : concat_6976, ~(~and_6608 | and_6609) ? concat_6978 : concat_6979, ~(~and_6602 | and_6603) ? concat_6981 : concat_6982, {nor_6696, and_6780 & ~and_6679 | nor_6864 & ~and_6779 & ~and_6780 & ~and_6679, priority_sel_1b_4way({nor_6864, and_6779, and_6780, and_6679}, literal_6529, ~(value[25] | ~value[24]), ~(value[27] | ~value[26]), ~(value[29] | ~value[28]), ~(value[31] | ~value[30]))}); assign priority_sel_7036 = priority_sel_5b_2way({~(~and_6880 | and_6943), and_6988}, {nor_6579, or_6885, priority_sel_6886, 2'h0}, concat_7022, concat_7023); assign priority_sel_7038 = priority_sel_3b_4way(concat_7024, literal_7010, ~(~and_6740 | and_6741) ? concat_6998 : concat_6999, ~(~and_6675 | and_6676) ? concat_7001 : concat_7002, ~(~and_6669 | and_6670) ? concat_7004 : concat_7005, {nor_6755, and_6840 & ~and_6738 | nor_6909 & ~and_6839 & ~and_6840 & ~and_6738, priority_sel_1b_4way({nor_6909, and_6839, and_6840, and_6738}, literal_6529, ~(value[89] | ~value[88]), ~(value[91] | ~value[90]), ~(value[93] | ~value[92]), ~(value[95] | ~value[94]))}); assign and_7049 = and_7029 & and_7031; assign priority_sel_7050 = priority_sel_6b_2way({~(~and_6969 | and_6973), and_7031}, 6'h00, {literal_6527, nor_6917, priority_sel_1b_4way(concat_7009, literal_6529, literal_6527, literal_6529, literal_6527, and_6679), priority_sel_7033}, {and_6969, priority_sel_5b_2way({~(~and_6871 | and_6916), and_6969}, {priority_sel_6986, literal_6529}, concat_7017, {literal_6529, priority_sel_6986})}); assign priority_sel_7056 = priority_sel_7b_2way({~(~and_7029 | and_7031), and_7049}, 7'h00, {literal_6527, priority_sel_7050}, {and_7029, priority_sel_6b_2way({~(~and_6988 | and_6996), and_7029}, {priority_sel_7036, literal_6529}, {literal_6527, nor_6951, priority_sel_1b_4way(concat_7024, literal_6529, literal_6527, literal_6529, literal_6527, and_6738), priority_sel_7038}, {and_6988, priority_sel_7036})}); assign out = {and_7049, priority_sel_7056}; endmodule