VPR-7.0
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros
timing_place_lookup.h File Reference
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define IMPOSSIBLE   -1 /*indicator of an array location that */
 

Functions

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
 

Macro Definition Documentation

#define IMPOSSIBLE   -1 /*indicator of an array location that */

Definition at line 1 of file timing_place_lookup.h.

Function Documentation

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.

981  {
982 
983  static struct s_net *original_net; /*this will be used as a pointer to remember what */
984 
985  /*the "real" nets in the circuit are. This is */
986  /*required because we are using the net structure */
987  /*in these routines to find delays between blocks */
988  static struct s_block *original_block; /*same def as original_nets, but for block */
989 
990  static int original_num_nets;
991  static int original_num_blocks;
992  static int longest_length;
993 
995 
996  alloc_and_assign_internal_structures(&original_net, &original_block,
997  &original_num_nets, &original_num_blocks);
998  setup_chan_width(router_opts, chan_width_dist);
999 
1000  alloc_routing_structs(router_opts, det_routing_arch, segment_inf,
1001  timing_inf, directs, num_directs);
1002 
1003  longest_length = get_longest_segment_length(det_routing_arch, segment_inf);
1004 
1005  /*now setup and compute the actual arrays */
1007  compute_delta_arrays(router_opts, det_routing_arch, segment_inf, timing_inf,
1008  longest_length);
1009 
1010  /*free all data structures that are no longer needed */
1011  free_routing_structs(router_opts, det_routing_arch, segment_inf,
1012  timing_inf);
1013 
1015 
1016  free_and_reset_internal_structures(original_net, original_block,
1017  original_num_nets, original_num_blocks);
1018 }
static void load_simplified_device(void)
static void alloc_delta_arrays(void)
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 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 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 void setup_chan_width(struct s_router_opts router_opts, t_chan_width_dist chan_width_dist)
static int get_longest_segment_length(struct s_det_routing_arch det_routing_arch, t_segment_inf *segment_inf)
static void restore_original_device(void)
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 alloc_and_assign_internal_structures(struct s_net **original_net, struct s_block **original_block, int *original_num_nets, int *original_num_blocks)

+ 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.

1021  {
1022 
1024 
1025 }
static void free_delta_arrays(void)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Variable Documentation

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.