Subject: [sv-bc] Re: SV-BC78
From: Brad Pierce (Brad.Pierce@synopsys.com)
Date: Fri Mar 14 2003 - 18:00:20 PST
Dan,
Your comments raise several good questions related to my proposal
for SV-BC78.
1) Is it OK to use () in a prototype if it is not a task/function
of zero arguments?
The LRM says "In a modport, the import and export constructs
can either use task or function prototypes or use just
the identifiers", which doesn't provide the answer. To be
on the safe side, we could change the example to --
import task masterRead,
task masterWrite ;
The examples in the 3.0 LRM seem to use () in the same style
as my proposal. See slaveRead() and slaveWrite() in 13.5.2.
However, it's not absolutely clear there that these tasks
have arguments, so maybe I'm making a false inference.
2) Is it OK to use () in a prototype if it is a task/function
of zero arguments?
As mentioned above, examples in the 3.0 LRM, such as 13.5.2,
use prototypes like slaveRead() and slaveWrite(). Even if
these have zero arguments, the syntax wouldn't be accepted
with the current version of named_task_proto. However,
allowing them would be an extension much like the
proposed SV-BC-19-64, which was sent on to the SV-EC.
From a BC perspective, I think the answer then is 'no'
in SV 3.1.
I'd be happy to change my proposal to drop the (). But I think we
should defer any changes to named_function_proto to SV 3.2. In fact,
maybe it would be best to defer the entire SV-BC78 until SV 3.2
-- Brad
This archive was generated by hypermail 2b28 : Fri Mar 14 2003 - 18:00:57 PST