How can i make an always statement run with initial values in verilog
Yes, you move to SystemVerilog and change the always @(...) to always_comb. Not only does it simplify the sensitivity list, it guarantees the block executes at least once at time 0.