[sv-cc] RE: Mantis item 1503: Redoing the formal argument declarations

From: Bassam Tabbara <Bassam.Tabbara_at_.....>
Date: Fri Jan 25 2008 - 11:44:16 PST
Hi Jim,

Many thanks for the validation, I think the first cut we had started
with aka the *direct* way of growing "identifier" to have a
typespec/initial value etc a la io_decl ... fits the bill of the
critique below and more actually (e.g. range etc needs to be accounted
for), we can surely revert to that "direct" approach if clearer.

However I recall CC members thought it redundant at the time and I
rather like the "simplicity" of the latest modeling we came up with --
of course the cost is more "ambiguity" unless semantic restrictions and
what not are added in notes. I was actually thinking for example untyped
formals would go to vars but I can understand the critique, and thinking
more on this, we do need a bunch of notes to define what goes where.

Let's get some buy-in from CC first on direct approach so we don't
ping-pong on this. Of course 1667/1668 will come mostly naturally here
as John recognized.

Thx.
-Bassam.

-----Original Message-----
From: Jim Vellenga [mailto:vellenga@cadence.com] 
Sent: Friday, January 25, 2008 11:18 AM
To: Bassam Tabbara; Lisa Piper
Cc: sv-cc@eda.org; sv-ac@eda.org
Subject: Mantis item 1503: Redoing the formal argument declarations

Bassam,

I have to apologize because, after all the work we did creating the
sequence formal decl and property formal decl VPI objects and their
relations, I don't think they're going to work.  As I've studied the BNF
for sequence declarations and talked to our local assertion engineers,
I've recognized the following:

-- Our current diagrams don't have any way to represent an initial value
expression for an untyped formal or for a named event.

-- I'm guessing that an untyped formal could be mapped to either a net
or a variable (or an event or sequence), so that representing the formal
argument as any one of them would be too restrictive.

-- In fact, even a typed formal doesn't tell you whether the object is a
net or a variable.

So I recommend going back to the BNF and doing the following:

-- Call it a "sequence port item" to match the BNF.

-- Give it back its vpiName property (to correspond to the
port_identifier nonterminal).

-- Have a single arrow relation to a "typespec", with the usual dashed
outline.  Add a detail that says that the vpiTypespec relation shall
return NULL if the port item is untyped.

-- Have the vpiExpr relation return the optional sequence actual arg,
shown as a dashed enclosure around a combination of

   o a sequence expr, and

   o whatever we use to represent an event_expression (I wasn't able to
figure out how we represent an event_expression in VPI).

I presume we should also do the same kind of thing for a property formal
decl (== property_port_item).

Let me know if I have misinterpreted any of this.

Thanks,
Jim

--------------------------------------------------------- 
James H. Vellenga                            978-262-6381 
Software Architect                     (FAX) 978-262-6636 
Cadence Design Systems, Inc.         vellenga@cadence.com 
270 Billerica Rd
Chelmsford, MA 01824-4179
"We all work with partial information." 
---------------------------------------------------------- 

-- 
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.
Received on Fri Jan 25 13:14:13 2008

This archive was generated by hypermail 2.1.8 : Fri Jan 25 2008 - 13:14:18 PST