OpenFPGA/vpr7_x2p/vpr/SRC/pack/cluster_placement.h

36 lines
1.2 KiB
C

/*
Find placement for group of logical blocks in complex block
Author: Jason Luu
*/
#ifndef CLUSTER_PLACEMENT_H
#define CLUSTER_PLACEMENT_H
#include "arch_types.h"
#include "util.h"
t_cluster_placement_stats *alloc_and_load_cluster_placement_stats(void);
boolean get_next_primitive_list(
INOUTP t_cluster_placement_stats *cluster_placement_stats,
INP t_pack_molecule *molecule,
INOUTP t_pb_graph_node **primitives_list,
INP int clb_index);
void commit_primitive(INOUTP t_cluster_placement_stats *cluster_placement_stats,
INP t_pb_graph_node *primitive);
void set_mode_cluster_placement_stats(INP t_pb_graph_node *complex_block,
int mode);
void reset_cluster_placement_stats(
INOUTP t_cluster_placement_stats *cluster_placement_stats);
void free_cluster_placement_stats(
INOUTP t_cluster_placement_stats *cluster_placement_stats);
int get_array_size_of_molecule(t_pack_molecule *molecule);
boolean exists_free_primitive_for_logical_block(
INOUTP t_cluster_placement_stats *cluster_placement_stats,
INP int ilogical_block);
void reset_tried_but_unused_cluster_placements(
INOUTP t_cluster_placement_stats *cluster_placement_stats);
#endif