/* | |
Find placement for group of atom blocks in complex block | |
Author: Jason Luu | |
*/ | |
#ifndef CLUSTER_PLACEMENT_H | |
#define CLUSTER_PLACEMENT_H | |
#include "arch_types.h" | |
t_cluster_placement_stats *alloc_and_load_cluster_placement_stats(void); | |
bool get_next_primitive_list( | |
t_cluster_placement_stats *cluster_placement_stats, | |
const t_pack_molecule *molecule, | |
t_pb_graph_node **primitives_list, | |
const ClusterBlockId clb_index); | |
void commit_primitive(t_cluster_placement_stats *cluster_placement_stats, | |
const t_pb_graph_node *primitive); | |
void set_mode_cluster_placement_stats(const t_pb_graph_node *complex_block, | |
int mode); | |
void reset_cluster_placement_stats( | |
t_cluster_placement_stats *cluster_placement_stats); | |
void free_cluster_placement_stats( | |
t_cluster_placement_stats *cluster_placement_stats); | |
int get_array_size_of_molecule(const t_pack_molecule *molecule); | |
bool exists_free_primitive_for_atom_block( | |
t_cluster_placement_stats *cluster_placement_stats, | |
const AtomBlockId blk_id); | |
void reset_tried_but_unused_cluster_placements( | |
t_cluster_placement_stats *cluster_placement_stats); | |
#endif |