| Purpose |
Perform tasks without returning a value. |
Return a value from a calculation. |
Produce an unpredictable value or one that depends on external factors. |
| Arguments |
Can have input and/or output arguments. |
Can have input arguments only. |
Can have input arguments only. |
| Return Value |
Does not return a value (void). |
Returns a value from a calculation. |
Returns a value from a calculation. |
| Usage |
Used to organize tasks or operations. |
Used for calculations or data processing. |
Used when the function's result depends on external factors. |
| Example |
vhdl procedure SetFlag(flag: out boolean); |
vhdl function Add(a, b: integer) return integer; |
vhdl function RandomNumber return integer; |
| Synthesis |
Can be synthesized if it is deterministic and synchronous. |
Can be synthesized if it is deterministic and synchronous. |
Not suitable for synthesis because the result is unpredictable or depends on external factors. |
No comments to display
No comments to display