/* | |
Prepacking: Group together technology-mapped netlist blocks before packing. This gives hints to the packer on what groups of blocks to keep together during packing. | |
Primary use 1) "Forced" packs (eg LUT+FF pair) | |
2) Carry-chains | |
*/ | |
#ifndef PREPACK_H | |
#define PREPACK_H | |
#include <unordered_map> | |
#include "atom_netlist_fwd.h" | |
#include "arch_types.h" | |
#include "vpr_types.h" | |
t_pack_patterns *alloc_and_load_pack_patterns(int *num_packing_patterns); | |
void free_list_of_pack_patterns(t_pack_patterns *list_of_pack_patterns, const int num_packing_patterns); | |
t_pack_molecule *alloc_and_load_pack_molecules( | |
t_pack_patterns *list_of_pack_patterns, | |
std::multimap<AtomBlockId,t_pack_molecule*>& atom_molecules, | |
std::unordered_map<AtomBlockId,t_pb_graph_node*>& expected_lowest_cost_pb_gnode, | |
const int num_packing_patterns); | |
#endif |