[sv-cc] Question about VPI callback existance after execution

From: Krzysztof Konopko <Krzysztof.Konopko_at_.....>
Date: Thu Feb 28 2008 - 22:19:39 PST
Hello all!
I am Aldec engineer responsible for Aldec's simulator PLI/VPI/VHPI
interfaces quality.  

Currently I have doubts about vpi_remove_cb() routines and callbacks in
general: should "one-time" callbacks (like cbReadWriteSynch) be removed
automatically by simulator when executed or left for removal by user
with vpi_remove_cb()? Can I iterate for them with vpiCallback
one-to-many relationship or only "repetitive" callbacks (like
cbValueChange) are available?

Example:
Value change callback registers new synchronization callback every time
monitored object changes its state. 
Note that frequent synch (and the like) callback registration and
execution without removal increases memory consumption (assuming that
every callback should be unique entity available with callback
iteration). On the other hand VHPI has a capability of maturity that
applies to every callback and this implies that none of callbacks should
be removed automatically. As I understand, VPI idea is to left as many
as possible to the user so it seems that tracing execution and callback
removal is left to the user (user can define his own data structures for
keeping information about executed callbacks).

Maybe I am missing something?

In the attachment there is a simple example.

Best Regards,

Krzysztof Konopko
Leader Application Engineer
Aldec

-- 
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.


Received on Thu Feb 28 22:20:13 2008

This archive was generated by hypermail 2.1.8 : Thu Feb 28 2008 - 22:20:34 PST