HOME   
       UP   
      PREV   
      NEXT (Instruction Set Simulator  (ISS))   
Adding The Timing Annotations
  
For approximate timing:
- 
In the non-blocking coding style, 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 coding style we can block the caller's thread
for the appropriate number of cycles before returning with the result.
For loose timing:- 
In the blocking coding style, we can compare the delay time so far
accumulated with a desired maximum (the quantum for that thread or
component or system wide quantum) and if it is exceeded then do a resynch.
- 
In the non-blocking coding style we can do the same, but non-blocking with loose
timing is not commonly used.
The loose timing allows transactions to execute out of order (see later slides).