module __std__next_pow2( input wire [31:0] n, output wire [31:0] out ); wire [31:0] add_3055; wire [31:0] reverse_3056; wire [32:0] one_hot_3057; wire [6:0] sub_3063; wire [31:0] and_3067; wire [1:0] result_squeezed; wire [1:0] literal_3071; wire [1:0] result__1_squeezed; wire [3:0] result__1_squeezed__1; wire [3:0] literal_3076; wire [3:0] result__2_squeezed; wire [7:0] result__2_squeezed__1; wire [7:0] literal_3081; wire [7:0] result__3_squeezed; wire [15:0] result__3_squeezed__1; wire [15:0] result__4_squeezed_const_msb_bits; wire [15:0] result__4_squeezed; wire [31:0] result__4; wire [31:0] result__5; wire [31:0] result__32; assign add_3055 = n + 32'hffff_ffff; assign reverse_3056 = {add_3055[0], add_3055[1], add_3055[2], add_3055[3], add_3055[4], add_3055[5], add_3055[6], add_3055[7], add_3055[8], add_3055[9], add_3055[10], add_3055[11], add_3055[12], add_3055[13], add_3055[14], add_3055[15], add_3055[16], add_3055[17], add_3055[18], add_3055[19], add_3055[20], add_3055[21], add_3055[22], add_3055[23], add_3055[24], add_3055[25], add_3055[26], add_3055[27], add_3055[28], add_3055[29], add_3055[30], add_3055[31]}; assign one_hot_3057 = {reverse_3056[31:0] == 32'h0000_0000, reverse_3056[31] && reverse_3056[30:0] == 31'h0000_0000, reverse_3056[30] && reverse_3056[29:0] == 30'h0000_0000, reverse_3056[29] && reverse_3056[28:0] == 29'h0000_0000, reverse_3056[28] && reverse_3056[27:0] == 28'h000_0000, reverse_3056[27] && reverse_3056[26:0] == 27'h000_0000, reverse_3056[26] && reverse_3056[25:0] == 26'h000_0000, reverse_3056[25] && reverse_3056[24:0] == 25'h000_0000, reverse_3056[24] && reverse_3056[23:0] == 24'h00_0000, reverse_3056[23] && reverse_3056[22:0] == 23'h00_0000, reverse_3056[22] && reverse_3056[21:0] == 22'h00_0000, reverse_3056[21] && reverse_3056[20:0] == 21'h00_0000, reverse_3056[20] && reverse_3056[19:0] == 20'h0_0000, reverse_3056[19] && reverse_3056[18:0] == 19'h0_0000, reverse_3056[18] && reverse_3056[17:0] == 18'h0_0000, reverse_3056[17] && reverse_3056[16:0] == 17'h0_0000, reverse_3056[16] && reverse_3056[15:0] == 16'h0000, reverse_3056[15] && reverse_3056[14:0] == 15'h0000, reverse_3056[14] && reverse_3056[13:0] == 14'h0000, reverse_3056[13] && reverse_3056[12:0] == 13'h0000, reverse_3056[12] && reverse_3056[11:0] == 12'h000, reverse_3056[11] && reverse_3056[10:0] == 11'h000, reverse_3056[10] && reverse_3056[9:0] == 10'h000, reverse_3056[9] && reverse_3056[8:0] == 9'h000, reverse_3056[8] && reverse_3056[7:0] == 8'h00, reverse_3056[7] && reverse_3056[6:0] == 7'h00, reverse_3056[6] && reverse_3056[5:0] == 6'h00, reverse_3056[5] && reverse_3056[4:0] == 5'h00, reverse_3056[4] && reverse_3056[3:0] == 4'h0, reverse_3056[3] && reverse_3056[2:0] == 3'h0, reverse_3056[2] && reverse_3056[1:0] == 2'h0, reverse_3056[1] && !reverse_3056[0], reverse_3056[0]}; assign sub_3063 = 7'h20 - {1'h0, {one_hot_3057[32], one_hot_3057[16] | one_hot_3057[17] | one_hot_3057[18] | one_hot_3057[19] | one_hot_3057[20] | one_hot_3057[21] | one_hot_3057[22] | one_hot_3057[23] | one_hot_3057[24] | one_hot_3057[25] | one_hot_3057[26] | one_hot_3057[27] | one_hot_3057[28] | one_hot_3057[29] | one_hot_3057[30] | one_hot_3057[31], one_hot_3057[8] | one_hot_3057[9] | one_hot_3057[10] | one_hot_3057[11] | one_hot_3057[12] | one_hot_3057[13] | one_hot_3057[14] | one_hot_3057[15] | one_hot_3057[24] | one_hot_3057[25] | one_hot_3057[26] | one_hot_3057[27] | one_hot_3057[28] | one_hot_3057[29] | one_hot_3057[30] | one_hot_3057[31], one_hot_3057[4] | one_hot_3057[5] | one_hot_3057[6] | one_hot_3057[7] | one_hot_3057[12] | one_hot_3057[13] | one_hot_3057[14] | one_hot_3057[15] | one_hot_3057[20] | one_hot_3057[21] | one_hot_3057[22] | one_hot_3057[23] | one_hot_3057[28] | one_hot_3057[29] | one_hot_3057[30] | one_hot_3057[31], one_hot_3057[2] | one_hot_3057[3] | one_hot_3057[6] | one_hot_3057[7] | one_hot_3057[10] | one_hot_3057[11] | one_hot_3057[14] | one_hot_3057[15] | one_hot_3057[18] | one_hot_3057[19] | one_hot_3057[22] | one_hot_3057[23] | one_hot_3057[26] | one_hot_3057[27] | one_hot_3057[30] | one_hot_3057[31], one_hot_3057[1] | one_hot_3057[3] | one_hot_3057[5] | one_hot_3057[7] | one_hot_3057[9] | one_hot_3057[11] | one_hot_3057[13] | one_hot_3057[15] | one_hot_3057[17] | one_hot_3057[19] | one_hot_3057[21] | one_hot_3057[23] | one_hot_3057[25] | one_hot_3057[27] | one_hot_3057[29] | one_hot_3057[31]}}; assign and_3067 = {{25{sub_3063[6]}}, sub_3063} & {32{n != 32'h0000_0000}}; assign result_squeezed = 2'h1; assign literal_3071 = 2'h0; assign result__1_squeezed = and_3067[0] ? 2'h2 : result_squeezed; assign result__1_squeezed__1 = {literal_3071, result__1_squeezed}; assign literal_3076 = 4'h0; assign result__2_squeezed = and_3067[1] ? {result__1_squeezed, literal_3071} : result__1_squeezed__1; assign result__2_squeezed__1 = {literal_3076, result__2_squeezed}; assign literal_3081 = 8'h00; assign result__3_squeezed = and_3067[2] ? {result__2_squeezed, literal_3076} : result__2_squeezed__1; assign result__3_squeezed__1 = {literal_3081, result__3_squeezed}; assign result__4_squeezed_const_msb_bits = 16'h0000; assign result__4_squeezed = and_3067[3] ? {result__3_squeezed, literal_3081} : result__3_squeezed__1; assign result__4 = {result__4_squeezed_const_msb_bits, result__4_squeezed}; assign result__5 = and_3067[4] ? {result__4_squeezed, result__4_squeezed_const_msb_bits} : result__4; assign result__32 = result__5 & {32{~(and_3067[31] | and_3067[5])}}; assign out = result__32; endmodule