Bishnupriya,
I think we should do this, i.e. make reset_signal_is and 
async_reset_signal legal for method processes. In either case the effect 
would be to "reset the sensitivity" only, because there cannot be any call 
stack to unwind.
This approach seems consistent with allowing sync_reset_on and throw_it on 
method processes.
Is everyone okay with that?
John A
From:
Bishnupriya Bhattacharya <bpriya@cadence.com>
To:
"john.aynsley@doulos.com" <john.aynsley@doulos.com>
Cc:
"systemc-p1666-technical@eda.org" <systemc-p1666-technical@eda.org>
Date:
03/09/2010 11:27
Subject:
RE: async_reset_signal_is
John,
 
This has a historical reason. Originally, reset_signal_is() and 
async_reset_signal_is() were not a part of the core constructs, and these 
could achieve their functionality using the core constructs. 
reset_signal_is() built upon sync_reset_on()/sync_reset_off(). Since the 
latter is not allowed in methods, reset_signal_is() is also not allowed on 
methods. async_reset_signal_is() built upon a combination of 
reset()+sync_reset_on()/sync_reset_off(). Since reset() is allowed on 
methods, async_reset_signal_is() is also allowed on methods.
 
Subsequently, based on Andy Goodrich's input, it was decided that implicit 
resets (via reset_signal_is() and async_reset_signal_is()) also have to be 
made a part of the core constructs so that when sync_reset_off() is 
specified on a process, it does not go back to a normal state if implicit 
resets are still active on it. 
 
I'm ok with making reset_signal_is() legal on a method process, and have 
the semantics same as that of reset() and async_reset_signal_is() - i.e. 
cancel any dynamic sensitivity on the method, and restore its static 
sensitivity. This is what you are proposing, right? 
 
Thanks,
-Bishnupriya
From: john.aynsley@doulos.com [mailto:john.aynsley@doulos.com] 
Sent: Thursday, September 02, 2010 10:04 PM
To: Bishnupriya Bhattacharya; systemc-p1666-technical@eda.org
Subject: async_reset_signal_is
Bishnupriya, 
It's me again ;-) 
Why is calling reset_signal_is for a method process an error, while 
async_reset_signal_is is permitted? I don't get it. 
async_reset_signal_is specifies a signal and signals have delta cycle 
semantics, so even if the method process itself writes to that signal, it 
would not have any effect beyond resetting the sensitivity. But in that 
respect, both reset_signal_is and async_reset_signal_is would cancel any 
dynamic sensitivity and restore the static sensitivity, so why is only 
async_ permitted? 
Thanks, 
John A 
 
-- This message has been scanned for viruses and dangerous content by MailScanner, and is believed to be clean.Received on Mon Sep 6 05:18:47 2010
This archive was generated by hypermail 2.1.8 : Mon Sep 06 2010 - 05:18:48 PDT