28 lines
807 B
C++
28 lines
807 B
C++
/************************************************
|
|
* This files includes data structures for
|
|
* module management.
|
|
* It keeps a list of modules that have been
|
|
* generated, the port map of the modules,
|
|
* parents and children of each modules
|
|
* This will ease instanciation of modules
|
|
* with explicit port map and outputting a
|
|
* hierarchy of modules
|
|
***********************************************/
|
|
|
|
#ifndef MODULE_MANAGER_H
|
|
#define MODULE_MANAGER_H
|
|
|
|
#include <string>
|
|
#include "module_manager_fwd.h"
|
|
#include "device_port.h"
|
|
|
|
class ModuleManager {
|
|
private: /* Internal data */
|
|
vtr::vector<ModuleId, ModuleId> ids_;
|
|
vtr::vector<ModuleId, BasicPort> ports_;
|
|
vtr::vector<ModuleId, std::vector<ModuleId>> parents_;
|
|
vtr::vector<ModuleId, std::vector<ModuleId>> children_;
|
|
};
|
|
|
|
#endif
|