RE: [sv-bc] RE: [sv-ec] svlog enum function usage & maven query

From: Brad Pierce <Brad.Pierce_at_.....>
Date: Thu Apr 24 2008 - 11:14:02 PDT
Greg,

   primary ::= function_subroutine_call
           ::= subroutine_call
           ::= method_call

The LRM says "The next() method returns the Nth next enumeration value
(default is the next one) starting from the current value of the given
VARIABLE."

However, this is probably a mistake and in fact, the method can be used
with any enumeration value, even an anonymous one, and Kapil's example
is actually legal.

-- Brad

-----Original Message-----
From: Greg Jaxon [mailto:Jaxon@synopsys.COM] 
Sent: Thursday, April 24, 2008 11:02 AM
To: Brad Pierce
Cc: sv-ec@eda.org; sv-bc@eda.org; sv-ac@eda-stds.org
Subject: Re: [sv-bc] RE: [sv-ec] svlog enum function usage & maven query

My copy of P1800-2008 shows Mantis 1480 making the correction that
a method_call_root cannot be an expression but only a primary.
Primarys* can be function_calls, but I don't see method_calls in the
list.
Primary_literal is also a possible method_call_root, so I think the
enum labels can be used here, but not the method results.

I don't understand why this restriction exists, if it really does.

Greg

Brad Pierce wrote:
> I think an enum method can only be used with a variable, not with an
> anonymous value returned by some expression.
> 
>  
> 
> n  Brad
> 
>  
> 
> *From:* owner-sv-ec@eda.org [mailto:owner-sv-ec@eda.org] *On Behalf Of
> *Kapil Kaushik
> *Sent:* Thursday, April 24, 2008 9:57 AM
> *To:* sv-ec@eda.org; sv-bc@eda.org; sv-ac@eda-stds.org
> *Subject:* [sv-ec] svlog enum function usage
> 
>  
> 
> Hi,
> 
>  
> 
> System Verilog provides some enum functions(section 4.10) like: next,
> prev, last, first etc. for use. I have a doubt whether the following
> statement (highlighted) is valid:
> 
>  
> 
> module test(input clk, input in, output out);
> 
>  
> 
> typedef enum {red, yellow, blue, green} color;
> 
> color my_color
> 
>  
> 
> always @(clk)
> 
> begin
> 
>  
> 
> my_color = blue;
> 
> *my_color = my_color.prev.next.next*
> 
>  
> 
> end
> 
> endmodule
> 
>  
> 
> i.e. are stacked up function calls valid? SVlog LRM does not mention
> anything about this, so it would be great to have some feedback on
this.
> 
>  
> 
> Thanks,
> 
> Kapil
> 
> 
> -- 
> This message has been scanned for viruses and
> dangerous content by *MailScanner* <http://www.mailscanner.info/>, and
is
> believed to be clean.
> 
> 
> -- 
> This message has been scanned for viruses and
> dangerous content by *MailScanner* <http://www.mailscanner.info/>, 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 Thu Apr 24 11:15:13 2008

This archive was generated by hypermail 2.1.8 : Thu Apr 24 2008 - 11:15:57 PDT