Solution by explicitly declaring a wire
module top_module(input a, output y);
// Pass-through using a net and continuous assignment
wire w;
assign w = a;
assign y = w;
endmoduleMinimal, idiomatic & identical solution with no logic or hardware differences:
module top_module (
input a,
output y
);
assign y = a;
endmodulea directly connected to output y.wire (Solution 1) is pedagogical — useful for beginners to see signal flow step by step.assign) on wires always imply combinational connectivity without delay or storage.