dde_helpers.hpp File Reference

Implements helper primitives for modeling in the DDE MoC. More...

#include <functional>
#include <tuple>
#include "tt_event.hpp"
#include "dde_process_constructors.hpp"
Include dependency graph for dde_helpers.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

 ForSyDe
 The namespace for ForSyDe.
 
 ForSyDe::DDE
 The namespace for DDE MoC.
 

Functions

template<class T0 , template< class > class OIf, class T1 , template< class > class I1If>
comb< T0, T1 > * ForSyDe::DDE::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 > * ForSyDe::DDE::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<typename T , template< class > class IIf, template< class > class OIf>
delay< T > * ForSyDe::DDE::make_delay (std::string pName, abst_ext< T > initval, sc_time delay_time, 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>
mealy< IT, ST, OT > * ForSyDe::DDE::make_mealy (const std::string &pName, const typename mealy< IT, ST, OT >::ns_functype &_ns_func, const typename mealy< IT, ST, OT >::od_functype &_od_func, const ST &init_st, const sc_time &delay_time, OIf< OT > &outS, IIf< IT > &inpS)
 
template<typename IT1 , typename IT2 , typename ST , typename OT , template< class > class IIf1, template< class > class IIf2, template< class > class OIf>
mealy2< IT1, IT2, ST, OT > * ForSyDe::DDE::make_mealy2 (const std::string &pName, const typename mealy2< IT1, IT2, ST, OT >::ns_functype &_ns_func, const typename mealy2< IT1, IT2, ST, OT >::od_functype &_od_func, const ST &init_st, const sc_time &delay_time, OIf< OT > &outS, IIf1< IT1 > &inpS1, IIf2< IT2 > &inpS2)
 
template<class T , template< class > class OIf>
source< T > * ForSyDe::DDE::make_source (std::string pName, typename source< T >::functype _func, ttn_event< 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 > * ForSyDe::DDE::make_vsource (std::string pName, const std::vector< T > &values, const std::vector< sc_time > &offsets, OIf< T > &outS)
 Helper function to construct a vsource process. More...
 
template<class T , template< class > class IIf>
sink< T > * ForSyDe::DDE::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 > * ForSyDe::DDE::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<class T1 , std::size_t N, template< class > class OIf>
zipX< T1, N > * ForSyDe::DDE::make_zipX (std::string pName, OIf< std::array< abst_ext< T1 >, N > > &outS)
 Helper function to construct a zipX process. More...
 
template<template< class > class IIf, class T1 , template< class > class O1If, class T2 , template< class > class O2If>
unzip< T1, T2 > * ForSyDe::DDE::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<template< class > class IIf, class T1 , std::size_t N>
unzipX< T1, N > * ForSyDe::DDE::make_unzipX (const std::string &pName, IIf< std::array< abst_ext< T1 >, N >> &inpS)
 Helper function to construct an unzipX process. More...
 
template<typename T , template< class > class IIf, template< class > class OIf>
fanout< T > * ForSyDe::DDE::make_fanout (std::string pName, OIf< T > &outS, IIf< T > &inpS)
 Helper function to construct a fanout process. More...
 

Detailed Description

Implements helper primitives for modeling in the DDE MoC.

This file includes helper functions which facilliate construction of processes in the DDE MoC