I am still having difficulty understanding how functions-procedures are executed in VHDL. What I donít understand is how long it takes them to execute. Do they execute almost instantly? Meaning will they execute and finish their job between clock cycles?
If this is so are they must be implemented by asynchronous logic right? And if so arenít their execution times limited by the propagation delay in they devices used? If this is so how will we know that the function will return in the time we expected?
Can someone please help me out understanding this?
Well some functions actually only to please the strong typing of VHDL - like for instance conv_integer.
About the execution time must you understand that a Hardware Desciption Language like VHDL will be used to Design a curcuit of your needs - once the translation (synthesize) done will the source code be "of no use" and take up no time whatever. The circuit however will have some delays due to the gates etc - but a procedure will at most be some kind combinatial "cloud"
Search for Evita VHDL book from Aldec - could give you some pretty good ideas of whats "inside" VHDL