RE: [sv-cc] What time is returned from an after delay callback

From: Krzysztof Konopko <Krzysztof.Konopko_at_.....>
Date: Thu Mar 13 2008 - 23:06:37 PDT
...and that's the point. Both definitions in LRM place both callbacks in
the same point of simulation cycle (I hope you will see the text below
aligned properly):
 
cbAtStartOfSimTime Callback shall occur
before execution of events in a specified time queue. A callback can be
set for any time, even if no event is present.

cbAfterDelay       Callback shall occur after a specified amount of
time, before execution of events in a specified time queue. A callback
can be set for any time, even if no event is present.

This is the real source of my confusion.

 
________________________________

From: John Shields [mailto:John_Shields@mentor.com] 
Sent: Thursday, March 13, 2008 4:21 PM
To: Krzysztof Konopko; SV-CC
Subject: Re: [sv-cc] What time is returned from an after delay callback


Hi,

I left the CC off my initial reply accidentally, but this was a short
exchange.  The issue should be that the difference in these callbacks is
related to the point in the simulation cycle they are triggered, not
relative or absolute time in the registration.

Regards, John  

Krzysztof Konopko wrote: 

	Personally, I also think that all time related callbacks except
cbAfterDelay should interpret time value as relative but I was confused
about definitons of cbAtStartOfSimTime and cbAfterDelay.
	If the former type registers for relative time (delay) then what
is the difference between the former and the latter?
	Their definitions in Verilog LRM 2005, p. 27.33.2 differ only by
a one phrase: "after a specified amount of time" included in
cbAfterDelay.
	 
	This led me to think that all time-related callbacks except
cbAfterDelay should be registered for absolute time but in this case
errornous situations need to be specified (e.g. registering for past
time etc.).
	 
	Regards,
	Krzysztof Konopko

________________________________

	From: John Shields [mailto:John_Shields@mentor.com] 
	Sent: Thursday, March 13, 2008 3:20 PM
	To: Krzysztof Konopko
	Subject: Re: [sv-cc] What time is returned from an after delay
callback
	
	
	Krzysztof,
	
	We realize that the LRM needs an answer for registration and
when the callback fires.  The LRM is vague. I think the time related
callback registration should expect a relative time, time interval, or
delay in all cases, but this is not an official interpretation of the
committee until we formally discuss it. My statements below are just
input for the discussion.
	
	Regards, John
	
	Krzysztof Konopko wrote: 

		My doubt was about more basic concept: interpretation of
time during callback registration. When I register callback @100 with
time set to 200 then the callback occurs @200 or @300? (time absolute or
relative?)Only cbAfterDelay has clear concept due to "after" keyword in
its name - time is relative but other callbacks are not so clear.
		 
		Returning time during callback execution is another
issue.

________________________________

		From: owner-sv-cc@server.eda.org
[mailto:owner-sv-cc@server.eda.org] On Behalf Of John Shields
		Sent: Wednesday, March 12, 2008 5:42 PM
		To: sv-cc@server.eda.org
		Subject: [sv-cc] What time is returned from an after
delay callback
		
		
		Hi,
		
		We discussed a question from Krzysztof Konopko today
about time related callbacks. We agreed that a Mantis item is needed and
that there was no time to clarify it in the spec. Our sense was that the
callbacks should return absolute time. We though that VHPI had specified
this, but could not confirm it. The entire model for callbacks was more
rigorously specified in VHPI.  We should adopt it's design unless we
feel there is a conflict somewhere.  In this case, it is specified that
any callback that returns time, returns the time the callback triggered,
i.e. absolute time.  In 19.2.1 of 1076, note:
		
		If the VHPI program registering an object callback
provides in the time member of the callback data structure
		a value other than NULL, the tool, upon triggering the
callback function, provides in the time member
		of the callback structure passed to the callback
function a pointer to a time structure representing the time at
		which the trigger event occurred. The tool does not
dereference the value provided by the VHPI program in
		the time member of the callback data structure. If the
VHPI program provides the value NULL in the time
		member of the callback data structure, the value of the
time member of the callback structure passed to the
		callback function is NULL.
		
		We should add this to the initial mantis item.
		
		
		Regards, John
		
		-- 
		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 Thu Mar 13 23:08:12 2008

This archive was generated by hypermail 2.1.8 : Thu Mar 13 2008 - 23:08:32 PDT