Re: [sv-bc] Case Statement Enhancement Proposal Idea

From: Brad Pierce <Brad.Pierce_at_.....>
Date: Sun Jul 08 2007 - 13:51:22 PDT
> It's still a bad coding style, because in a different context it
really won't work.

If one is opposed to context-sensitive arithmetic, then Verilog itself
is a "big Gotcha" or a "bad coding style". 

-- Brad

-----Original Message-----
From: Bresticker, Shalom [mailto:shalom.bresticker@intel.com] 
Sent: Sunday, July 08, 2007 11:37 AM
To: Brad Pierce; sv-bc@eda.org
Subject: RE: [sv-bc] Case Statement Enhancement Proposal Idea

OOPS!!

See what a big Gotcha it is??

See how easy it is to make a mistake??

It's still a bad coding style, because in a different context it really
won't work.

Shalom


> -----Original Message-----
> From: owner-sv-bc@server.eda.org [mailto:owner-sv-bc@server.eda.org]
> On Behalf Of Brad Pierce
> Sent: Sunday, July 08, 2007 8:27 PM
> To: sv-bc@server.eda.org
> Subject: Re: [sv-bc] Case Statement Enhancement Proposal Idea
> 
> >In Stu's words, GOTCHA!
> 
> No, in Verilog, the width of a context-determined operator, such as 
> <<, does not depend solely on the width of its immediate operands. In 
> the following assignment
> 
>     always_comb y = en << a;
> 
> the shifter is as wide as the max of the widths of y and en.
> 
> Try this Verilog-1995 example in any simulator
> 
> module test;
> reg [7:0] y;
> initial begin
>   y = 1'b1 << 6;
>   $displayb(y);
> end
> endmodule
> 
> 
> Or try this one
> 
> module test;
> reg [7:0] y;
> reg [19999:0] t;
> initial begin
>   t = 1'b1 << 10006 >> 10000;
>   y = t;
>   $displayb(y);
> end
> endmodule
> 
> -- Brad
> 
> 
> -----Original Message-----
> From: owner-sv-bc@eda.org [mailto:owner-sv-bc@eda.org] On Behalf Of 
> Bresticker, Shalom
> Sent: Sunday, July 08, 2007 6:23 AM
> To: Arturo Salz; sv-bc@eda.org
> Subject: RE: [sv-bc] Case Statement Enhancement Proposal Idea
> 
> Actually not.
> 
> en is only 1 bit wide, and thus so is 'en << a'.
> 
> In Stu's words, GOTCHA!
> 
> Shalom
> 
> 
> >   always_comb y = en << a;
> >
> > All these idioms are equivalent.
> 
> --
> 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 Sun Jul 8 17:35:34 2007

This archive was generated by hypermail 2.1.8 : Sun Jul 08 2007 - 17:36:26 PDT