1. ► Incorrectly written VPI applications may leak memory.
2. ► It is a good practice to have checkers which directly connect to RTL signals in various RTL
3. ► There is significant overhead of moving data between simulation and C domains.
4. ► Providing tf.type as vpiSysTask in the s_vpi_systf_data will export the corresponding ‘C’ routine as a task.
5. ► CompileTf routines can make use of all the VPI routines.
6. ► Depth-first walk is only defined for a Tree.
7. ► A cbValueChange callback can be directly registered from vlog_startup_routines called
8. ► In s_cb_data, the cb_rtn field is used to provide the function pointer which will be called when the callback event happens.
9. ► All properties are defined for all kinds of handles.
10. ► Verilog Procedural Interface and Programming Language Interface are two entirely distinct
Foreign Language Interfaces.
11. ► Valgrind can check memory issues with arrays e.g. out of bound access.
12. ► vlog_startup_routines is a function which is called by simulator to register routines.
13. ► cbReadWriteSync callbacks are called before cbReadOnlySynch callbacks.
14. ► In s_cb_data, the obj field is used to point to the handle on which the callback is registered.
15. ► A checker will typically register itself at cbNextSim time.