Subject: [sv-cc] revised .fm: c_layer_v1.fm, sv_layer_v1.fm, include_files_v1.fm
From: Andrzej Litwiniuk (Andrzej.Litwiniuk@synopsys.com)
Date: Wed Mar 05 2003 - 16:13:31 PST
Team,
Enclosed are the revised versions (framemaker format) of SV Layer, C layer
and include files.
The following changes have been made:
- SV_ prefix used for all #defined macros (but not for constants, e.g. sv_x)
- "blocking", "non-blocking" jargon removed (per JohnS request)
- "timing control whatsoever ..." removed (per Doug's request)
- function result size increased from 32 to 64 bits (per JohnS request).
Actually, I have a problem with it.
With 32-bit limitation, function result of type int was compatible
with svBitVec32 (the canonical representation of 2-state packed arrays)
typedefined as unsigned int.
Function result of type long long is intended for packed arrays of width
33 to 64 bits, which will have the canonical representation svBitVec32[2].
I don't see how to return the contents of 2-element array as long long.
More changes are still required, although some of them have to wait until
we decide the syntax and restrictions for the equivalence of extern/export
declarations.
Specifically, the following have to be rewritten, added or eliminated:
- extern declarations allowed in any scope
- optional cnames
JohnS proposed a wording for cname, for your convenience his
email is attached
- no multiple declarations
- restrictions on global C symbols and on re-naming
- export declarations at the scope of the definition
- explanation of cnames, again JohnS's proposal may be used
- context info for 'context' function that are expected to call SV functions
- context info for exported SV functions called from C
- revised examples:
- the new syntax for extern, export
- new examples for exported functions
- examples of context-sensitive calls on both sides
- new functions in C layer for retrieving or setting the context
Regards,
Andrzej
This archive was generated by hypermail 2b28 : Wed Mar 05 2003 - 16:16:48 PST