Re: DPI Utility functions.

From: Per Bojsen <per.bojsen_at_.....>
Date: Thu Dec 14 2006 - 06:22:22 PST
Hi Shabtay,

> SCE-MI 2 supports two types of DPI Utility functions, those that must be 
> invoked from a context imported functions (to be called Context DPI 
> Utility Functions) and those whose invocation is unrestricted (to be 
> called non-Context DPI Utility Functions).
> 
> The Context DPI Utility functions are:
> 
>   svScope svGetScope(void)
>   svScope svSetScope(const svScope scope)
>   int svPutUserData(const svScope scope, void *userKey, void *userData)
>   void *svGetUserData(const svScope scope, void *userKey)
>   const char *svGetNameFromScope(const svScope scope)
>   svScope svGetScopeFromName(const char *scopeName)

What surprised me when I saw this text above was that as far as I can
tell it changes nothing from the strict interpretation of SystemVerilog
that we over several weeks were working on removing.  The text as it
is now states that the 6 functions above can only be called from
context imported functions.  This is not what we had agreed to, I thought.
The whole deal about looking at the SystemVerilog event queue and
simulation semantics was to identify those regions from which the
above functions can safely be called.  If we can't call these then
we can't call the exported tasks/functions either.  Note, I know your
text in Section 4 has a discussion about this, but Section 4 is not
normative.  This section really needs to stress in no uncertain terms
that we're using an expanded definition of when these calls are
allowed.

Per
Received on Thu Dec 14 06:23:19 2006

This archive was generated by hypermail 2.1.8 : Thu Dec 14 2006 - 06:23:27 PST