RE: reset_signal_is

From: Stuart Swan <stuart@cadence.com>
Date: Wed Mar 31 2010 - 15:30:28 PDT

John-

I've reviewed this and discussed internally. We are in favor of
all of the proposed changes (especially since we proposed two of them !)
EXCEPT for the very first one: reset_signal_is( const sc_signal<sc_logic>&, bool).

The problem with allowing 4 state reset signals lies in specifying the semantics
for transitions involving X and Z, and the problem becomes especially severe
when async resets are added. Our thinking is that there is no reasonable semantic
that could be specified in the LRM in these cases (and saying that it is left unspecified
is itself unreasonable). So we think it is better to not allow 4 state resets at all.

Thanks
Stuart

From: owner-systemc-p1666-technical@eda.org [mailto:owner-systemc-p1666-technical@eda.org] On Behalf Of john.aynsley@doulos.com
Sent: Wednesday, March 31, 2010 6:57 AM
To: systemc-p1666-technical@eda.org
Subject: reset_signal_is

There have been several enhancement requests regarding reset_signal_is:

* There is no reset_signal_is( const sc_signal<sc_logic>&, bool). If clocking can be specified via an sc_signal<bool> or sc_signal<sc_logic>, the reset should be specifiable in the same terms. A counter-argument is that sc_clock is derived from sc_signal<bool>, so using <bool> for resets is consistent.

* The LRM specifies 2 signatures for reset_signal_is

  void reset_signal_is( const sc_in<bool>& , bool );
  void reset_signal_is( const sc_signal<bool>& , bool );

The 4feb06 kit implements the following 2 signatures

   void reset_signal_is( const sc_in<bool>& port, bool level );
   void reset_signal_is( const sc_signal_in_if<bool>& iface, bool level ); <---------- this is a superset of what the LRM says

Should the LRM be modified (in the future) to allow the superset that the 4feb06 kit allows?

* We'd like to specify more than one "reset_signal_is" for one SC_THREAD.
[The Cadence process control spec supports multiple reset_signal_is() specification for a single thread (Section 2.8.3).]

*.The syntax for asynchronous reset should be defined in LRM.
[The Cadence process control spec adds asynch_reset_signal_is() and sync_reset_on/off]

Comments on any or all of the above?

Thanks,

John A

--
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 Wed Mar 31 15:31:05 2010

This archive was generated by hypermail 2.1.8 : Wed Mar 31 2010 - 15:31:07 PDT