HOME   PREV   NEXT (TLM - Four Main Timing Methodologies)

Adding Timing Annotations

Both coding styles can be used for zero delay models that do not advance simulation time and hence do not give useful timing information. However, if we know how long something is likely to take (we don't have the detailed answer because this is just a high-level model) we can add timing annotations to models written in either coding style.

In the non-blocking model, we can make a note of the simulator tnow in a local variable at the start of a transaction and not return success of the transaction (or a sub-part of it) until tnow has sufficiently advanced.

In the blocking model we can block the caller's thread for the appropriate number of cycles before returning with the result.

Going further, we can allow transactions to execute out of order with loose timing (see later slides).