Verilog to Routing - VPR
Functions
stats.h File Reference
#include <vector>
#include <limits>
#include <algorithm>
#include "vpr_types.h"
Include dependency graph for stats.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Functions

void routing_stats (bool full_stats, enum e_route_type route_type, std::vector< t_segment_inf > &segment_inf, float R_minW_nmos, float R_minW_pmos, float grid_logic_tile_area, enum e_directionality directionality, int wire_to_ipin_switch)
 Prints out various statistics about the current routing. More...
 
void print_wirelen_prob_dist ()
 Prints out the probability distribution of the wirelength / number input pins on a net – i.e. simulates 2-point net length probability distribution. More...
 
void print_lambda ()
 Finds the average number of input pins used per clb. More...
 
void get_num_bends_and_length (ClusterNetId inet, int *bends, int *length, int *segments)
 Counts and returns the number of bends, wirelength, and number of routing resource segments in net inet's routing. More...
 
int count_netlist_clocks ()
 Count how many clocks are in the netlist. More...
 
template<typename T >
double linear_regression_vector (const std::vector< T > &vals, size_t start_x=0)
 template functions must be defined in header, or explicitely instantiated in definition file (defeats the point of template) More...
 

Function Documentation

◆ count_netlist_clocks()

int count_netlist_clocks ( )

Count how many clocks are in the netlist.

◆ get_num_bends_and_length()

void get_num_bends_and_length ( ClusterNetId  inet,
int *  bends,
int *  length,
int *  segments 
)

Counts and returns the number of bends, wirelength, and number of routing resource segments in net inet's routing.

◆ linear_regression_vector()

template<typename T >
double linear_regression_vector ( const std::vector< T > &  vals,
size_t  start_x = 0 
)

template functions must be defined in header, or explicitely instantiated in definition file (defeats the point of template)

◆ print_lambda()

void print_lambda ( )

Finds the average number of input pins used per clb.

Does not count inputs which are hooked to global nets (i.e. the clock when it is marked global).

◆ print_wirelen_prob_dist()

void print_wirelen_prob_dist ( )

Prints out the probability distribution of the wirelength / number input pins on a net – i.e. simulates 2-point net length probability distribution.

◆ routing_stats()

void routing_stats ( bool  full_stats,
enum e_route_type  route_type,
std::vector< t_segment_inf > &  segment_inf,
float  R_minW_nmos,
float  R_minW_pmos,
float  grid_logic_tile_area,
enum e_directionality  directionality,
int  wire_to_ipin_switch 
)

Prints out various statistics about the current routing.

Both a routing and an rr_graph must exist when you call this routine.