RE: [sv-bc] streaming operator example

From: Rich, Dave <Dave_Rich_at_.....>
Date: Thu Jan 04 2007 - 12:42:59 PST
I like that wording.

> -----Original Message-----
> From: Greg Jaxon [mailto:Greg.Jaxon@synopsys.com]
> Sent: Thursday, January 04, 2007 12:37 PM
> To: Rich, Dave
> Cc: Subhamoy Pal; sv-bc@eda-stds.org; sv-ec@eda-stds.org
> Subject: Re: [sv-bc] streaming operator example
> 
> The text currently says:
> > The stream operator determines the order in which data are streamed:
>>
> causes data to be streamed in leftto-
> > right order, while << causes data to be streamed in right-to-left
order.
> If a slice size is specified, then the
> > data to be streamed are first broken up into slices with the
specified
> number of bits, and then the slices are
> > streamed in the specified order.
> 
> Assuming the example is not blatantly wrong, it may have been written
> to settle the textual ambiguity about whether slicing happens
> "in the specified order", or "first" (before considering the
> direction of streaming).  Which reading is the most natural
> handling of endianness if the datasize != 0 mod grainsize?
> 
> My answer: Neither is natural for the odd-sized cases, because
> the "final" grain changes value.  BUT endian-sensitive slicing
> has one desirable property:  {<< byte ...} and {>> byte ...}
> become inverse functions.
> 
> {<< byte {6'b11_0101}} is either   0111_01  or  0101_11
>                {>> byte {that} is   01_0111  or  11_0101
> 
> I think the LRM example and the idea that these are complimentary
> functions suggests that the word "first" should be dropped and
> the comma in the text should be moved:
> 
> "data to be streamed are broken up into slices with the specified
> number of bits and the slices are streamed, both in the specified
> order."
> 
> Greg Jaxon
> 
> Rich, Dave wrote:
> > I believe the intent is that the slicing begins with the MSB. I will
> > enter a mantis issue for this.
> >
> >
> >
> > Dave
> >
> >
> >
> >
------------------------------------------------------------------------
> >
> > *From:* owner-sv-bc@server.eda.org
[mailto:owner-sv-bc@server.eda.org]
> > *On Behalf Of *Subhamoy Pal
> > *Sent:* Thursday, January 04, 2007 10:02 AM
> > *To:* sv-bc@server.eda-stds.org; sv-ec@server.eda-stds.org
> > *Subject:* [sv-bc] streaming operator example
> >
> >
> >
> > In SV LRM 1800-2005 section no 8.17,
> >
> >
> >
> > I found the following example:
> >
> >
> >
> > "{ << 4 { 6'b11_0101 }} // generates stream 'b0101_11"
> >
> >
> >
> > This, I think, is wrong.
> >
> >
> >
> > "If a slice size is specified, then the data to be streamed are
first
> > broken up into slices with the specified number of bits, and then
the
> > slices are
> >
> > streamed in the specified order."
> >
> >
> >
> > However the verse does not mention the order of breaking up, so the
> > above stream can be broken up as 'b1101_01 (Left->right) or
'b11_0101
> > (Right->left). Now stream operator can make the result stream either
as
> > 'b01_1101 or as 'b0101_11.
> >
> >
> >
> > Why the first one is not chosen here is not clear to me. Can anyone
> > explain on this?
> >
> >
> >
> >
> >
> > --Subhamoy
> >
> >
> >
> >
> > --
> > 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 Jan 4 12:43:38 2007

This archive was generated by hypermail 2.1.8 : Thu Jan 04 2007 - 12:43:43 PST