sy_process_constructors.hpp
Go to the documentation of this file.
1755 WRITE_MULTIPORT(oport1,abst_ext<T1>(std::get<0>(in_val->unsafe_from_abst_ext()))) // write to the output 1
1756 WRITE_MULTIPORT(oport2,abst_ext<T2>(std::get<1>(in_val->unsafe_from_abst_ext()))) // write to the output 2
1824 WRITE_MULTIPORT(oport[i],abst_ext<T1>(in_val->unsafe_from_abst_ext()[i])) // write to the output i
SY_in< std::tuple< abst_ext< Ts >... > > iport1
port for the input channel
Definition: sy_process_constructors.hpp:1852
Process constructor for a hold process.
Definition: sy_process_constructors.hpp:942
SY_out< T > oport1
port for the output channel
Definition: sy_process_constructors.hpp:946
T unsafe_from_abst_ext() const
Unsafely converts a value from an extended value assuming it is present.
Definition: abst_ext.hpp:54
std::string forsyde_kind() const
Specifying from which process constructor is the module built.
Definition: sy_process_constructors.hpp:1865
SY_out< T2 > oport2
port for the output channel 2
Definition: sy_process_constructors.hpp:1717
SY_in< T > iport1
port for the input channel
Definition: sy_process_constructors.hpp:1976
SY_out< OT > oport1
port for the output channel
Definition: sy_process_constructors.hpp:653
SY_in< T > iport1
port for the input channel
Definition: sy_process_constructors.hpp:1342
SY_in< T1 > iport1
port for the input channel 1
Definition: sy_process_constructors.hpp:130
comb(const sc_module_name &_name, const functype &_func)
The constructor requires the module name.
Definition: sy_process_constructors.hpp:61
SY_in< T > iport1
port for the input channel
Definition: sy_process_constructors.hpp:868
SY_out< T > oport1
port for the output channel
Definition: sy_process_constructors.hpp:498
std::function< void(std::string &, const abst_ext< T > &)> functype
Type of the function to be passed to the process constructor.
Definition: sy_process_constructors.hpp:1417
The group process with one input and one absent-extended output.
Definition: sy_process_constructors.hpp:1973
SY_in< T > iport1
port for the input channel
Definition: sy_process_constructors.hpp:945
std::array< SY_out< T1 >, N > oport
port array for the output channels
Definition: sy_process_constructors.hpp:1785
SY_in< T > iport1
port for the input channel
Definition: sy_process_constructors.hpp:1414
SY_in< T2 > iport2
port for the input channel 2
Definition: sy_process_constructors.hpp:217
fanout(const sc_module_name &_name)
The constructor requires the module name.
Definition: sy_process_constructors.hpp:2071
std::tuple< SY_in< Ts >... > iport
tuple of ports for the input channels
Definition: sy_process_constructors.hpp:1637
Process constructor for a file_sink process.
Definition: sy_process_constructors.hpp:1411
std::function< void(abst_ext< T > &, const std::string &)> functype
Type of the function to be passed to the process constructor.
Definition: sy_process_constructors.hpp:1190
std::function< void(abst_ext< double > &, const abst_ext< double > &)> functype
Type of the function to be passed to the process constructor.
Definition: sy_process_constructors.hpp:1098
Process constructor for a fill process.
Definition: sy_process_constructors.hpp:865
Implements the Absent-extended values.
comb3(const sc_module_name &_name, const functype &_func)
The constructor requires the module name.
Definition: sy_process_constructors.hpp:231
std::string forsyde_kind() const
Specifying from which process constructor is the module built.
Definition: sy_process_constructors.hpp:518
sink(const sc_module_name &_name, const functype &_func)
The constructor requires the module name.
Definition: sy_process_constructors.hpp:1351
Process constructor for a delay element.
Definition: sy_process_constructors.hpp:494
SY_out< T0 > oport1
port for the output channel
Definition: sy_process_constructors.hpp:132
SY_out< std::tuple< abst_ext< T1 >, abst_ext< T2 > > > oport1
port for the output channel
Definition: sy_process_constructors.hpp:1501
std::string forsyde_kind() const
Specifying from which process constructor is the module built.
Definition: sy_process_constructors.hpp:340
SY_in< T1 > iport1
port for the input channel 1
Definition: sy_process_constructors.hpp:216
Process constructor for a n-delay element.
Definition: sy_process_constructors.hpp:570
std::string forsyde_kind() const
Specifying from which process constructor is the module built.
Definition: sy_process_constructors.hpp:1047
SY_in< T1 > iport1
port for the input channel 1
Definition: sy_process_constructors.hpp:310
Process constructor for a combinational process with four inputs and one output.
Definition: sy_process_constructors.hpp:307
SY_in< T4 > iport4
port for the input channel 4
Definition: sy_process_constructors.hpp:313
group(const sc_module_name &_name, const unsigned long &samples)
The constructor requires the module name.
Definition: sy_process_constructors.hpp:1984
Process constructor for a constant source process.
Definition: sy_process_constructors.hpp:1020
std::string forsyde_kind() const
Specifying from which process constructor is the module built.
Definition: sy_process_constructors.hpp:1997
SY_in< T1 > iport1
port for the input channel 1
Definition: sy_process_constructors.hpp:1499
Process constructor for a combinational process with an array of inputs and one output.
Definition: sy_process_constructors.hpp:408
SY_out< T > oport1
port for the output channel
Definition: sy_process_constructors.hpp:1187
moore(const sc_module_name &_name, const ns_functype &_ns_func, const od_functype &_od_func, const ST &init_st)
The constructor requires the module name.
Definition: sy_process_constructors.hpp:666
file_source(sc_module_name _name, functype _func, std::string file_name)
The constructor requires the module name.
Definition: sy_process_constructors.hpp:1196
Process constructor for a Mealy machine.
Definition: sy_process_constructors.hpp:761
std::string forsyde_kind() const
Specifying from which process constructor is the module built.
Definition: sy_process_constructors.hpp:1513
Implements the abstract process in the synchronous Model of Computation.
SY_out< T > oport1
port for the output channel
Definition: sy_process_constructors.hpp:1023
std::string forsyde_kind() const
Specifying from which process constructor is the module built.
Definition: sy_process_constructors.hpp:2076
SY_in< T > iport1
port for the input channel
Definition: sy_process_constructors.hpp:2064
std::array< SY_in< T1 >, N > iport
port for the input channel 1
Definition: sy_process_constructors.hpp:411
bool is_present() const
Checks for the presence of a value.
Definition: abst_ext.hpp:85
SY_out< T > oport1
port for the output channel
Definition: sy_process_constructors.hpp:869
std::string forsyde_kind() const
Specifying from which process constructor is the module built.
Definition: sy_process_constructors.hpp:887
std::tuple< SY_out< Ts >... > oport
tuple of ports for the output channels
Definition: sy_process_constructors.hpp:1853
std::string forsyde_kind() const
Specifying from which process constructor is the module built.
Definition: sy_process_constructors.hpp:598
std::function< void(abst_ext< OT > &, const ST &)> od_functype
Type of the output-decoding function to be passed to the process constructor.
Definition: sy_process_constructors.hpp:659
SY_out< T1 > oport1
port for the output channel 1
Definition: sy_process_constructors.hpp:1716
std::string forsyde_kind() const
Specifying from which process constructor is the module built.
Definition: sy_process_constructors.hpp:1439
source(const sc_module_name &_name, const functype &_func, const abst_ext< T > &init_val, const unsigned long long &take=0)
The constructor requires the module name.
Definition: sy_process_constructors.hpp:1104
std::function< void(abst_ext< T0 > &, const abst_ext< T1 > &, const abst_ext< T2 > &, const abst_ext< T3 > &)> functype
Type of the function to be passed to the process constructor.
Definition: sy_process_constructors.hpp:224
std::function< void(abst_ext< T0 > &, const abst_ext< T1 > &, const abst_ext< T2 > &, const abst_ext< T3 > &, const abst_ext< T4 > &)> functype
Type of the function to be passed to the process constructor.
Definition: sy_process_constructors.hpp:320
SY_in< T2 > iport2
port for the input channel 2
Definition: sy_process_constructors.hpp:1500
SY_in< IT > iport1
port for the input channel
Definition: sy_process_constructors.hpp:764
SY_out< T > oport1
port for the output channel
Definition: sy_process_constructors.hpp:574
Process constructor for a source process.
Definition: sy_process_constructors.hpp:1092
SY_out< T0 > oport1
port for the output channel
Definition: sy_process_constructors.hpp:314
std::array< SY_in< T1 >, N > iport
port array for the input channels
Definition: sy_process_constructors.hpp:1574
Process constructor for a combinational process with three inputs and one output. ...
Definition: sy_process_constructors.hpp:213
SY_in< std::tuple< abst_ext< T1 >, abst_ext< T2 > > > iport1
port for the input channel
Definition: sy_process_constructors.hpp:1715
std::string forsyde_kind() const
Specifying from which process constructor is the module built.
Definition: sy_process_constructors.hpp:1294
std::string forsyde_kind() const
Specifying from which process constructor is the module built.
Definition: sy_process_constructors.hpp:244
SY_out< T0 > oport1
port for the output channel
Definition: sy_process_constructors.hpp:412
std::function< void(abst_ext< T0 > &, const abst_ext< T1 > &)> functype
Type of the function to be passed to the process constructor.
Definition: sy_process_constructors.hpp:54
unzipN(const sc_module_name &_name)
The constructor requires the module name.
Definition: sy_process_constructors.hpp:1859
hold(const sc_module_name &_name, const T &def_val)
The constructor requires the process name and a default value.
Definition: sy_process_constructors.hpp:952
std::string forsyde_kind() const
Specifying from which process constructor is the module built.
Definition: sy_process_constructors.hpp:1364
Process constructor for a sink process.
Definition: sy_process_constructors.hpp:1339
bool is_absent() const
Checks for the absence of a value.
Definition: abst_ext.hpp:79
SY_out< T0 > oport1
port for the output channel
Definition: sy_process_constructors.hpp:51
Process constructor for a fan-out process with one input and one output.
Definition: sy_process_constructors.hpp:2061
Process constructor for a source process with vector input.
Definition: sy_process_constructors.hpp:1273
Process constructor for a Moore machine.
Definition: sy_process_constructors.hpp:649
zipN(const sc_module_name &_name)
The constructor requires the module name.
Definition: sy_process_constructors.hpp:1644
Process constructor for a combinational process with two inputs and one output.
Definition: sy_process_constructors.hpp:127
std::function< void(abst_ext< T0 > &, const abst_ext< T1 > &, const abst_ext< T2 > &)> functype
Type of the function to be passed to the process constructor.
Definition: sy_process_constructors.hpp:136
std::string forsyde_kind() const
Specifying from which process constructor is the module built.
Definition: sy_process_constructors.hpp:1650
std::string forsyde_kind() const
Specifying from which process constructor is the module built.
Definition: sy_process_constructors.hpp:156
delayn(const sc_module_name &_name, const abst_ext< T > &init_val, const unsigned int &n)
The constructor requires the module name.
Definition: sy_process_constructors.hpp:581
unzip(const sc_module_name &_name)
The constructor requires the module name.
Definition: sy_process_constructors.hpp:1723
std::string forsyde_kind() const
Specifying from which process constructor is the module built.
Definition: sy_process_constructors.hpp:1729
std::string forsyde_kind() const
Specifying from which process constructor is the module built.
Definition: sy_process_constructors.hpp:1587
The unzip process with one input and variable number of outputs.
Definition: sy_process_constructors.hpp:1849
The zip process with two inputs and one output.
Definition: sy_process_constructors.hpp:1496
SY_in< T2 > iport2
port for the input channel 2
Definition: sy_process_constructors.hpp:131
comb2(const sc_module_name &_name, const functype &_func)
The constructor requires the module name.
Definition: sy_process_constructors.hpp:143
The unzip process with one input and two outputs.
Definition: sy_process_constructors.hpp:1712
The process constructor which defines the abstract semantics of execution.
Definition: abssemantics.hpp:212
std::function< void(const abst_ext< T > &)> functype
Type of the function to be passed to the process constructor.
Definition: sy_process_constructors.hpp:1345
SY_in< T3 > iport3
port for the input channel 3
Definition: sy_process_constructors.hpp:218
SY_in< std::array< abst_ext< T1 >, N > > iport1
port for the input channel
Definition: sy_process_constructors.hpp:1784
SY_in< T3 > iport3
port for the input channel 3
Definition: sy_process_constructors.hpp:312
std::function< void(ST &, const ST &, const abst_ext< IT > &)> ns_functype
Type of the next-state function to be passed to the process constructor.
Definition: sy_process_constructors.hpp:769
std::function< void(abst_ext< OT > &, const ST &, const abst_ext< IT > &)> od_functype
Type of the output-decoding function to be passed to the process constructor.
Definition: sy_process_constructors.hpp:773
T from_abst_ext(const T &defval) const
Converts a value from an extended value, returning a default value if absent.
Definition: abst_ext.hpp:42
SY_out< std::array< abst_ext< T1 >, N > > oport1
port for the output channel
Definition: sy_process_constructors.hpp:1575
combX(const sc_module_name &_name, const functype &_func)
The constructor requires the module name.
Definition: sy_process_constructors.hpp:422
std::string forsyde_kind() const
Specifying from which process constructor is the module built.
Definition: sy_process_constructors.hpp:434
SY_out< T0 > oport1
port for the output channel
Definition: sy_process_constructors.hpp:219
SY_in< T > iport1
port for the input channel
Definition: sy_process_constructors.hpp:573
delay(const sc_module_name &_name, const abst_ext< T > &init_val)
The constructor requires the module name.
Definition: sy_process_constructors.hpp:505
SY_out< std::vector< abst_ext< T > > > oport1
port for the output channel
Definition: sy_process_constructors.hpp:1977
SY_in< IT > iport1
port for the input channel
Definition: sy_process_constructors.hpp:652
constant(const sc_module_name &_name, const abst_ext< T > &init_val, const unsigned long long &take=0)
The constructor requires the module name.
Definition: sy_process_constructors.hpp:1029
std::string forsyde_kind() const
Specifying from which process constructor is the module built.
Definition: sy_process_constructors.hpp:685
SY_in< T1 > iport1
port for the input channel
Definition: sy_process_constructors.hpp:50
std::string forsyde_kind() const
Specifying from which process constructor is the module built.
Definition: sy_process_constructors.hpp:1797
SY_out< T > oport1
port for the output channel
Definition: sy_process_constructors.hpp:2065
vsource(const sc_module_name &_name, const std::vector< abst_ext< T >> &in_vec)
The constructor requires the module name.
Definition: sy_process_constructors.hpp:1282
std::string forsyde_kind() const
Specifying from which process constructor is the module built.
Definition: sy_process_constructors.hpp:799
std::string forsyde_kind() const
Specifying from which process constructor is the module built.
Definition: sy_process_constructors.hpp:964
SY_in< T > iport1
port for the input channel
Definition: sy_process_constructors.hpp:497
std::string forsyde_kind() const
Specifying from which process constructor is the module built.
Definition: sy_process_constructors.hpp:1125
Process constructor for a file_source process.
Definition: sy_process_constructors.hpp:1184
SY_out< T > oport1
port for the output channel
Definition: sy_process_constructors.hpp:1095
std::function< void(ST &, const ST &, const abst_ext< IT > &)> ns_functype
Type of the next-state function to be passed to the process constructor.
Definition: sy_process_constructors.hpp:656
file_sink(sc_module_name _name, functype _func, std::string file_name)
The constructor requires the module name.
Definition: sy_process_constructors.hpp:1423
std::string forsyde_kind() const
Specifying from which process constructor is the module built.
Definition: sy_process_constructors.hpp:74
SY_out< std::tuple< abst_ext< Ts >... > > oport1
port for the output channel
Definition: sy_process_constructors.hpp:1638
unzipX(const sc_module_name &_name)
The constructor requires the module name.
Definition: sy_process_constructors.hpp:1791
SY_out< OT > oport1
port for the output channel
Definition: sy_process_constructors.hpp:765
Process constructor for a combinational process with one input and one output.
Definition: sy_process_constructors.hpp:47
mealy(const sc_module_name &_name, const ns_functype &_ns_func, const od_functype &_od_func, const ST &init_st)
The constructor requires the module name.
Definition: sy_process_constructors.hpp:780
The unzipX process with one input and an array of outputs.
Definition: sy_process_constructors.hpp:1781
comb4(const sc_module_name &_name, const functype &_func)
The constructor requires the module name.
Definition: sy_process_constructors.hpp:327
SY_in< T2 > iport2
port for the input channel 2
Definition: sy_process_constructors.hpp:311
std::string forsyde_kind() const
Specifying from which process constructor is the module built.
Definition: sy_process_constructors.hpp:1211
SY_out< T > oport1
port for the output channel
Definition: sy_process_constructors.hpp:1276
zipX(const sc_module_name &_name)
The constructor requires the module name.
Definition: sy_process_constructors.hpp:1581
The zipX process with an array of inputs and one output.
Definition: sy_process_constructors.hpp:1571
fill(const sc_module_name &_name, const T &def_val)
The constructor requires the process name and a default value.
Definition: sy_process_constructors.hpp:875
The zip process with variable number of inputs and one output.
Definition: sy_process_constructors.hpp:1634
zip(const sc_module_name &_name)
The constructor requires the module name.
Definition: sy_process_constructors.hpp:1507
std::function< void(abst_ext< T0 > &, const std::array< abst_ext< T1 >, N > &)> functype
Type of the function to be passed to the process constructor.
Definition: sy_process_constructors.hpp:415
Generated by Doxygen 1.8.11