Re: [sv-bc] Type of a concat expression

From: Gordon Vreugdenhil <gordonv@model.com>
Date: Mon Jun 14 2010 - 09:39:44 PDT

Have you looked at Table 11-21? And generally Section 11.6 - 11.8 in
1800-2009?

If you have a specific question about a specific rule application, please
do ask. But first, carefully work through Clause 11; there are many rules
covering self-determined result types for expressions.

The rules in SV are not trivial, but they are in the LRM.

Gord.

Surya Pratik Saha wrote:
> Hi Shalom,
> Thanks for your response. But I think we should have a list of all self
> determined result type of an expression. For e.g. what is the type of a
> binary expression?
>
> Regards
> Surya
>
>
>
> -------- Original Message --------
> Subject: Re:[sv-bc] Type of a concat expression
> From: Bresticker, Shalom <shalom.bresticker@intel.com>
> To: Surya Pratik Saha <spsaha@cal.interrasystems.com>, sv-bc@eda.org
> <sv-bc@eda.org>
> Cc: "'Pradip Mukhopadhyay'" <pradip@cal.interrasystems.com>, Subhankar
> Ghosh <sghosh@cal.interrasystems.com>
> Date: Monday, June 14, 2010 5:44:29 PM
>> The LRM says (11.4.12)
>>
>> "The concatenation is treated as a packed vector of bits...One or more
>> bits of a concatenation can be selected as if the concatenation were a
>> packed array with the range [n-1:0]."
>>
>> and (11.8.1)
>>
>> "— Concatenate results are unsigned, regardless of the operands."
>>
>> Note that 'byte' is signed.
>>
>> Shalom
>>
>>
>>
>> ------------------------------------------------------------------------
>> *From:* owner-sv-bc@eda.org [mailto:owner-sv-bc@eda.org] *On
>> Behalf Of *Surya Pratik Saha
>> *Sent:* Monday, June 14, 2010 3:04 PM
>> *To:* sv-bc@eda.org
>> *Cc:* 'Pradip Mukhopadhyay'; Subhankar Ghosh
>> *Subject:* [sv-bc] Type of a concat expression
>>
>> Hi,
>> What should be the return value of a "type ({b1, b2})"? LRM
>> section 6.23 (Type operator) mentions following text:
>> *The type operator applied to an expression shall represent the
>> self-determined result type of that expression.
>>
>> *But I could not find anywhere self-determined result type defined
>> of an expression.
>> One of the standard simulators which supports type operator works
>> in its own way.
>>
>> Here is a sample example:
>> module top(input bit in1, input bit[31:0] in2, output
>> bit [7:0] out1);
>> bit [3:0] f0, f1;
>> bit [3:0] l1;
>> initial
>> begin : blk
>> if(type ({f0, f1}) == type (byte))
>> out1 = 1;
>> else out1 = 3;
>> end
>> endmodule
>>
>> --
>> Regards
>> Surya
>>
>>
>>
>> --
>> This message has been scanned for viruses and
>> dangerous content by *MailScanner* <http://www.mailscanner.info/>,
>> 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* <http://www.mailscanner.info/>, and is
> believed to be clean.

-- 
--------------------------------------------------------------------
Gordon Vreugdenhil                                503-685-0808
Model Technology (Mentor Graphics)                gordonv@model.com
-- 
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.
Received on Mon Jun 14 09:40:07 2010

This archive was generated by hypermail 2.1.8 : Mon Jun 14 2010 - 09:41:44 PDT