Re: [sv-bc] LRM dows not address context of streaming expression

From: <jonathan.bromley_at_.....>
Date: Wed Dec 17 2008 - 01:55:17 PST
Rajiv

I've copied this to SV-EC, since the streaming operators
were part of their remit.

> Is context of streaming expressions self determined or not ?
> Consider the following
>   assign out[7:0] = {<< 1 {{>> 1 {3'b110}}}};
> While evaluating this nested streaming expression , when we evaluate 
>   {<<1{{>> 1 {3'b110}}}}
> 
> If self determined,
>  evaluation of leaf part {{>> 1 {3'b110}}}  will be 110
> and similarly final out put of expression will be out [7:0] = 01100000
> 
> If not,
> evaluation of {{>> 1 {3'b110}}}  will be: 11000000 (padding done as 
> stream size is smaller than variable size)
> and final out in this case  out[7:0] =  00000110


This is related to Mantis 1707, which tried to clarify some
of the uncertainty around the streaming operators.  You can 
find the amended text in clause 11.4.14 of P1800-2009 draft 8.

At the time I wrote 1707, there was considerable disagreement
between implementations.  I think there remain some
imperfections in the new version, but it's at least somewhat
clearer than it was.

I believe that the direct answer to your question is that
streaming expressions are neither self- nor context-
determined, but special rules apply to them.  However,
a streaming expression that is a subexpression of another
streaming expression should be first cast to an array of
bit, which effectively makes it self-determined.
-- 
Jonathan Bromley
Consultant

DOULOS - Developing Design Know-how
VHDL * Verilog * SystemC * e * Perl * Tcl/Tk * Project Services

Doulos Ltd. Church Hatch, 22 Market Place, Ringwood, Hampshire, BH24 1AW, 
UK
Tel: +44 (0)1425 471223                   Email: 
jonathan.bromley@doulos.com
Fax: +44 (0)1425 471573                           Web: 
http://www.doulos.com

This message may contain personal views which
are not the views of Doulos Ltd., unless specifically stated.



-- 
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.
Received on Wed Dec 17 01:56:45 2008

This archive was generated by hypermail 2.1.8 : Wed Dec 17 2008 - 01:57:27 PST