RE: async_reset_signal_is

From: <john.aynsley@doulos.com>
Date: Mon Sep 06 2010 - 05:18:14 PDT

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