RE: [sv-bc] RE: [sv-ec] streaming operator unpack operation

From: Kapil Kaushik <kkapil_at_.....>
Date: Wed Mar 12 2008 - 22:55:28 PDT
Hi Jonathan,

Thanks a lot for your feedback.

Regards,
Kapil

-----Original Message-----
From: Jonathan Bromley [mailto:jonathan.bromley@doulos.com] 
Sent: Thursday, March 13, 2008 11:16 AM
To: Kapil Kaushik
Cc: Bresticker, Shalom; sv-ec@eda.org
Subject: RE: [sv-bc] RE: [sv-ec] streaming operator unpack operation

Kapil,

> Could you please confirm if what I am concluding
> is correct?

No, I can't.

When I wrote the clarification in Mantis 1707, two things
went wrong:

(1) I tried to write-up the de facto behaviour of tools.
Unfortunately I didn't check existing tool behaviour 
sufficiently carefully, and did not notice that the
existing implementations disagree with one another.  So,
whatever I wrote would be wrong for at least some tools.

(2) The description in the LRM, and (to a slightly lesser
extent) my description in 1707, is incomplete or unclear
about right-to-left unpacking from a vector that is 
larger than the unpack target.

My personal opinion is that you are correct, and (as
Shalom said) one of the existing examples is wrong.
My reasoning for this is that I believe packing and
unpacking should be exactly complementary operations,
so that the following code fragment:

  begin
    logic [M:0] wide_vector;
    wide_vector = {STREAM_OP{some_concatenation}};
    {STREAM_OP{some_concatenation}} = wide_vector;
  end

should not in any way alter the members of the 
concatenation, for any STREAM_OP such as <<, >>,
<<4, <<byte etc.  At present I can not find any tool
that shows this complementarity on all possible cases.

I have asked interested members of sv-ec to consider
the behaviour of current tools and to try to reach a
consensus about what they want to see.

Sorry I can't be more positive.
-- 
Jonathan Bromley


-- 
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.
Received on Wed Mar 12 22:55:53 2008

This archive was generated by hypermail 2.1.8 : Wed Mar 12 2008 - 22:56:14 PDT