functions in verilog