RE: [sv-bc] Const cast of Mantis 2398

From: Feldman, Yulik <yulik.feldman_at_.....>
Date: Wed Aug 13 2008 - 07:38:33 PDT
The indexes in a part select (the select in form [a:b]) must be
constant; otherwise you wouldn't know the width of the selection, which
must be constant. There are other kinds of selects where the indexes do
not have to be constant.

 

--Yulik.

 

From: owner-sv-bc@server.eda.org [mailto:owner-sv-bc@server.eda.org] On
Behalf Of Seligman, Erik
Sent: Wednesday, August 13, 2008 5:29 PM
To: Bresticker, Shalom; Brad Pierce; sv-bc@server.eda.org
Cc: sv-sc@eda.org
Subject: RE: [sv-bc] Const cast of Mantis 2398

 

Hold on-- does the index of an expression have to be an elaboration-time
constant?  Wouldn't this invalidate examples in 1900 and 2398, and in
fact defeat the entire concept of assertions & checkers in procedural
code as described in these proposals, since we would not be able to
effectively use procedural variables in indexes?

 

________________________________

From: owner-sv-bc@server.eda.org [mailto:owner-sv-bc@server.eda.org] On
Behalf Of Bresticker, Shalom
Sent: Tuesday, August 12, 2008 11:42 PM
To: Brad Pierce; sv-bc@server.eda.org
Subject: RE: [sv-bc] Const cast of Mantis 2398

Yes, that is correct.

 

Shalom

	 

	
________________________________


	From: owner-sv-bc@server.eda.org
[mailto:owner-sv-bc@server.eda.org] On Behalf Of Brad Pierce
	Sent: Wednesday, August 13, 2008 9:34 AM
	To: sv-bc@server.eda.org
	Subject: [sv-bc] Const cast of Mantis 2398

	As I understand the new const'() cast of

	 

	   http://www.eda-stds.org/svdb/view.php?id=2398

	 

	the following part-select would be illegal

	 

	       for (int i = 3; i >= 0; i--) begin

	      y[ const'(i)*2 + 1 : const'(i)*2 ] = i;

	   end

	 

	because const'(i) would be like a simulation-time const
variable, not like an elaboration-time constant expression.

	 

	An expression may be changed to a constant with a const cast.

	 

	             const'(x)

	 

	When casting an expression as a constant, the type of the
expression to be cast shall pass through unchanged. The only effect is
to treat the value as though it had been used to define a const variable
of the type of the expression.

	 

	Correct understanding?

	 

	n  Brad

	
	-- 
	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 <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 Wed Aug 13 07:41:41 2008

This archive was generated by hypermail 2.1.8 : Wed Aug 13 2008 - 07:42:44 PDT