RE: [sv-ac] New mantis item #1769 - elaboration-time assert and error message tasks

From: Stuart Sutherland <stuart_at_.....>
Date: Mon Apr 16 2007 - 17:48:12 PDT
Ed,

I like this feature.  Some minor comments:

1) The first code example has a typo, the "m%" should be "%m".:

   else $error("Parameter N = %0d is out of valid range in module instance
m%", N);

Also the code wraps in an awkward place.  Can we shorten the message to fit
on one line?

2) In the second example with generate, you have:

   for (genvar i = 0; i < $bits(vect); i++) begin : Loop

I don't have time to research this at the moment, but please double check
that genvar can be declared as part of the for-loop.  The declaration within
the loop is an automatic variable, and I believe genvars need to be static.

3) In the third paragraph, you have:

  "If either of the elaboration-action blocks is omitted the compiler may
issue a default message..."

The "may" means issuing a message is completely optional, and left up to the
implementation.  Is this what you intended?  Personally, I would expect that
a tool "shall" issue a default message.

4) I don't understand what is meant by the fourth paragraph

   if assert is missing in front of a pass_elaboration_action it is
equivalent to writing
   assert(1'b1) pass_elaboration_action;

It sounds like it is ok to leave out the "assert" keyword.  Is that what you
intended?  It would help to show the actual code before show the code that
it is equivalent to.
 
Stu
~~~~~~~~~~~~~~~~~~~~~~~~~
Stuart Sutherland
Sutherland HDL, Inc.
stuart@sutherland-hdl.com
503-692-0898
 

> -----Original Message-----
> From: owner-sv-ac@server.eda.org 
> [mailto:owner-sv-ac@server.eda.org] On Behalf Of Eduard Cerny
> Sent: Monday, April 16, 2007 7:28 AM
> To: Lisa Piper; sv-ac@server.eda-stds.org
> Cc: Eduard Cerny
> Subject: RE: [sv-ac] New mantis item #1769 - elaboration-time 
> assert and error message tasks
> 
>  Hello,
> 
> I tried to take into account all the suggestions... Please see the
> attached proposal, also deposited on mantis.
> 
> Best regards,
> 
> ed
> 
> > -----Original Message-----
> > From: Lisa Piper [mailto:piper@cadence.com] 
> > Sent: Friday, April 06, 2007 5:58 PM
> > To: Eduard Cerny
> > Subject: RE: [sv-ac] New mantis item #1769 - elaboration-time 
> > assert and error message tasks
> > 
> > Hi Ed,
> > 
> > I've talked to a few people around here and we also don't see 
> > a problem
> > with using the existing language.  A tool could choose to evaluate
> > immediate assertions that contain only constants at elab 
> time without
> > the need for the additional constructs in the language.  
> > 
> > Lisa
> > 
> > -----Original Message-----
> > From: Eduard Cerny [mailto:Eduard.Cerny@synopsys.com] 
> > Sent: Friday, April 06, 2007 12:02 PM
> > To: Lisa Piper; Eduard Cerny
> > Subject: RE: [sv-ac] New mantis item #1769 - elaboration-time 
> > assert and
> > error message tasks
> > 
> > To be frank I did not like either of the prefixes. Dave or Brad
> > suggested to use the exiting names, e.g., $error, and if 
> they are left
> > standing outside procedural cotext after elaboration then 
> execute them
> > immediately. I contered by saying that they have more 
> restrictions on
> > the arguments, but we could do that with a note that in this 
> > usage, only
> > constant_expressions can be used.
> > 
> > ed
> > 
> > > -----Original Message-----
> > > From: Lisa Piper [mailto:piper@cadence.com] 
> > > Sent: Friday, April 06, 2007 10:42 AM
> > > To: Eduard Cerny
> > > Subject: RE: [sv-ac] New mantis item #1769 - elaboration-time 
> > > assert and error message tasks
> > > 
> > > How about $elab_..
> > > 
> > > Lisa
> > > 
> > > -----Original Message-----
> > > From: Eduard Cerny [mailto:Eduard.Cerny@synopsys.com] 
> > > Sent: Friday, April 06, 2007 9:36 AM
> > > To: Lisa Piper; Eduard Cerny
> > > Cc: sv-ac@eda-stds.org
> > > Subject: RE: [sv-ac] New mantis item #1769 - elaboration-time 
> > > assert and
> > > error message tasks
> > > 
> > > Hi Lisa,
> > > 
> > > You are right, we should not assume "let", I will change the text
> > > accordingly. 
> > > 
> > > About the names - what do you suggest? 
> > > 
> > > ed 
> > > 
> > > > -----Original Message-----
> > > > From: Lisa Piper [mailto:piper@cadence.com] 
> > > > Sent: Friday, April 06, 2007 9:23 AM
> > > > To: Eduard Cerny
> > > > Cc: sv-ac@eda-stds.org
> > > > Subject: RE: [sv-ac] New mantis item #1769 - elaboration-time 
> > > > assert and error message tasks
> > > > 
> > > > Hi Ed,
> > > > 
> > > > In this proposal, you should not assume the let_declaration 
> > > > exists yet.
> > > > It appears twice in the syntax section. I also think it would 
> > > > be good to
> > > > show the example of 1620.  
> > > > 
> > > > I see compile and elaboration as two distinct steps. This 
> > > > says it is an
> > > > elaboration-time check, but the names of the system 
> tasks tend to
> > > > suggest compile-time ($comp_...).  Why is this?
> > > > 
> > > > Lisa
> > > > 
> > > > -----Original Message-----
> > > > From: owner-sv-ac@eda.org [mailto:owner-sv-ac@eda.org] On 
> > Behalf Of
> > > > Eduard Cerny
> > > > Sent: Thursday, March 29, 2007 10:10 AM
> > > > To: sv-ac@eda-stds.org
> > > > Subject: [sv-ac] New mantis item #1769 - elaboration-time 
> > assert and
> > > > error message tasks
> > > > 
> > > > Hello,
> > > > 
> > > > I have created a new mantis item and deposited a proposal for
> > > > elaboration-time assertions and error tasks. Attached here too.
> > > > 
> > > > Best regards,
> > > > ed
> > > > 
> > > > -- 
> > > > This message has been scanned for viruses and
> > > > dangerous content by MailScanner, and is
> > > > believed to be clean.
> > > > 
> > > > 
> > > 
> > 
> 
> -- 
> This message has been scanned for viruses and
> dangerous content by MailScanner, and is
> believed to be clean.
> 
> 



-- 
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.
Received on Mon Apr 16 17:48:38 2007

This archive was generated by hypermail 2.1.8 : Mon Apr 16 2007 - 17:48:53 PDT