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