Subject: [sv-cc] votes on 3.1A donations
From: Francoise Martinolle (fm@cadence.com)
Date: Wed Nov 19 2003 - 14:10:36 PST
Cadence votes yes for accepting the VPI donation as a basis for 
specification of the VPI access to systemVerilog
Cadence abstains on the exported tasks proposal.
Mainly because we dislike the handling of the disable statement which 
requires a change in the prototype of the exported task when called from 
within a C function and the C programmer having to react to the disable. A 
more appealing approach to me is to use
C++ exception throwing or longjump.
On a late thought (sorry for that), I would have preferred to create a API 
call wrapper function which would have taken the SV task function 
hierarchical name and its arguments. It could also take a disable_handler 
function to be called if the simulator executes a disable.
The API call function would check the disable status. That way we do not 
change the exported SV task prototype and all is done by the simulator. 
There is minimal user involvement.
callSV( top.my_task, arg1, arg2, ..., disable_hdler|null)
A disable_hdler function pointer is optional and in that case, no cleanup 
will happen on the C code.
Francoise
        '
This archive was generated by hypermail 2b28 : Wed Nov 19 2003 - 14:25:31 PST