onnx2versal
Loading...
Searching...
No Matches
graph_add.h
1#ifndef __ADD_GRAPH_H__
2#define __ADD_GRAPH_H__
3
4#include <adf.h>
5#include "add.h"
6
7
30template <template<typename, int, int> class ADD,
31 typename TT, int W, int IS_RELU>
32class AddGraph : public adf::graph {
33
34 private:
35 static constexpr int TTSIZE = sizeof(TT);
36 adf::kernel k[1];
37 std::string id;
38
39 public:
40 adf::port<input> pin[2];
41 adf::port<output> pout[1];
42
43 AddGraph() {
44 k[0] = adf::kernel::create_object<ADD<TT, W, IS_RELU>>();
45 adf::source(k[0]) = "add.cc";
46 adf::headers(k[0]) = {"add.h"};
47 adf::runtime<ratio>(k[0]) = 0.6;
48
49 adf::connect<adf::stream> (pin[0], k[0].in[0]);
50 adf::connect<adf::stream> (pin[1], k[0].in[1]);
51 adf::connect<adf::stream> (k[0].out[0], pout[0]);
52
53 adf::samples_per_iteration(k[0].in[0]) = W;
54 adf::samples_per_iteration(k[0].in[1]) = W;
55 adf::samples_per_iteration(k[0].out[0]) = W;
56 }
57
58};
62#endif // __ADD_GRAPH_H__
Single instance graph.
Definition graph_add.h:32