VPR-7.0
|
#include <assert.h>
#include <string.h>
#include "util.h"
#include "vpr_types.h"
#include "physical_types.h"
#include "globals.h"
#include "vpr_utils.h"
#include "cluster_placement.h"
#include "place_macro.h"
Go to the source code of this file.
Macros | |
#define | MAX_STRING_LEN 128 |
Functions | |
static void | alloc_and_load_port_pin_from_blk_pin (void) |
static void | alloc_and_load_blk_pin_from_port_pin (void) |
static void | mark_direct_of_ports (int idirect, int direct_type, char *pb_type_name, char *port_name, int end_pin_index, int start_pin_index, char *src_string, int line, int **idirect_from_blk_pin, int **direct_type_from_blk_pin) |
static void | mark_direct_of_pins (int start_pin_index, int end_pin_index, int itype, int iport, int **idirect_from_blk_pin, int idirect, int **direct_type_from_blk_pin, int direct_type, int line, char *src_string) |
void | print_tabs (FILE *fpout, int num_tab) |
void | sync_grid_to_blocks (INP int L_num_blocks, INP const struct s_block block_list[], INP int L_nx, INP int L_ny, INOUTP struct s_grid_tile **L_grid) |
boolean | is_opin (int ipin, t_type_ptr type) |
void | get_class_range_for_block (INP int iblk, OUTP int *class_low, OUTP int *class_high) |
int | get_max_primitives_in_pb_type (t_pb_type *pb_type) |
int | get_max_nets_in_pb_type (const t_pb_type *pb_type) |
int | get_max_depth_of_pb_type (t_pb_type *pb_type) |
boolean | primitive_type_feasible (int iblk, const t_pb_type *cur_pb_type) |
t_pb_graph_pin * | get_pb_graph_node_pin_from_model_port_pin (t_model_ports *model_port, int model_pin, t_pb_graph_node *pb_graph_node) |
t_pb_graph_pin * | get_pb_graph_node_pin_from_vpack_net (int inet, int ipin) |
t_pb_graph_pin * | get_pb_graph_node_pin_from_clb_net (int inet, int ipin) |
t_pb_graph_pin * | get_pb_graph_node_pin_from_block_pin (int iblock, int ipin) |
float | compute_primitive_base_cost (INP t_pb_graph_node *primitive) |
int | num_ext_inputs_logical_block (int iblk) |
void | free_cb (t_pb *pb) |
void | free_pb (t_pb *pb) |
void | free_pb_stats (t_pb *pb) |
int ** | alloc_and_load_net_pin_index () |
void | get_port_pin_from_blk_pin (int blk_type_index, int blk_pin, int *port, int *port_pin) |
void | free_port_pin_from_blk_pin (void) |
void | get_blk_pin_from_port_pin (int blk_type_index, int port, int port_pin, int *blk_pin) |
void | free_blk_pin_from_port_pin (void) |
void | parse_direct_pin_name (char *src_string, int line, int *start_pin_index, int *end_pin_index, char *pb_type_name, char *port_name) |
void | alloc_and_load_idirect_from_blk_pin (t_direct_inf *directs, int num_directs, int ***idirect_from_blk_pin, int ***direct_type_from_blk_pin) |
Variables | |
static int ** | f_port_from_blk_pin = NULL |
static int ** | f_port_pin_from_blk_pin = NULL |
static int *** | f_blk_pin_from_port_pin = NULL |
#define MAX_STRING_LEN 128 |
Definition at line 18 of file vpr_utils.c.
|
static |
Definition at line 865 of file vpr_utils.c.
void alloc_and_load_idirect_from_blk_pin | ( | t_direct_inf * | directs, |
int | num_directs, | ||
int *** | idirect_from_blk_pin, | ||
int *** | direct_type_from_blk_pin | ||
) |
Definition at line 1073 of file vpr_utils.c.
int** alloc_and_load_net_pin_index | ( | ) |
Definition at line 651 of file vpr_utils.c.
|
static |
Definition at line 765 of file vpr_utils.c.
float compute_primitive_base_cost | ( | INP t_pb_graph_node * | primitive | ) |
Determine cost for using primitive within a complex block, should use primitives of low cost before selecting primitives of high cost For now, assume primitives that have a lot of pins are scarcer than those without so use primitives with less pins before those with more
Definition at line 452 of file vpr_utils.c.
void free_blk_pin_from_port_pin | ( | void | ) |
void free_cb | ( | t_pb * | pb | ) |
Definition at line 508 of file vpr_utils.c.
void free_pb | ( | t_pb * | pb | ) |
Definition at line 529 of file vpr_utils.c.
void free_pb_stats | ( | t_pb * | pb | ) |
Definition at line 614 of file vpr_utils.c.
void free_port_pin_from_blk_pin | ( | void | ) |
void get_blk_pin_from_port_pin | ( | int | blk_type_index, |
int | port, | ||
int | port_pin, | ||
int * | blk_pin | ||
) |
Definition at line 818 of file vpr_utils.c.
Definition at line 162 of file vpr_utils.c.
int get_max_depth_of_pb_type | ( | t_pb_type * | pb_type | ) |
Definition at line 222 of file vpr_utils.c.
int get_max_nets_in_pb_type | ( | const t_pb_type * | pb_type | ) |
Definition at line 196 of file vpr_utils.c.
int get_max_primitives_in_pb_type | ( | t_pb_type * | pb_type | ) |
Definition at line 173 of file vpr_utils.c.
t_pb_graph_pin* get_pb_graph_node_pin_from_block_pin | ( | int | iblock, |
int | ipin | ||
) |
Definition at line 403 of file vpr_utils.c.
t_pb_graph_pin* get_pb_graph_node_pin_from_clb_net | ( | int | inet, |
int | ipin | ||
) |
Definition at line 391 of file vpr_utils.c.
t_pb_graph_pin* get_pb_graph_node_pin_from_model_port_pin | ( | t_model_ports * | model_port, |
int | model_pin, | ||
t_pb_graph_node * | pb_graph_node | ||
) |
Return pb_graph_node pin from model port and pin NULL if not found
Definition at line 303 of file vpr_utils.c.
t_pb_graph_pin* get_pb_graph_node_pin_from_vpack_net | ( | int | inet, |
int | ipin | ||
) |
Definition at line 343 of file vpr_utils.c.
void get_port_pin_from_blk_pin | ( | int | blk_type_index, |
int | blk_pin, | ||
int * | port, | ||
int * | port_pin | ||
) |
Definition at line 701 of file vpr_utils.c.
boolean is_opin | ( | int | ipin, |
t_type_ptr | type | ||
) |
Definition at line 148 of file vpr_utils.c.
|
static |
Definition at line 991 of file vpr_utils.c.
|
static |
Definition at line 1023 of file vpr_utils.c.
int num_ext_inputs_logical_block | ( | int | iblk | ) |
Definition at line 458 of file vpr_utils.c.
void parse_direct_pin_name | ( | char * | src_string, |
int | line, | ||
int * | start_pin_index, | ||
int * | end_pin_index, | ||
char * | pb_type_name, | ||
char * | port_name | ||
) |
given a primitive type and a logical block, is the mapping legal
Definition at line 241 of file vpr_utils.c.
void print_tabs | ( | FILE * | fpout, |
int | num_tab | ||
) |
print tabs given number of tabs to file
Definition at line 76 of file vpr_utils.c.
void sync_grid_to_blocks | ( | INP int | L_num_blocks, |
INP const struct s_block | block_list[], | ||
INP int | L_nx, | ||
INP int | L_ny, | ||
INOUTP struct s_grid_tile ** | L_grid | ||
) |
Definition at line 84 of file vpr_utils.c.
|
static |
Definition at line 41 of file vpr_utils.c.
|
static |
Definition at line 31 of file vpr_utils.c.
|
static |
Definition at line 36 of file vpr_utils.c.