Thank you @dave_59.
An extra question popped out:
In the case of functions and tasks what would the the right assignment?
To my understanding:
- Functions are executed in a sequence, they are synthesized as combinatorial, and in execution time they are instantaneous (do not consume time).
- Tasks on the other hand, are executed also in a sequence but can have timing controls, so they could be synthesized both sequential (if they wait for a clock) and combinatorial (if they wait for any other signal).
So, my guess is:
- all functions should always use blocking assignments: =, because of their sequence, combinatorial, and instantaneous nature
- all tasks should also always use the blocking assignments: =, because of their sequence execution nature
Are my understanding/guess correct?
or please clarify, :) thank you