27 #ifndef SC_FIFO_PORTS_H
28 #define SC_FIFO_PORTS_H
45 :
public sc_port<sc_fifo_in_if<T>,0,SC_ONE_OR_MORE_BOUND>
113 { (*this)->read( value_, seg_id ); }
121 {
return (*this)->read( seg_id ); }
127 {
return (*this)->nb_read( value_ ); }
133 {
return (*this)->num_available(); }
139 {
return (*this)->data_written_event(); }
150 virtual const char*
kind()
const
151 {
return "sc_fifo_in"; }
171 :
public sc_port<sc_fifo_out_if<T>,0,SC_ONE_OR_MORE_BOUND>
239 { (*this)->write( value_, seg_id ); }
245 {
return (*this)->nb_write( value_ ); }
251 {
return (*this)->num_free(); }
257 {
return (*this)->data_read_event(); }
268 virtual const char*
kind()
const
269 {
return "sc_fifo_out"; }
bool nb_read(data_type &value_)
sc_port_b< out_if_type > out_port_type
Abstract base class for class sc_port.
sc_fifo_out(out_if_type &interface_)
sc_fifo_out(const char *name_, out_if_type &interface_)
int num_available() const
sc_fifo_out(const char *name_)
virtual const char * kind() const
const sc_event & data_written_event() const
sc_port_b< in_if_type > in_port_type
void read(data_type &value_, sc_segid seg_id)
A new parameter segment ID is added for the out-of-order simulation.
Generic port class and base class for other port classes.
sc_fifo_out_if< data_type > if_type
sc_fifo_in(const char *name_, in_port_type &parent_)
sc_fifo_in_if< data_type > if_type
sc_fifo_in(const char *name_)
sc_fifo_out(const char *name_, out_port_type &parent_)
sc_port< if_type, 0, SC_ONE_OR_MORE_BOUND > base_type
sc_fifo_out(const char *name_, this_type &parent_)
sc_fifo_in(const char *name_, in_if_type &interface_)
sc_fifo_out(this_type &parent_)
sc_fifo_out< data_type > this_type
sc_fifo_in(this_type &parent_)
sc_fifo_in(in_port_type &parent_)
sc_fifo_in< data_type > this_type
data_type read(sc_segid seg_id)
A new parameter segment ID is added for the out-of-order simulation.
virtual const char * kind() const
bool nb_write(const data_type &value_)
sc_port< if_type, 0, SC_ONE_OR_MORE_BOUND > base_type
void write(const data_type &value_, int seg_id)
A new parameter segment ID is added for the out-of-order simulation.
virtual const sc_event & data_written_event() const =0
const sc_event & data_read_event() const
sc_fifo_in(in_if_type &interface_)
sc_event_finder & data_read() const
sc_fifo_out(out_port_type &parent_)
virtual const sc_event & data_read_event() const =0
segment id currently only used for sc_fifo::read(...) as a bug fix
sc_fifo_in(const char *name_, this_type &parent_)
sc_event_finder & data_written() const