amitk3553 7 Report post Posted May 15, 2013 Hello all, What is the meaning of timing annotation like we say blocking and non blocking transports support timing annotations?? Regards Cam Share this post Link to post Share on other sites
apfitch 201 Report post Posted May 15, 2013 See the glossary of the SystemC standard paragraph B.183 p580. regards Alan P.S. At the risk of sounding like a broken record, it is always best to look things up in the standard first. P.P.S. If you're young and don't know what a broken record is, imagine I said "scratched CD" P.P.P.S If you're really young and don't know what a scratched CD is, imagine I said "sample with corrupted loop points" 2 Philipp A Hartmann and David Long reacted to this Share this post Link to post Share on other sites
TRANG 2 Report post Posted April 13, 2018 @apfitch can you explain timing annotation ?? Share this post Link to post Share on other sites
Eyck 26 Report post Posted April 17, 2018 Whenever you call a generic protocoll function lile b_transport or nb_transport you supply an sc_time argument as reference so it can changed be the callee. This delay argument is the offset of the begin (when calling the function) or to the end (after the function returns) of this transaction to the current simulation time point. This is called timing annotation... Best regards Share this post Link to post Share on other sites
TRANG 2 Report post Posted April 18, 2018 Thanks @Eyck I want to understand clearly in figure 26 above, The initiator sends to target with timing annotation is 10ns, when targets received the request, it is delay 10ns (timing annotation) then the target begin handing request I understand is right or wrong???? Share this post Link to post Share on other sites
sheridp@umich.edu 0 Report post Posted May 21, 2018 Hook, Yes, this is correct. The initiator calls nb_transport_fw in the target with a delay of 10ns timing annotation. In order to respect the timing annotation, the target placed the transaction into a payload_event_queue (PEQ) and it will emerge from the PEQ after 10ns (this is done by calling peq_with_get.notify(trans, delay) where the delay argument is what was passed into nb_transport_fw). Similarly at time = 125ns, the target calls nb_transport_bw to the initiator with a delay of 10ns. The initiator does the same thing--puts the transaction into its own PEQ with a delay of 10ns. Share this post Link to post Share on other sites