Hi Shalom, The value of those methods are always an enum element which is always constant. So why do you think the variable also needs to be constant? Regards Surya -------- Original Message -------- Subject: Re:[sv-bc] Constant method calls From: Bresticker, Shalom <shalom.bresticker@intel.com> To: Surya Pratik Saha <spsaha@cal.interrasystems.com> Cc: sv-bc@eda.org, sarani@cal.interrasystems.com Date: Tuesday, February 12, 2008 11:27:32 AM > No, because the value of the enum variable is not constant. > > Shalom > > >> -----Original Message----- >> From: owner-sv-bc@server.eda.org >> [mailto:owner-sv-bc@server.eda.org] On Behalf Of Surya Pratik Saha >> Sent: Tuesday, February 12, 2008 7:39 AM >> To: Greg Jaxon >> Cc: sv-bc@server.eda.org; sarani@cal.interrasystems.com >> Subject: Re: [sv-bc] Constant method calls >> >> Hi Greg, >> I re-read the LRM regarding 'next'. It indeed does not say >> about the no. >> of iteration. So I think it can be considered as 'constant'. >> Does it mean method on any enum variable to be constant. I >> think so, but your earlier mail mentions that the variable >> also has to be constant though. >> What do you think? >> >> Regards >> Surya >> >> >> >> -------- Original Message -------- >> Subject: Re:[sv-bc] Constant method calls >> From: Greg Jaxon <Greg.Jaxon@synopsys.com> >> To: Surya Pratik Saha <spsaha@cal.interrasystems.com>, sv-bc@eda.org >> Cc: sarani@cal.interrasystems.com >> Date: Tuesday, February 12, 2008 12:37:19 AM >> >>> Surya, >>> >>> You keep bringing up the idea that the result of an enum next() >>> method depends on the number of calls made to it. I don't see any >>> support for that idea in the LRM or in the committee's >>> >> discussions. >> >>> The Next() method does not update the variable (or >>> >> constant) to which >> >>> it applied. It has no static storage with which it might >>> >> "remember" how often it has been called. >> >>> It is simply a function of two arguments - an enum and an optional >>> (positive?) integer count, N. It locates the enum's value >>> >> in the list >> >>> of legal values, then it steps forward in that >>> >> (declaration-ordered) >> >>> list "N" places and returns that as its functional result. >>> >>> The existing definition is incomplete in not specifying how >>> negative values of N affect Next(). The special case of >>> >> Next() for an >> >>> out-of-range enum value is also not clear - is the answer >>> >> the same as >> >>> .First() for /all/ values of N, or only for N=1 (the default)? Is >>> V.Next(0) == V for all V, or only for legal value of the >>> >> enum type of V? >> >>> typedef enum { A,B,C } Enum_t; >>> Enum_t V = Enum_t'(5); >>> >>> $display( V.Next, V.Next(-1), V.Next(2) ); >>> >>> But it would have mentioned depending upon previous calls >>> >> to Next if >> >>> that influenced the result. >>> >>> Greg Jaxon >>> >>> >>> >>> Surya Pratik Saha wrote: >>> >>> >>>> Hi Steven, >>>> Even 'e' is a constant like parameter - parameter enum {A, >>>> >> B, C} e = >> >>>> A; >>>> >>>> then also I think 'next' should not be a constant, because >>>> >> the result >> >>>> will depend on the no. of call which is not constant. What >>>> >> do you think? >> >>>> Regards >>>> Surya >>>> >>>> >>>> >>>> -------- Original Message -------- >>>> Subject: Re:[sv-bc] Constant method calls >>>> From: Steven Sharp <sharp@cadence.com> >>>> To: Greg.Jaxon@synopsys.com, spsaha@cal.interrasystems.com >>>> Cc: sharp@cadence.com, sarani@cal.interrasystems.com, >>>> >> sv-bc@eda.org, >> >>>> sv-ec@eda.org >>>> Date: Saturday, February 09, 2008 6:56:05 AM >>>> >>>> >>>>>> From: Surya Pratik Saha <spsaha@cal.interrasystems.com> >>>>>> >>>>>> >>>>>> >>>>> >>>>> >>>>> >>>>>> module top; >>>>>> enum {A, B, C} e; >>>>>> initial begin >>>>>> for (int i = 0; i < e.next(); i ++) begin:b >>>>>> reg[e.next(): 0] r; >>>>>> end >>>>>> end >>>>>> endmodule >>>>>> >>>>>> >>>>>> >>>>> Surya, e.next cannot be a constant expression because e is not a >>>>> constant. The case that could possibly be allowed would >>>>> >> be something >> >>>>> like A.next, whose result would be the constant B (if it >>>>> >> is legal to >> >>>>> apply an enum method to an enum literal, which is unclear). >>>>> >>>>> Steven Sharp >>>>> sharp@cadence.com >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>> >>>> >>>> >>> >>> >>> >>> >>> >> >> >> >> -- >> This message has been scanned for viruses and dangerous >> content by MailScanner, and is believed to be clean. >> >> >> > --------------------------------------------------------------------- > Intel Israel (74) Limited > > This e-mail and any attachments may contain confidential material for > the sole use of the intended recipient(s). Any review or distribution > by others is strictly prohibited. If you are not the intended > recipient, please contact the sender and delete all copies. > > > > > > > -- This message has been scanned for viruses and dangerous content by MailScanner, and is believed to be clean.Received on Mon Feb 11 22:01:27 2008
This archive was generated by hypermail 2.1.8 : Mon Feb 11 2008 - 22:01:37 PST