RE: [sv-ac] Review of 2088 (covergroups in checker) and 2089 (final in checker)

From: Korchemny, Dmitry <dmitry.korchemny_at_.....>
Date: Thu Dec 06 2007 - 08:35:23 PST
Hi Tom,

 

Unfortunately I haven't managed to thoroughly review your proposals yet.
But I would like mention an important point that needs to be explicitly
addressed, the issue of sampling: where the signals in covergroups and
in final procedures are sampled. In what region does the corresponding
code in the checker execute?

 

Thanks,

Dmitry

 

________________________________

From: owner-sv-ac@server.eda.org [mailto:owner-sv-ac@server.eda.org] On
Behalf Of Seligman, Erik
Sent: Wednesday, December 05, 2007 7:47 PM
To: Eduard Cerny; Thomas.Thatcher@sun.com
Cc: sv-ac@server.eda.org
Subject: RE: [sv-ac] Review of 2088 (covergroups in checker) and 2089
(final in checker)

 

Yeah, it's probably not an issue.  I just wanted to make sure we have
explicitly considered it.

 

________________________________

From: Eduard Cerny [mailto:Eduard.Cerny@synopsys.com] 
Sent: Tuesday, December 04, 2007 2:59 PM
To: Seligman, Erik; Eduard Cerny; Thomas.Thatcher@sun.com
Cc: sv-ac@eda.org
Subject: RE: [sv-ac] Review of 2088 (covergroups in checker) and 2089
(final in checker)

I do not  think so, because you woudl have to do that also for the
assignments and always / initial blocks. I think that it does say that
the checker only infers certaing things from the context, but
essentially lives outside the procedural context, like assertions. No?

 

ed

 

	 

	
________________________________


	From: Seligman, Erik [mailto:erik.seligman@intel.com] 
	Sent: Tuesday, December 04, 2007 4:57 PM
	To: Eduard Cerny; Thomas.Thatcher@sun.com
	Cc: sv-ac@eda.org
	Subject: RE: [sv-ac] Review of 2088 (covergroups in checker) and
2089 (final in checker)

	Well, I obviously posted a bad phrasing... but I think the
question remains:  do we need to explicitly clarify the role (or
non-role) of the procedural code surrounding the checker?

	 

	
________________________________


	From: Eduard Cerny [mailto:Eduard.Cerny@synopsys.com] 
	Sent: Tuesday, December 04, 2007 1:45 PM
	To: Seligman, Erik; Thomas.Thatcher@sun.com
	Cc: sv-ac@eda.org
	Subject: RE: [sv-ac] Review of 2088 (covergroups in checker) and
2089 (final in checker)

	Hi Erik,

	 

	covergroups: there should be no restriction saying that the cg
must be controlled by its explicit clocking event because in checkers
they may often be controlled by the sample() method.

	 

	ed

	 

		 

		
________________________________


		From: owner-sv-ac@eda.org [mailto:owner-sv-ac@eda.org]
On Behalf Of Seligman, Erik
		Sent: Tuesday, December 04, 2007 4:40 PM
		To: Thomas.Thatcher@sun.com
		Cc: sv-ac@eda.org
		Subject: [sv-ac] Review of 2088 (covergroups in checker)
and 2089 (final in checker)

		 

		Hi Tom-- these proposals look good to me overall.  A
couple of comments:

		 

		2088 (covergroups in checker):

		    - 16.18.6: some instances of 'bins' are not
boldfaced, and the 'b' in one 1'b0 is; should fix.

		    - In general, as alluded to in earlier email
conversations, do we have to worry about the fact that by virtue of
being in a checker, the covergroup may be effectively within procedural
code?  I'm wondering if we might want some statement like "The
covergroup's timing shall be controlled only by its explicit clocking
event, regardless of any procedural context in which the checker in
instantiated."  On the other hand, maybe we don't need to bother, since
it's consistent with how concurrent assertions in checkers are treated
anyway.  

		    

		2089 (final in checker):

		    - 16.18.4:  The last sentence reads "There is one
limitation on final procedures inside a checker:  Statements within
final procedures shall not write into free variables."     The phrase
"one limitation" sounds very absolute-- maybe it would be better to
simply state "Statements within final procedures shall not write into
free variables." without the preceding clause.  (Also remember that this
is technically true of *all* final procedures, since ones outside
checkers are never in a scope with legal free variables anyway.) 

		    - Also, referring to the same paragraph:  is it the
case that all code allowed in final procedures outside checkers is also
allowed in final procedures within checkers?  If so, this is a bit
different from the initial_check and always_check procedures described
in the two paragraphs above, which disallow general procedural code.  So
I think we should have an explicit statement clarifying this.  Something
like "All code which is allowed in a non-checker final block is also
allowed in final blocks within checkers."

		 

		 

		 

Erik Seligman

Formal Verification Architect

Corporate Design Solutions
Design Technology and Solutions

M.S. JF4-402                   
2111 NE 25th Ave
Hillsboro, OR 97124 

Phone:   (503) 712-3134

		 

		
		-- 
		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 Thu Dec 6 08:36:11 2007

This archive was generated by hypermail 2.1.8 : Thu Dec 06 2007 - 08:36:20 PST