Re: [sv-bc] constant_range_expression in constant_primary

From: Brad Pierce <brad_pierce@acm.org>
Date: Wed Jan 26 2011 - 10:43:09 PST

According to 10.10, "An unpacked array concatenation may appear as the
source expression in
an assignment-like context, and shall not appear in any other context."

-- Brad

On Wed, Jan 26, 2011 at 10:28 AM, Bresticker, Shalom <
shalom.bresticker@intel.com> wrote:

> yes
>
>
>
> *From:* Paul Graham [mailto:pgraham@oasys-ds.com]
> *Sent:* Wednesday, January 26, 2011 8:06 PM
> *To:* Bresticker, Shalom
> *Cc:* sv-bc@eda.org
> *Subject:* Re: [sv-bc] constant_range_expression in constant_primary
>
>
>
> Am I correct in assuming that the concatenation indexing syntax {...}[] is
> intended only for (packed array) concatenations and not for unpacked array
> concatenations?
>
> Paul
> ----- Original Message -----
> From: "Shalom Bresticker" <shalom.bresticker@intel.com>
> To: "Laurence S Bisht" <laurence.s.bisht@intel.com>, sv-bc@eda.org
> Cc: sv-ac@eda.org
> Sent: Wednesday, January 26, 2011 6:38:09 AM
> Subject: RE: [sv-bc] constant_range_expression in constant_primary
>
> You can't write 4'b1100[2:1], but rather {4'b1100}[2:1].
>
>
>
> See 11.4.12:
>
>
>
> "One or more bits of a concatenation can be selected as if the
> concatenation were a packed array with the range [n-1:0]. Such a select
> shall not be legal as a net_lvalue, variable_lvalue or in any equivalent
> use, such as on the left-hand side of an assignment. Example:
>
> * *
>
> *byte *a, b ;
>
> *bit *[1:0] c ;
>
> c = {a + b}[1:0]; // 2 lsb's of sum of a and b"
>
>
>
> Shalom
>
>
>
> *From:* owner-sv-bc@eda.org [mailto:owner-sv-bc@eda.org] *On Behalf Of *Bisht,
> Laurence S
> *Sent:* Wednesday, January 26, 2011 1:22 PM
> *To:* sv-bc@eda.org
> *Cc:* av-ac@eda.org
> *Subject:* [sv-bc] constant_range_expression in constant_primary
>
>
>
> Hello,
>
>
>
> I am trying to understand why in *constant_primary* there exists [
> constant_range_expression] after *constant_concatenation* ? or after *
> specparam_identifier*?
>
>
>
> constant_primary ::=
>
> primary_literal
>
> | ps_parameter_identifier constant_select
>
> | specparam_identifier [ *[ *constant_range_expression *] *]
>
> | genvar_identifier35
>
> | [ package_scope | class_scope ] enum_identifier
>
> | *constant_concatenation [ **[ **constant_range_expression **] **]*
>
> | constant_multiple_concatenation [ *[ *constant_range_expression *] *]
>
> | constant_function_call
>
> | constant_let_expression
>
> | *( *constant_mintypmax_expression *)*
>
> | constant_cast
>
> | constant_assignment_pattern_expression
>
> | type_reference36
>
>
>
> My immediate guess is to be able to write 4’b1100[2:1].
>
>
>
> However, I am sure that there exists a better explanation, can you please
> help?
>
>
>
> Thanks,
>
> Laurence
>
> ---------------------------------------------------------------------
> 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.
>
> ---------------------------------------------------------------------
> 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.
> ---------------------------------------------------------------------
> 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.
>

-- 
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.
Received on Wed Jan 26 10:57:27 2011

This archive was generated by hypermail 2.1.8 : Wed Jan 26 2011 - 10:57:34 PST