Go to the documentation of this file.
22 #include <unordered_map>
37 using BitArray = std::vector<std::vector<BitSetting>>;
49 void printTestbench(std::ostream& os,
const int& II,
bool is_elastic =
false)
const;
73 namespace adl0 {
class ADL; }
79 CGRA(std::string name =
"CGRA", std::string templateName =
"cgra");
99 std::vector<std::shared_ptr<const MRRG>>
mrrgs = {};
std::vector< const ConfigCell * > ccell_order
BitStream genBitStream(const Mapping &mapping)
void genTimingConstraints(OpGraph *mappped_opgraph)
void genVerilog(VerilogType vt, std::string dir, const int &SII)
std::unordered_map< const ConfigCell *, BitArray > setting_storage
const BitArray & settingFor(const ConfigCell *cc) const
const Module & getTopLevelModule() const
std::vector< std::shared_ptr< const MRRG > > mrrgs
const MRRG & getMRRG(int II)
Module & getTopLevelModule()
int num_floorplan_columns
std::unordered_map< const ConfigCell *, int > contexts_used
std::vector< std::vector< BitSetting > > BitArray
std::unique_ptr< Module > top_level_module
void append(const ConfigCell *ccell, const BitArray &bits, int con_used=0)
std::vector< std::string > hybridPorts
friend std::ostream & operator<<(std::ostream &os, const BitStream &bs)
CGRA(std::string name="CGRA", std::string templateName="cgra")
auto & ccellOrder() const
void setNumRows(int numRows)
void setNumCols(int numCols)
void genHybrid(VerilogType vt, std::string dir, int mem_size)
void printTestbench(std::ostream &os, const int &II, bool is_elastic=false) const