ForSyDe::DT Namespace Reference

The namespace for synchronous MoC. More...

Classes

class  comb
 Process constructor for a combinational process 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 three inputs and one output. More...
 
class  comb4
 Process constructor for a combinational process with four 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  DT2DT
 The DT2DT signal used to inter-connect DT processes. More...
 
class  DT_in
 The DT_in port is used for input ports of DT processes. More...
 
class  DT_out
 The DT_out port is used for output ports of DT processes. More...
 
class  fanout
 Process constructor for a fan-out process with one input and one output. More...
 
class  mealyT
 Process constructor for a MealyT machine. More...
 
class  printSigs
 Process constructor for a multi-input print 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  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 = DT2DT< T >
 The DT::signal is an alias for DT::DT2DT.
 
template<typename T >
using in_port = DT_in< T >
 The DT::in_port is an alias for DT::DT_in.
 
template<typename T >
using out_port = DT_out< T >
 The DT::out_port is an alias for DT::DT_out.
 
typedef ForSyDe::process dt_process
 Abstract semantics of a process in the DT MoC.
 

Functions

template<class T0 , template< class > class OIf, class T1 , template< class > class I1If>
comb< T0, T1 > * make_comb (std::string pName, typename comb< T0, T1 >::functype _func, 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 (std::string pName, typename comb2< T0, T1, T2 >::functype _func, 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 (std::string pName, typename comb3< T0, T1, T2, T3 >::functype _func, 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 (std::string pName, typename comb4< T0, T1, T2, T3, T4 >::functype _func, 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 (std::string pName, abst_ext< T > initval, OIf< T > &outS, IIf< T > &inpS)
 Helper function to construct a delay process. More...
 
template<typename IT , typename ST , typename OT , template< class > class IIf, template< class > class OIf>
mealyT< IT, ST, OT > * make_mealyT (std::string pName, typename mealyT< IT, ST, OT >::p_functype gamma, typename mealyT< IT, ST, OT >::ns_functype _ns_func, typename mealyT< IT, ST, OT >::od_functype _od_func, ST init_st, OIf< OT > &outS, IIf< IT > &inpS)
 Helper function to construct a mealyT process. More...
 
template<class T , template< class > class OIf>
constant< T > * make_constant (std::string pName, abst_ext< T > initval, 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 (std::string pName, typename source< T >::functype _func, abst_ext< T > initval, 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 (std::string pName, std::vector< std::tuple< unsigned int, T >> in_vec, OIf< T > &outS)
 Helper function to construct a vsource process. More...
 
template<class T , template< class > class IIf>
sink< T > * make_sink (std::string pName, 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 (std::string pName, OIf< std::tuple< abst_ext< T1 >, abst_ext< 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 (std::string pName, IIf< std::tuple< abst_ext< T1 >, abst_ext< 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 (std::string pName, OIf< T > &outS, IIf< T > &inpS)
 Helper function to construct an unzipN process. More...
 

Detailed Description

The namespace for synchronous MoC.

This namespace includes constructs used for building models in the discrete-time MoC.

Function Documentation

template<class T0 , template< class > class OIf, class T1 , template< class > class I1If>
comb<T0,T1>* ForSyDe::DT::make_comb ( std::string  pName,
typename comb< T0, T1 >::functype  _func,
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.

template<class T0 , template< class > class OIf, class T1 , template< class > class I1If, class T2 , template< class > class I2If>
comb2<T0,T1,T2>* ForSyDe::DT::make_comb2 ( std::string  pName,
typename comb2< T0, T1, T2 >::functype  _func,
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.

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::DT::make_comb3 ( std::string  pName,
typename comb3< T0, T1, T2, T3 >::functype  _func,
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.

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::DT::make_comb4 ( std::string  pName,
typename comb4< T0, T1, T2, T3, T4 >::functype  _func,
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.

template<class T , template< class > class OIf>
constant<T>* ForSyDe::DT::make_constant ( std::string  pName,
abst_ext< T >  initval,
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::DT::make_delay ( std::string  pName,
abst_ext< 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>
fanout<T>* ForSyDe::DT::make_fanout ( 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>
mealyT<IT,ST,OT>* ForSyDe::DT::make_mealyT ( std::string  pName,
typename mealyT< IT, ST, OT >::p_functype  gamma,
typename mealyT< IT, ST, OT >::ns_functype  _ns_func,
typename mealyT< IT, ST, OT >::od_functype  _od_func,
ST  init_st,
OIf< OT > &  outS,
IIf< IT > &  inpS 
)
inline

Helper function to construct a mealyT process.

This function is used to construct a mealyT 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::DT::make_sink ( std::string  pName,
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::DT::make_source ( std::string  pName,
typename source< T >::functype  _func,
abst_ext< T >  initval,
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::DT::make_unzip ( std::string  pName,
IIf< std::tuple< abst_ext< T1 >, abst_ext< 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::DT::make_vsource ( std::string  pName,
std::vector< std::tuple< unsigned int, T >>  in_vec,
OIf< T > &  outS 
)
inline

Helper function to construct a vsource 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<class T1 , template< class > class I1If, class T2 , template< class > class I2If, template< class > class OIf>
zip<T1,T2>* ForSyDe::DT::make_zip ( std::string  pName,
OIf< std::tuple< abst_ext< T1 >, abst_ext< 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.