module pass_through_a( input wire [31:0] inp, output wire [31:0] out ); assign out[31:0] = inp[31:0]; endmodule module top_a( input wire signed [31:0] inp, output wire signed [31:0] out ); pass_through_a pt(inp[31:0], out[31:0]); endmodule // tests both module declaration orderings module top_b( input wire signed [31:0] inp, output wire signed [31:0] out ); pass_through_b pt(inp[31:0], out[31:0]); endmodule module pass_through_b( input wire [31:0] inp, output wire [31:0] out ); assign out[31:0] = inp[31:0]; endmodule