|
VPR-7.0
|
#include <stdio.h>#include <math.h>#include <string.h>#include "util.h"#include "vpr_types.h"#include "globals.h"#include "route_common.h"#include "place_and_route.h"#include "route_tree_timing.h"#include "route_timing.h"#include "timing_place_lookup.h"#include "rr_graph.h"#include "route_export.h"#include <assert.h>#include "read_xml_arch_file.h"
Include dependency graph for timing_place_lookup.c:Go to the source code of this file.
Macros | |
| #define | NET_COUNT 1 /*we only use one net in these routines, */ |
| #define | NET_USED 0 /*we use net at location zero of the net */ |
| #define | NET_USED_SOURCE_BLOCK 0 /*net.block[0] is source block */ |
| #define | NET_USED_SINK_BLOCK 1 /*net.block[1] is sink block */ |
| #define | SOURCE_BLOCK 0 /*block[0] is source */ |
| #define | SINK_BLOCK 1 /*block[1] is sink */ |
| #define | BLOCK_COUNT 2 /*use 2 blocks to compute delay between */ |
| #define | NUM_TYPES_USED 3 /* number of types used in look up */ |
| #define | DEBUG_TIMING_PLACE_LOOKUP /*initialize arrays to known state */ |
| #define | DUMPFILE "lookup_dump.echo" |
Functions | |
| static void | alloc_net (void) |
| static void | alloc_block (void) |
| static void | load_simplified_device (void) |
| static void | restore_original_device (void) |
| static void | alloc_and_assign_internal_structures (struct s_net **original_net, struct s_block **original_block, int *original_num_nets, int *original_num_blocks) |
| static void | free_and_reset_internal_structures (struct s_net *original_net, struct s_block *original_block, int original_num_nets, int original_num_blocks) |
| static void | setup_chan_width (struct s_router_opts router_opts, t_chan_width_dist chan_width_dist) |
| static void | alloc_routing_structs (struct s_router_opts router_opts, struct s_det_routing_arch det_routing_arch, t_segment_inf *segment_inf, t_timing_inf timing_inf, INP t_direct_inf *directs, INP int num_directs) |
| static void | free_routing_structs (struct s_router_opts router_opts, struct s_det_routing_arch det_routing_arch, t_segment_inf *segment_inf, t_timing_inf timing_inf) |
| static void | assign_locations (t_type_ptr source_type, int source_x_loc, int source_y_loc, int source_z_loc, t_type_ptr sink_type, int sink_x_loc, int sink_y_loc, int sink_z_loc) |
| static float | assign_blocks_and_route_net (t_type_ptr source_type, int source_x_loc, int source_y_loc, t_type_ptr sink_type, int sink_x_loc, int sink_y_loc, struct s_router_opts router_opts, struct s_det_routing_arch det_routing_arch, t_segment_inf *segment_inf, t_timing_inf timing_inf) |
| static void | alloc_delta_arrays (void) |
| static void | free_delta_arrays (void) |
| static void | generic_compute_matrix (float ***matrix_ptr, t_type_ptr source_type, t_type_ptr sink_type, int source_x, int source_y, int start_x, int end_x, int start_y, int end_y, struct s_router_opts router_opts, struct s_det_routing_arch det_routing_arch, t_segment_inf *segment_inf, t_timing_inf timing_inf) |
| static void | compute_delta_clb_to_clb (struct s_router_opts router_opts, struct s_det_routing_arch det_routing_arch, t_segment_inf *segment_inf, t_timing_inf timing_inf, int longest_length) |
| static void | compute_delta_io_to_clb (struct s_router_opts router_opts, struct s_det_routing_arch det_routing_arch, t_segment_inf *segment_inf, t_timing_inf timing_inf) |
| static void | compute_delta_clb_to_io (struct s_router_opts router_opts, struct s_det_routing_arch det_routing_arch, t_segment_inf *segment_inf, t_timing_inf timing_inf) |
| static void | compute_delta_io_to_io (struct s_router_opts router_opts, struct s_det_routing_arch det_routing_arch, t_segment_inf *segment_inf, t_timing_inf timing_inf) |
| static void | compute_delta_arrays (struct s_router_opts router_opts, struct s_det_routing_arch det_routing_arch, t_segment_inf *segment_inf, t_timing_inf timing_inf, int longest_length) |
| static int | get_first_pin (enum e_pin_type pintype, t_type_ptr type) |
| static int | get_longest_segment_length (struct s_det_routing_arch det_routing_arch, t_segment_inf *segment_inf) |
| static void | reset_placement (void) |
| void | compute_delay_lookup_tables (struct s_router_opts router_opts, struct s_det_routing_arch det_routing_arch, t_segment_inf *segment_inf, t_timing_inf timing_inf, t_chan_width_dist chan_width_dist, INP t_direct_inf *directs, INP int num_directs) |
| void | free_place_lookup_structs (void) |
Variables | |
| float ** | delta_io_to_clb |
| float ** | delta_clb_to_clb |
| float ** | delta_clb_to_io |
| float ** | delta_io_to_io |
| static float ** | net_delay |
| static float * | pin_criticality |
| static int * | sink_order |
| static t_rt_node ** | rt_node_of_sink |
| static t_type_ptr | IO_TYPE_BACKUP |
| static t_type_ptr | EMPTY_TYPE_BACKUP |
| static t_type_ptr | FILL_TYPE_BACKUP |
| static t_type_descriptor | dummy_type_descriptors [NUM_TYPES_USED] |
| static t_type_descriptor * | type_descriptors_backup |
| static struct s_grid_tile ** | grid_backup |
| static int | num_types_backup |
| static t_ivec ** | clb_opins_used_locally |
| #define BLOCK_COUNT 2 /*use 2 blocks to compute delay between */ |
Definition at line 46 of file timing_place_lookup.c.
| #define DEBUG_TIMING_PLACE_LOOKUP /*initialize arrays to known state */ |
Definition at line 55 of file timing_place_lookup.c.
| #define DUMPFILE "lookup_dump.echo" |
Definition at line 57 of file timing_place_lookup.c.
| #define NET_COUNT 1 /*we only use one net in these routines, */ |
Definition at line 35 of file timing_place_lookup.c.
Definition at line 39 of file timing_place_lookup.c.
Definition at line 42 of file timing_place_lookup.c.
Definition at line 41 of file timing_place_lookup.c.
| #define NUM_TYPES_USED 3 /* number of types used in look up */ |
Definition at line 53 of file timing_place_lookup.c.
| #define SINK_BLOCK 1 /*block[1] is sink */ |
Definition at line 44 of file timing_place_lookup.c.
| #define SOURCE_BLOCK 0 /*block[0] is source */ |
Definition at line 43 of file timing_place_lookup.c.
|
static |
Definition at line 344 of file timing_place_lookup.c.
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
Definition at line 236 of file timing_place_lookup.c.
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
Definition at line 565 of file timing_place_lookup.c.
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
Definition at line 211 of file timing_place_lookup.c.
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
Definition at line 422 of file timing_place_lookup.c.
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
Definition at line 521 of file timing_place_lookup.c.
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
Definition at line 493 of file timing_place_lookup.c.
Here is the call graph for this function:
Here is the caller graph for this function:| void compute_delay_lookup_tables | ( | struct s_router_opts | router_opts, |
| struct s_det_routing_arch | det_routing_arch, | ||
| t_segment_inf * | segment_inf, | ||
| t_timing_inf | timing_inf, | ||
| t_chan_width_dist | chan_width_dist, | ||
| INP t_direct_inf * | directs, | ||
| INP int | num_directs | ||
| ) |
Definition at line 978 of file timing_place_lookup.c.
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
Definition at line 947 of file timing_place_lookup.c.
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
Definition at line 636 of file timing_place_lookup.c.
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
Definition at line 787 of file timing_place_lookup.c.
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
Definition at line 742 of file timing_place_lookup.c.
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
Definition at line 837 of file timing_place_lookup.c.
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
Definition at line 367 of file timing_place_lookup.c.
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
Definition at line 600 of file timing_place_lookup.c.
Here is the call graph for this function:
Here is the caller graph for this function:| void free_place_lookup_structs | ( | void | ) |
Definition at line 1021 of file timing_place_lookup.c.
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
Definition at line 469 of file timing_place_lookup.c.
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
Definition at line 610 of file timing_place_lookup.c.
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
|
static |
|
static |
Definition at line 265 of file timing_place_lookup.c.
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
|
static |
Definition at line 309 of file timing_place_lookup.c.
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
Definition at line 399 of file timing_place_lookup.c.
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
Definition at line 88 of file timing_place_lookup.c.
| float** delta_clb_to_clb |
Definition at line 67 of file timing_place_lookup.c.
| float** delta_clb_to_io |
Definition at line 68 of file timing_place_lookup.c.
| float** delta_io_to_clb |
Definition at line 66 of file timing_place_lookup.c.
| float** delta_io_to_io |
Definition at line 69 of file timing_place_lookup.c.
|
static |
Definition at line 83 of file timing_place_lookup.c.
|
static |
Definition at line 81 of file timing_place_lookup.c.
|
static |
Definition at line 82 of file timing_place_lookup.c.
|
static |
Definition at line 85 of file timing_place_lookup.c.
|
static |
Definition at line 80 of file timing_place_lookup.c.
|
static |
Definition at line 76 of file timing_place_lookup.c.
|
static |
Definition at line 86 of file timing_place_lookup.c.
|
static |
Definition at line 77 of file timing_place_lookup.c.
|
static |
Definition at line 79 of file timing_place_lookup.c.
|
static |
Definition at line 78 of file timing_place_lookup.c.
|
static |
Definition at line 84 of file timing_place_lookup.c.