58 lines
1.5 KiB
C
58 lines
1.5 KiB
C
|
|
||
|
/*********************** Subroutines local to this module ********************/
|
||
|
|
||
|
//static
|
||
|
t_rc_node *alloc_and_load_rc_tree(int inet,
|
||
|
t_rc_node ** rc_node_free_list_ptr,
|
||
|
t_linked_rc_edge ** rc_edge_free_list_ptr,
|
||
|
t_linked_rc_ptr * rr_node_to_rc_node);
|
||
|
|
||
|
//static
|
||
|
void add_to_rc_tree(t_rc_node * parent_rc, t_rc_node * child_rc,
|
||
|
short iswitch, int inode, t_linked_rc_edge ** rc_edge_free_list_ptr);
|
||
|
|
||
|
//static
|
||
|
t_rc_node *alloc_rc_node(t_rc_node ** rc_node_free_list_ptr);
|
||
|
|
||
|
//static
|
||
|
void free_rc_node(t_rc_node * rc_node,
|
||
|
t_rc_node ** rc_node_free_list_ptr);
|
||
|
|
||
|
//static
|
||
|
t_linked_rc_edge *alloc_linked_rc_edge(
|
||
|
t_linked_rc_edge ** rc_edge_free_list_ptr);
|
||
|
|
||
|
//static
|
||
|
void free_linked_rc_edge(t_linked_rc_edge * rc_edge,
|
||
|
t_linked_rc_edge ** rc_edge_free_list_ptr);
|
||
|
|
||
|
//static
|
||
|
float load_rc_tree_C(t_rc_node * rc_node);
|
||
|
|
||
|
//static
|
||
|
void load_rc_tree_T(t_rc_node * rc_node, float T_arrival);
|
||
|
|
||
|
//static
|
||
|
void load_one_net_delay(float **net_delay, int inet, struct s_net *nets,
|
||
|
t_linked_rc_ptr * rr_node_to_rc_node);
|
||
|
|
||
|
//static
|
||
|
void load_one_constant_net_delay(float **net_delay, int inet,
|
||
|
struct s_net *nets, float delay_value);
|
||
|
|
||
|
//static
|
||
|
void free_rc_tree(t_rc_node * rc_root,
|
||
|
t_rc_node ** rc_node_free_list_ptr,
|
||
|
t_linked_rc_edge ** rc_edge_free_list_ptr);
|
||
|
|
||
|
//static
|
||
|
void reset_rr_node_to_rc_node(t_linked_rc_ptr * rr_node_to_rc_node,
|
||
|
int inet);
|
||
|
|
||
|
//static
|
||
|
void free_rc_node_free_list(t_rc_node * rc_node_free_list);
|
||
|
|
||
|
//static
|
||
|
void free_rc_edge_free_list(t_linked_rc_edge * rc_edge_free_list);
|
||
|
|