Bitstream Interpretation Library (BIL)  0.1
XDLExtractor.hpp
Go to the documentation of this file.
1 
6 #pragma once
7 #ifndef BIL_XDLEXTRACTOR_HPP
8 #define BIL_XDLEXTRACTOR_HPP
9 
10 #include <cstring>
11 #include <map>
12 #include <vector>
14 
15 
16 namespace bil {
17 
18  class Design;
19  class Device;
20 
21 
23  typedef std::vector<size_t> TileIndices;
24 
25 
35  class XDLExtractor {
36  public:
37 
38  /**********************************************************************/
39  /* CONSTRUCTION / DESTRUCTION */
40  /**********************************************************************/
41 
47  XDLExtractor(const Design& design, const Device& device);
48 
49 
50  /**********************************************************************/
51  /* DATA EXTRACTION */
52  /**********************************************************************/
53 
60  void getTileTypeUnits(CorrelationUnits& units, TileIndices& tileIndices, size_t tileTypeIndex);
61 
62 
63  private:
64 
65  CorrelationUnit& addCorrelationUnit(size_t tileIndex);
66 
67  const Design* m_design;
68  const Device* m_device;
69 
70  size_t m_pipCount;
71  typedef std::map<size_t, CorrelationUnit> tileUnitMap_t;
72  tileUnitMap_t m_tileUnitMap;
73 
74  };
75 
76 }
77 
78 #endif