Re: reset_signal_is

From: Philipp A. Hartmann <philipp.hartmann@offis.de>
Date: Thu May 20 2010 - 11:08:42 PDT

John,

for modelling convenience, I can see the benefit of these variants now.
 It just never occurred to me to use it this way. So I'm fine with this.

Regarding multi-ports for all variants, it would be enough to have

template< typename N >
void reset_signal_is( const sc_port<sc_signal_in_if<bool>,N>& port
                    , bool level );
template< typename N >
void reset_signal_is( const sc_port<sc_signal_inout_if<bool>,N>& port
                    , bool level );

since sc_out<> is also derived from the generic inout port, right?
An implementation of course could still drop the templates internally.

Regards,
Philipp

On 20/05/10 18:50, john.aynsley@doulos.com wrote:
> Philipp, All,
>
> Within an sc_module you could have
> - a module instance containing a reset generator driving an sc_out port of
> that instance
> - a synthesizable SC_CTHREAD that reads the same reset
> - and the reset could be an output port of that sc_module, and hence an
> sc_inout port
> - ultimately bound to an sc_signal instance at the top level of the
> hierarchy
>
> So I can see that for the sake of generality we might want to allow the
> full set of 4 reset_signal_is declarations shown below.
>
> As for resets with multi-ports, does anyone else have an opinion?
>
> John A
>
>
>
>
> From:
> "Philipp A. Hartmann" <philipp.hartmann@offis.de>
> To:
> "john.aynsley@doulos.com" <john.aynsley@doulos.com>
> Cc:
> systemc-p1666-technical@eda.org
> Date:
> 10/05/2010 19:18
> Subject:
> Re: reset_signal_is
>
>
>
> John, All,
>
> I've just noticed, that in the current OSCI internal version of the
> simulator the other boolean signal ports are supported for resets as well:
>
> void reset_signal_is( const sc_in<bool>& port, bool level );
> void reset_signal_is( const sc_inout<bool>& port, bool level ); // <--
> void reset_signal_is( const sc_out<bool>& port, bool level ); // <--
> void reset_signal_is( const sc_signal_in_if<bool>& iface, bool level );
>
> Actually, I do not really like to have sc_(in)out as reset sources, but
> this is the way it looks like in the 2.3.16jun09_beta package.
>
> Regarding the superset, I agree wrt. the signal variant. In the light
> of multiple possible reset signals supported by the Process Control
> extensions, I would even prefer to have a superset for the port variant
> supporting multiports. This would simplify the registration of
> multiple reset sources (sharing the same level sensitivity):
>
> template< typename N >
> void reset_signal_is( const sc_port<sc_signal_in_if<bool>,N>& , bool );
>
> (An implementation could internally use a mechanism like sc_port_b<...>
> to avoid the template function.)
>
> What do you think?
>
> Greetings from Oldenburg,
> Philipp
>
> On 07/05/10 12:51, john.aynsley@doulos.com wrote:
>>
>> Bishnupriya raised the following point a while back:
>>
>> 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 process control extensions spec uses the above signatures)
>>
>> 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?
>

-- 
Philipp A. Hartmann
Hardware/Software Design Methodology Group
OFFIS
R&D Division Transportation | FuE-Bereich Verkehr
Escherweg 2 · 26121 Oldenburg · Germany
Phone/Fax: +49-441-9722-420/282 · PGP: 0x9161A5C0 · http://www.offis.de/
-- 
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.
Received on Thu May 20 11:09:05 2010

This archive was generated by hypermail 2.1.8 : Thu May 20 2010 - 11:09:06 PDT