VPR-7.0
|
#include <math.h>
#include <stdio.h>
#include <assert.h>
#include <time.h>
#include "util.h"
#include "vpr_types.h"
#include "vpr_utils.h"
#include "globals.h"
#include "route_export.h"
#include "route_common.h"
#include "route_tree_timing.h"
#include "route_timing.h"
#include "route_breadth_first.h"
#include "place_and_route.h"
#include "rr_graph.h"
#include "read_xml_arch_file.h"
#include "ReadOptions.h"
Go to the source code of this file.
Functions | |
static void | free_trace_data (struct s_trace *tptr) |
static void | load_route_bb (int bb_factor) |
static struct s_trace * | alloc_trace_data (void) |
static void | add_to_heap (struct s_heap *hptr) |
static struct s_heap * | alloc_heap_data (void) |
static struct s_linked_f_pointer * | alloc_linked_f_pointer (void) |
static t_ivec ** | alloc_and_load_clb_opins_used_locally (void) |
static void | adjust_one_rr_occ_and_pcost (int inode, int add_or_sub, float pres_fac) |
void | save_routing (struct s_trace **best_routing, t_ivec **clb_opins_used_locally, t_ivec **saved_clb_opins_used_locally) |
void | restore_routing (struct s_trace **best_routing, t_ivec **clb_opins_used_locally, t_ivec **saved_clb_opins_used_locally) |
void | get_serial_num (void) |
boolean | try_route (int width_fac, struct s_router_opts router_opts, struct s_det_routing_arch det_routing_arch, t_segment_inf *segment_inf, t_timing_inf timing_inf, float **net_delay, t_slack *slacks, t_chan_width_dist chan_width_dist, t_ivec **clb_opins_used_locally, boolean *Fc_clipped, t_direct_inf *directs, int num_directs) |
boolean | feasible_routing (void) |
void | pathfinder_update_one_cost (struct s_trace *route_segment_start, int add_or_sub, float pres_fac) |
void | pathfinder_update_cost (float pres_fac, float acc_fac) |
void | init_route_structs (int bb_factor) |
struct s_trace * | update_traceback (struct s_heap *hptr, int inet) |
void | reset_path_costs (void) |
float | get_rr_cong_cost (int inode) |
void | mark_ends (int inet) |
void | node_to_heap (int inode, float cost, int prev_node, int prev_edge, float backward_path_cost, float R_upstream) |
void | free_traceback (int inet) |
t_ivec ** | alloc_route_structs (void) |
void | alloc_route_static_structs (void) |
struct s_trace ** | alloc_saved_routing (t_ivec **clb_opins_used_locally, t_ivec ***saved_clb_opins_used_locally_ptr) |
void | free_trace_structs (void) |
void | free_route_structs () |
void | free_saved_routing (struct s_trace **best_routing, t_ivec **saved_clb_opins_used_locally) |
void | alloc_and_load_rr_node_route_structs (void) |
void | reset_rr_node_route_structs (void) |
void | free_rr_node_route_structs (void) |
void | add_to_mod_list (float *fptr) |
boolean | is_empty_heap (void) |
struct s_heap * | get_heap_head (void) |
void | empty_heap (void) |
void | free_heap_data (struct s_heap *hptr) |
void | invalidate_heap_entries (int sink_node, int ipin_node) |
void | print_route (char *route_file) |
void | reserve_locally_used_opins (float pres_fac, boolean rip_up_local_opins, t_ivec **clb_opins_used_locally) |
void | free_chunk_memory_trace (void) |
Variables | |
t_rr_node_route_inf * | rr_node_route_inf = NULL |
struct s_bb * | route_bb = NULL |
static struct s_heap ** | heap |
static int | heap_size |
static int | heap_tail |
static struct s_heap * | heap_free_head = NULL |
static t_chunk | heap_ch = {NULL, 0, NULL} |
static struct s_trace * | trace_free_head = NULL |
static t_chunk | trace_ch = {NULL, 0, NULL} |
static struct s_linked_f_pointer * | rr_modified_head = NULL |
static struct s_linked_f_pointer * | linked_f_pointer_free_head = NULL |
static t_chunk | linked_f_pointer_ch = {NULL, 0, NULL} |
|
static |
Definition at line 915 of file route_common.c.
void add_to_mod_list | ( | float * | fptr | ) |
Definition at line 898 of file route_common.c.
|
static |
|
static |
Definition at line 679 of file route_common.c.
void alloc_and_load_rr_node_route_structs | ( | void | ) |
Definition at line 785 of file route_common.c.
|
static |
Definition at line 1002 of file route_common.c.
|
static |
Definition at line 1071 of file route_common.c.
void alloc_route_static_structs | ( | void | ) |
Definition at line 623 of file route_common.c.
t_ivec** alloc_route_structs | ( | void | ) |
Definition at line 611 of file route_common.c.
struct s_trace** alloc_saved_routing | ( | t_ivec ** | clb_opins_used_locally, |
t_ivec *** | saved_clb_opins_used_locally_ptr | ||
) |
Definition at line 638 of file route_common.c.
|
static |
Definition at line 1043 of file route_common.c.
void empty_heap | ( | void | ) |
Definition at line 991 of file route_common.c.
boolean feasible_routing | ( | void | ) |
void free_chunk_memory_trace | ( | void | ) |
Definition at line 1287 of file route_common.c.
void free_heap_data | ( | struct s_heap * | hptr | ) |
Definition at line 1019 of file route_common.c.
void free_route_structs | ( | ) |
Definition at line 750 of file route_common.c.
void free_rr_node_route_structs | ( | void | ) |
Definition at line 771 of file route_common.c.
|
static |
void free_trace_structs | ( | void | ) |
Definition at line 733 of file route_common.c.
void free_traceback | ( | int | inet | ) |
Definition at line 587 of file route_common.c.
struct s_heap* get_heap_head | ( | void | ) |
Definition at line 949 of file route_common.c.
float get_rr_cong_cost | ( | int | inode | ) |
void get_serial_num | ( | void | ) |
Definition at line 188 of file route_common.c.
void init_route_structs | ( | int | bb_factor | ) |
Definition at line 394 of file route_common.c.
void invalidate_heap_entries | ( | int | sink_node, |
int | ipin_node | ||
) |
boolean is_empty_heap | ( | void | ) |
Definition at line 944 of file route_common.c.
|
static |
void mark_ends | ( | int | inet | ) |
void node_to_heap | ( | int | inode, |
float | cost, | ||
int | prev_node, | ||
int | prev_edge, | ||
float | backward_path_cost, | ||
float | R_upstream | ||
) |
Definition at line 562 of file route_common.c.
void pathfinder_update_cost | ( | float | pres_fac, |
float | acc_fac | ||
) |
void pathfinder_update_one_cost | ( | struct s_trace * | route_segment_start, |
int | add_or_sub, | ||
float | pres_fac | ||
) |
Definition at line 315 of file route_common.c.
void print_route | ( | char * | route_file | ) |
Definition at line 1095 of file route_common.c.
void reserve_locally_used_opins | ( | float | pres_fac, |
boolean | rip_up_local_opins, | ||
t_ivec ** | clb_opins_used_locally | ||
) |
Definition at line 1208 of file route_common.c.
void reset_path_costs | ( | void | ) |
Definition at line 490 of file route_common.c.
void reset_rr_node_route_structs | ( | void | ) |
void restore_routing | ( | struct s_trace ** | best_routing, |
t_ivec ** | clb_opins_used_locally, | ||
t_ivec ** | saved_clb_opins_used_locally | ||
) |
Definition at line 149 of file route_common.c.
void save_routing | ( | struct s_trace ** | best_routing, |
t_ivec ** | clb_opins_used_locally, | ||
t_ivec ** | saved_clb_opins_used_locally | ||
) |
Definition at line 99 of file route_common.c.
boolean try_route | ( | int | width_fac, |
struct s_router_opts | router_opts, | ||
struct s_det_routing_arch | det_routing_arch, | ||
t_segment_inf * | segment_inf, | ||
t_timing_inf | timing_inf, | ||
float ** | net_delay, | ||
t_slack * | slacks, | ||
t_chan_width_dist | chan_width_dist, | ||
t_ivec ** | clb_opins_used_locally, | ||
boolean * | Fc_clipped, | ||
t_direct_inf * | directs, | ||
int | num_directs | ||
) |
Definition at line 220 of file route_common.c.
Definition at line 421 of file route_common.c.
|
static |
Definition at line 29 of file route_common.c.
|
static |
Definition at line 36 of file route_common.c.
|
static |
Definition at line 34 of file route_common.c.
|
static |
Definition at line 30 of file route_common.c.
|
static |
Definition at line 31 of file route_common.c.
|
static |
Definition at line 52 of file route_common.c.
|
static |
Definition at line 50 of file route_common.c.
struct s_bb* route_bb = NULL |
Definition at line 23 of file route_common.c.
|
static |
Definition at line 49 of file route_common.c.
t_rr_node_route_inf* rr_node_route_inf = NULL |
Definition at line 21 of file route_common.c.
|
static |
Definition at line 41 of file route_common.c.
|
static |
Definition at line 39 of file route_common.c.