| module top ( in_data, do ); | |
| input [15:0] in_data; | |
| output [15:0] do; | |
| wire [15:0] out_data; | |
| assign do = out_data; | |
| always @ (*) | |
| begin | |
| Test_task(in_data, out_data); | |
| // out_data = in_data; // This works but above task doesn't | |
| end | |
| task Test_task; | |
| input [15:0] in_d; | |
| output [15:0] out_data; | |
| begin | |
| out_data = in_d; | |
| end | |
| endtask | |
| endmodule |