ForSyDe::UT Namespace Reference

The namespace for untimed MoC. More...

Classes

class  comb
 Process constructor for a combinational process (actor) with one input and one output. More...
 
class  comb2
 Process constructor for a combinational process with two inputs and one output. More...
 
class  comb3
 Process constructor for a combinational process with two inputs and one output. More...
 
class  comb4
 Process constructor for a combinational process with two inputs and one output. More...
 
class  constant
 Process constructor for a constant source process. More...
 
class  delay
 Process constructor for a delay element. More...
 
class  delayn
 Process constructor for a n-delay element. More...
 
class  fanout
 Process constructor for a fan-out process with one input and one output. More...
 
class  mealy
 Process constructor for a Mealy machine. More...
 
class  moore
 Process constructor for a Moore machine. More...
 
class  scan
 Process constructor for a scan process. More...
 
class  scand
 Process constructor for a scand process. More...
 
class  sink
 Process constructor for a sink process. More...
 
class  source
 Process constructor for a source process. More...
 
class  unzip
 The unzip process with one input and two outputs. More...
 
class  unzipN
 The unzip process with one input and variable number of outputs. More...
 
class  UT2UT
 The UT2UT signal used to inter-connect UT processes. More...
 
class  UT_in
 The UT_in port is used for input ports of UT processes. More...
 
class  UT_out
 The UT_out port is used for output ports of UT processes. More...
 
class  vsource
 Process constructor for a source process with vector input. More...
 
class  zip
 The zip process with two inputs and one output. More...
 
class  zipN
 The zip process with variable number of inputs and one output. More...
 

Typedefs

template<typename T >
using signal = UT2UT< T >
 The UT::signal is an alias for UT::UT2UT.
 
template<typename T >
using in_port = UT_in< T >
 The UT::in_port is an alias for UT::UT_in.
 
template<typename T >
using out_port = UT_out< T >
 The UT::out_port is an alias for UT::UT_out.
 
typedef ForSyDe::process ut_process
 Abstract semantics of a process in the SY MoC.
 

Functions

template<class T0 , template< class > class OIf, class T1 , template< class > class I1If>
comb< T0, T1 > * make_comb (const std::string &pName, const typename comb< T0, T1 >::functype &_func, const unsigned int &i1toks, OIf< T0 > &outS, I1If< T1 > &inp1S)
 Helper function to construct a comb process. More...
 
template<class T0 , template< class > class OIf, class T1 , template< class > class I1If, class T2 , template< class > class I2If>
comb2< T0, T1, T2 > * make_comb2 (const std::string pName, const typename comb2< T0, T1, T2 >::functype &_func, const unsigned int &i1toks, const unsigned int &i2toks, OIf< T0 > &outS, I1If< T1 > &inp1S, I2If< T2 > &inp2S)
 Helper function to construct a comb2 process. More...
 
template<class T0 , template< class > class OIf, class T1 , template< class > class I1If, class T2 , template< class > class I2If, class T3 , template< class > class I3If>
comb3< T0, T1, T2, T3 > * make_comb3 (const std::string &pName, const typename comb3< T0, T1, T2, T3 >::functype &_func, const unsigned int &i1toks, const unsigned int &i2toks, const unsigned int &i3toks, OIf< T0 > &outS, I1If< T1 > &inp1S, I2If< T2 > &inp2S, I3If< T3 > &inp3S)
 Helper function to construct a comb3 process. More...
 
template<class T0 , template< class > class OIf, class T1 , template< class > class I1If, class T2 , template< class > class I2If, class T3 , template< class > class I3If, class T4 , template< class > class I4If>
comb4< T0, T1, T2, T3, T4 > * make_comb4 (const std::string &pName, const typename comb4< T0, T1, T2, T3, T4 >::functype &_func, const unsigned int &i1toks, const unsigned int &i2toks, const unsigned int &i3toks, const unsigned int &i4toks, OIf< T0 > &outS, I1If< T1 > &inp1S, I2If< T2 > &inp2S, I3If< T3 > &inp3S, I4If< T4 > &inp4S)
 Helper function to construct a comb4 process. More...
 
template<typename T , template< class > class IIf, template< class > class OIf>
delay< T > * make_delay (const std::string &pName, const T &initval, OIf< T > &outS, IIf< T > &inpS)
 Helper function to construct a delay process. More...
 
template<typename T , template< class > class IIf, template< class > class OIf>
delayn< T > * make_delayn (const std::string &pName, const T &initval, const unsigned int &n, OIf< T > &outS, IIf< T > &inpS)
 Helper function to construct a delayn process. More...
 
template<typename IT , typename ST , template< class > class IIf, template< class > class OIf>
scan< IT, ST > * make_scan (const std::string &pName, const typename scan< IT, ST >::gamma_functype &_gamma_func, const typename scan< IT, ST >::ns_functype &_ns_func, const ST &init_st, OIf< ST > &outS, IIf< IT > &inpS)
 Helper function to construct a scan-based process. More...
 
template<typename IT , typename ST , template< class > class IIf, template< class > class OIf>
scand< IT, ST > * make_scand (const std::string &pName, const typename scan< IT, ST >::gamma_functype &_gamma_func, const typename scan< IT, ST >::ns_functype &_ns_func, const ST &init_st, OIf< ST > &outS, IIf< IT > &inpS)
 Helper function to construct a scand-based process. More...
 
template<typename IT , typename ST , typename OT , template< class > class IIf, template< class > class OIf>
moore< IT, ST, OT > * make_moore (const std::string &pName, const typename moore< IT, ST, OT >::gamma_functype &_gamma_func, const typename moore< IT, ST, OT >::ns_functype &_ns_func, const typename moore< IT, ST, OT >::od_functype &_od_func, const ST &init_st, OIf< OT > &outS, IIf< IT > &inpS)
 Helper function to construct a moore process. More...
 
template<typename IT , typename ST , typename OT , template< class > class IIf, template< class > class OIf>
mealy< IT, ST, OT > * make_mealy (const std::string &pName, const typename moore< IT, ST, OT >::gamma_functype &_gamma_func, const typename mealy< IT, ST, OT >::ns_functype &_ns_func, const typename mealy< IT, ST, OT >::od_functype &_od_func, const ST &init_st, OIf< OT > &outS, IIf< IT > &inpS)
 Helper function to construct a mealy process. More...
 
template<class T , template< class > class OIf>
constant< T > * make_constant (const std::string &pName, const T &initval, const unsigned long long &take, OIf< T > &outS)
 Helper function to construct a constant source process. More...
 
template<class T , template< class > class OIf>
source< T > * make_source (const std::string &pName, const typename source< T >::functype &_func, const T &initval, const unsigned long long &take, OIf< T > &outS)
 Helper function to construct a source process. More...
 
template<class T , template< class > class OIf>
vsource< T > * make_vsource (const std::string &pName, const std::vector< T > &in_vec, OIf< T > &outS)
 Helper function to construct a vector source process. More...
 
template<class T , template< class > class IIf>
sink< T > * make_sink (const std::string &pName, const typename sink< T >::functype &_func, IIf< T > &inS)
 Helper function to construct a sink process. More...
 
template<class T1 , template< class > class I1If, class T2 , template< class > class I2If, template< class > class OIf>
zip< T1, T2 > * make_zip (const std::string &pName, const unsigned int &i1toks, const unsigned int &i2toks, OIf< std::tuple< std::vector< T1 >, std::vector< T2 >>> &outS, I1If< T1 > &inp1S, I2If< T2 > &inp2S)
 Helper function to construct a zip process. More...
 
template<template< class > class IIf, class T1 , template< class > class O1If, class T2 , template< class > class O2If>
unzip< T1, T2 > * make_unzip (const std::string &pName, IIf< std::tuple< std::vector< T1 >, std::vector< T2 >>> &inpS, O1If< T1 > &out1S, O2If< T2 > &out2S)
 Helper function to construct an unzip process. More...
 
template<typename T , template< class > class IIf, template< class > class OIf>
fanout< T > * make_fanout (const std::string &pName, OIf< T > &outS, IIf< T > &inpS)
 Helper function to construct an unzipN process. More...
 

Detailed Description

The namespace for untimed MoC.

This namespace includes constructs used for building models in the synchronous dataflow MoC.

Function Documentation

template<class T0 , template< class > class OIf, class T1 , template< class > class I1If>
comb<T0,T1>* ForSyDe::UT::make_comb ( const std::string &  pName,
const typename comb< T0, T1 >::functype &  _func,
const unsigned int &  i1toks,
OIf< T0 > &  outS,
I1If< T1 > &  inp1S 
)
inline

Helper function to construct a comb process.

This function is used to construct a process (SystemC module) and connect its output and output signals. It provides a more functional style definition of a ForSyDe process. It also removes bilerplate code by using type-inference feature of C++ and automatic binding to the input and output FIFOs.

Parameters
pNameprocess name
_funcfunction to be passed
i1toksconsumption rate for the first input
outSthe first output signal
inp1Sthe first input signal
template<class T0 , template< class > class OIf, class T1 , template< class > class I1If, class T2 , template< class > class I2If>
comb2<T0,T1,T2>* ForSyDe::UT::make_comb2 ( const std::string  pName,
const typename comb2< T0, T1, T2 >::functype &  _func,
const unsigned int &  i1toks,
const unsigned int &  i2toks,
OIf< T0 > &  outS,
I1If< T1 > &  inp1S,
I2If< T2 > &  inp2S 
)
inline

Helper function to construct a comb2 process.

This function is used to construct a process (SystemC module) and connect its output and output signals. It provides a more functional style definition of a ForSyDe process. It also removes bilerplate code by using type-inference feature of C++ and automatic binding to the input and output FIFOs.

Parameters
pNameprocess name
_funcfunction to be passed
i1toksconsumption rate for the first input
i2toksconsumption rate for the second input
outSthe first output signal
inp1Sthe first input signal
inp2Sthe second input signal
template<class T0 , template< class > class OIf, class T1 , template< class > class I1If, class T2 , template< class > class I2If, class T3 , template< class > class I3If>
comb3<T0,T1,T2,T3>* ForSyDe::UT::make_comb3 ( const std::string &  pName,
const typename comb3< T0, T1, T2, T3 >::functype &  _func,
const unsigned int &  i1toks,
const unsigned int &  i2toks,
const unsigned int &  i3toks,
OIf< T0 > &  outS,
I1If< T1 > &  inp1S,
I2If< T2 > &  inp2S,
I3If< T3 > &  inp3S 
)
inline

Helper function to construct a comb3 process.

This function is used to construct a process (SystemC module) and connect its output and output signals. It provides a more functional style definition of a ForSyDe process. It also removes bilerplate code by using type-inference feature of C++ and automatic binding to the input and output FIFOs.

Parameters
pNameprocess name
_funcfunction to be passed
i1toksconsumption rate for the first input
i2toksconsumption rate for the second input
i3toksconsumption rate for the third input
outSthe first output signal
inp1Sthe first input signal
inp2Sthe second input signal
inp3Sthe third input signal
template<class T0 , template< class > class OIf, class T1 , template< class > class I1If, class T2 , template< class > class I2If, class T3 , template< class > class I3If, class T4 , template< class > class I4If>
comb4<T0,T1,T2,T3,T4>* ForSyDe::UT::make_comb4 ( const std::string &  pName,
const typename comb4< T0, T1, T2, T3, T4 >::functype &  _func,
const unsigned int &  i1toks,
const unsigned int &  i2toks,
const unsigned int &  i3toks,
const unsigned int &  i4toks,
OIf< T0 > &  outS,
I1If< T1 > &  inp1S,
I2If< T2 > &  inp2S,
I3If< T3 > &  inp3S,
I4If< T4 > &  inp4S 
)
inline

Helper function to construct a comb4 process.

This function is used to construct a process (SystemC module) and connect its output and output signals. It provides a more functional style definition of a ForSyDe process. It also removes bilerplate code by using type-inference feature of C++ and automatic binding to the input and output FIFOs.

Parameters
pNameprocess name
_funcfunction to be passed
i1toksconsumption rate for the first input
i2toksconsumption rate for the second input
i3toksconsumption rate for the third input
i4toksconsumption rate for the fourth input
outSthe first output signal
inp1Sthe first input signal
inp2Sthe second input signal
inp3Sthe third input signal
inp4Sthe fourth input signal
template<class T , template< class > class OIf>
constant<T>* ForSyDe::UT::make_constant ( const std::string &  pName,
const T &  initval,
const unsigned long long &  take,
OIf< T > &  outS 
)
inline

Helper function to construct a constant source process.

This function is used to construct a constant (SystemC module) and connect its output signal. It provides a more functional style definition of a ForSyDe process. It also removes bilerplate code by using type-inference feature of C++ and automatic binding to the output FIFOs.

template<typename T , template< class > class IIf, template< class > class OIf>
delay<T>* ForSyDe::UT::make_delay ( const std::string &  pName,
const T &  initval,
OIf< T > &  outS,
IIf< T > &  inpS 
)
inline

Helper function to construct a delay process.

This function is used to construct a process (SystemC module) and connect its output and output signals. It provides a more functional style definition of a ForSyDe process. It also removes bilerplate code by using type-inference feature of C++ and automatic binding to the input and output FIFOs.

template<typename T , template< class > class IIf, template< class > class OIf>
delayn<T>* ForSyDe::UT::make_delayn ( const std::string &  pName,
const T &  initval,
const unsigned int &  n,
OIf< T > &  outS,
IIf< T > &  inpS 
)
inline

Helper function to construct a delayn process.

This function is used to construct a process (SystemC module) and connect its output and output signals. It provides a more functional style definition of a ForSyDe process. It also removes bilerplate code by using type-inference feature of C++ and automatic binding to the input and output FIFOs.

template<typename T , template< class > class IIf, template< class > class OIf>
fanout<T>* ForSyDe::UT::make_fanout ( const std::string &  pName,
OIf< T > &  outS,
IIf< T > &  inpS 
)
inline

Helper function to construct an unzipN process.

This function is used to construct an unzipN process (SystemC module) and connect its output and output signals. It provides a more functional style definition of a ForSyDe process. It also removes bilerplate code by using type-inference feature of C++ and automatic binding to the input FIFOs.Helper function to construct a fanout process

This function is used to construct a fanout process (SystemC module) and connect its output and output signals. It provides a more functional style definition of a ForSyDe process. It also removes bilerplate code by using type-inference feature of C++ and automatic binding to the input and output FIFOs.

template<typename IT , typename ST , typename OT , template< class > class IIf, template< class > class OIf>
mealy<IT,ST,OT>* ForSyDe::UT::make_mealy ( const std::string &  pName,
const typename moore< IT, ST, OT >::gamma_functype &  _gamma_func,
const typename mealy< IT, ST, OT >::ns_functype &  _ns_func,
const typename mealy< IT, ST, OT >::od_functype &  _od_func,
const ST &  init_st,
OIf< OT > &  outS,
IIf< IT > &  inpS 
)
inline

Helper function to construct a mealy process.

This function is used to construct a mealy process (SystemC module) and connect its output and output signals. It provides a more functional style definition of a ForSyDe process. It also removes bilerplate code by using type-inference feature of C++ and automatic binding to the input and output FIFOs.

template<typename IT , typename ST , typename OT , template< class > class IIf, template< class > class OIf>
moore<IT,ST,OT>* ForSyDe::UT::make_moore ( const std::string &  pName,
const typename moore< IT, ST, OT >::gamma_functype &  _gamma_func,
const typename moore< IT, ST, OT >::ns_functype &  _ns_func,
const typename moore< IT, ST, OT >::od_functype &  _od_func,
const ST &  init_st,
OIf< OT > &  outS,
IIf< IT > &  inpS 
)
inline

Helper function to construct a moore process.

This function is used to construct a moore process (SystemC module) and connect its output and output signals. It provides a more functional style definition of a ForSyDe process. It also removes bilerplate code by using type-inference feature of C++ and automatic binding to the input and output FIFOs.

template<typename IT , typename ST , template< class > class IIf, template< class > class OIf>
scan<IT,ST>* ForSyDe::UT::make_scan ( const std::string &  pName,
const typename scan< IT, ST >::gamma_functype &  _gamma_func,
const typename scan< IT, ST >::ns_functype &  _ns_func,
const ST &  init_st,
OIf< ST > &  outS,
IIf< IT > &  inpS 
)
inline

Helper function to construct a scan-based process.

This function is used to construct a scan-based process (SystemC module) and connect its output and output signals. It provides a more functional style definition of a ForSyDe process. It also removes bilerplate code by using type-inference feature of C++ and automatic binding to the input and output FIFOs.

template<typename IT , typename ST , template< class > class IIf, template< class > class OIf>
scand<IT,ST>* ForSyDe::UT::make_scand ( const std::string &  pName,
const typename scan< IT, ST >::gamma_functype &  _gamma_func,
const typename scan< IT, ST >::ns_functype &  _ns_func,
const ST &  init_st,
OIf< ST > &  outS,
IIf< IT > &  inpS 
)
inline

Helper function to construct a scand-based process.

This function is used to construct a scand-based process (SystemC module) and connect its output and output signals. It provides a more functional style definition of a ForSyDe process. It also removes bilerplate code by using type-inference feature of C++ and automatic binding to the input and output FIFOs.

template<class T , template< class > class IIf>
sink<T>* ForSyDe::UT::make_sink ( const std::string &  pName,
const typename sink< T >::functype &  _func,
IIf< T > &  inS 
)
inline

Helper function to construct a sink process.

This function is used to construct a sink (SystemC module) and connect its output and output signals. It provides a more functional style definition of a ForSyDe process. It also removes bilerplate code by using type-inference feature of C++ and automatic binding to the input FIFOs.

template<class T , template< class > class OIf>
source<T>* ForSyDe::UT::make_source ( const std::string &  pName,
const typename source< T >::functype &  _func,
const T &  initval,
const unsigned long long &  take,
OIf< T > &  outS 
)
inline

Helper function to construct a source process.

This function is used to construct a source (SystemC module) and connect its output signal. It provides a more functional style definition of a ForSyDe process. It also removes bilerplate code by using type-inference feature of C++ and automatic binding to the output FIFOs.

template<template< class > class IIf, class T1 , template< class > class O1If, class T2 , template< class > class O2If>
unzip<T1,T2>* ForSyDe::UT::make_unzip ( const std::string &  pName,
IIf< std::tuple< std::vector< T1 >, std::vector< T2 >>> &  inpS,
O1If< T1 > &  out1S,
O2If< T2 > &  out2S 
)
inline

Helper function to construct an unzip process.

This function is used to construct an unzip process (SystemC module) and connect its output and output signals. It provides a more functional style definition of a ForSyDe process. It also removes bilerplate code by using type-inference feature of C++ and automatic binding to the input FIFOs.

template<class T , template< class > class OIf>
vsource<T>* ForSyDe::UT::make_vsource ( const std::string &  pName,
const std::vector< T > &  in_vec,
OIf< T > &  outS 
)
inline

Helper function to construct a vector source process.

This function is used to construct a vector source (SystemC module) and connect its output signal. It provides a more functional style definition of a ForSyDe process. It also removes bilerplate code by using type-inference feature of C++ and automatic binding to the output FIFOs.

template<class T1 , template< class > class I1If, class T2 , template< class > class I2If, template< class > class OIf>
zip<T1,T2>* ForSyDe::UT::make_zip ( const std::string &  pName,
const unsigned int &  i1toks,
const unsigned int &  i2toks,
OIf< std::tuple< std::vector< T1 >, std::vector< T2 >>> &  outS,
I1If< T1 > &  inp1S,
I2If< T2 > &  inp2S 
)
inline

Helper function to construct a zip process.

This function is used to construct a zip process (SystemC module) and connect its output and output signals. It provides a more functional style definition of a ForSyDe process. It also removes bilerplate code by using type-inference feature of C++ and automatic binding to the input FIFOs.