RE: [sv-bc] Query about '1

From: Bresticker, Shalom <shalom.bresticker_at_.....>
Date: Tue Jul 08 2008 - 07:12:48 PDT
Hi,
 
One can make a case for claiming that `1 should be evaluated as
self-determined as a port connection, but not using your argument.
 
It is true that simulators give port connection size mismatch warnings.
But the LRM does not require them to do so. The LRM does explicitly say
that port connections are modeled as continuous assignments (unless port
collapsing is performed). In contrast to regular continuous assignments
where size-mismatching is frequently deliberately done, it is relatively
rarely deliberately done on port connections and thus more likely to be
an error.
 
Regards,
Shalom


________________________________

	From: Surya Pratik Saha [mailto:spsaha@cal.interrasystems.com] 
	Sent: Tuesday, July 08, 2008 5:05 PM
	To: Bresticker, Shalom
	Cc: Banerjee, Ayan; sv-bc@eda-stds.org
	Subject: Re: [sv-bc] Query about '1
	
	
	Hi Shalom,
	I have some comment on e.g. <1> answer. Conceptually your answer
is correct. But the answer should be <c>. Because at the time of port
connection, the actual expression should be evaluated in context
insensitive manner. Consider the following e.g:
	module top;
	    wire [2:0] x;
	    test t(x);
	endmodule
	module test(i);
	    input [3:0] i;
	endmodule
	
	All standard simulators gives port connection size mismatch
warning as per LRM. If the port connection is simple continuous
assignment then there is no need to give that warning. Considering that,
if '1 is evaluated in context insensitive manner, then as per SV LRM,
the value will simple one bit 1. Hence the answer should be <c>.
	
	Regards
	Surya


	-------- Original Message  --------
	Subject: Re:[sv-bc] Query about '1
	From: Bresticker, Shalom <shalom.bresticker@intel.com>
<mailto:shalom.bresticker@intel.com> 
	To: Banerjee, Ayan <ayan_banerjee@mentor.com>
<mailto:ayan_banerjee@mentor.com> , sv-bc@eda-stds.org
	Date: Tuesday, July 08, 2008 7:09:33 PM
	

		I think the answers should be:


________________________________

			From: owner-sv-bc@server.eda.org
[mailto:owner-sv-bc@server.eda.org] On Behalf Of Banerjee, Ayan
			Sent: Tuesday, July 08, 2008 3:57 PM
			To: sv-bc@server.eda-stds.org
			Subject: [sv-bc] Query about '1
			
			

			Hi,

			

			I have 3 queries about what should be the
correct behavior for the following 3 cases.

			

			1)

			What should be behavior if '1 is passed to a
port as is done in the following testcase?

			

			module top;

			bottom inst('1);

			endmodule

			

			module bottom(a);

			input [63:0] a;

			

			initial

			    $display("%b", a);

			endmodule

			

			 Should it be a)
1111111111111111111111111111111111111111111111111111111111111111 or

			                    b)
zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz1 or

			                    c)
0000000000000000000000000000000000000000000000000000000000000001

			

			[SB] a. This should be treated as the continuous
assignment "bottom.a = '1" . 

			

			

			2) What should be the behavior if '1 is used as
parameter value

			module top;

			parameter [63:0] p1 = '1;

			initial

			    $display("%b",p1);

			endmodule

			

			Should it be a)
1111111111111111111111111111111111111111111111111111111111111111 or

			                  b)
0000000000000000000000000000000000000000000000000000000000000001

			

			[SB] a. Treated as assignment "p1[63:0] = '1". 

			

			3) Similar to 2 but in a more general case what
should be the value of parameter if range is specified which is more
than 32 but the expression assigned is of 32 bit. Should the expression
be evaluated in 32 bit or with the size of parameter?

			

			module top;

			parameter [63:0] p1 = 1'b1 << 63;

			initial

			    $display("%b",p1);

			endmodule

			

			Should it be a)
0000000000000000000000000000000000000000000000000000000000000000  or

			                  b)
1000000000000000000000000000000000000000000000000000000000000000

			

			The behavior of simulators are different in the
above cases. Thanks in advance for your help.

			 [SB] With the size of the parameter. The answer
should be b. We discussed this in the past.

			

			Shalom

			

			

			

			

			-Regards,

			Ayan

	
---------------------------------------------------------------------
		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, and is
believed to be clean.
Received on Tue Jul 8 07:16:37 2008

This archive was generated by hypermail 2.1.8 : Tue Jul 08 2008 - 07:16:50 PDT