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, and is believed to be clean.Received on Mon Jun 14 05:15:20 2010
This archive was generated by hypermail 2.1.8 : Mon Jun 14 2010 - 05:17:05 PDT