...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