Procedures / functions will normally define
combinatorial logic. However will you properly need some
conversions functions as well.
A conversion function will not result in extra hardware.
The difference between functions and procedure
can be seen by the fact that functions must return data.
If you wants to return more then one parameter
could inout attributes
turn out useful.