653 float this_pb_length;
656 float wirelength_out = 0;
657 float wirelength_in = 0;
660 float wirelength_tmp;
662 float this_pb_interc_sidelength = 0;
663 float parent_pb_interc_sidelength = 0;
664 boolean top_level_pb;
673 this_pb_interc_sidelength = sqrt(
678 parent_pb_interc_sidelength = 0.;
680 top_level_pb =
FALSE;
681 parent_pb_interc_sidelength =
707 for (i = 0; i < list_cnt; i++) {
726 if (pin_is_an_input) {
730 int * fanout_per_mode;
731 float * wirelength_out_per_mode;
738 for (i = 0; i < list_cnt; i++) {
744 fanout_per_mode[mode_idx] += fanout_tmp;
745 wirelength_out_per_mode[mode_idx] += wirelength_tmp;
752 for (i = 0; i < this_pb_type->
num_modes; i++) {
753 fanout =
max(fanout, fanout_per_mode[i]);
754 wirelength_out =
max(wirelength_out, wirelength_out_per_mode[i]);
756 if (wirelength_out != 0) {
758 * this_pb_interc_sidelength;
761 free(fanout_per_mode);
762 free(wirelength_out_per_mode);
767 * parent_pb_interc_sidelength;
779 assert(list_cnt == 0);
784 for (i = 0; i < list_cnt; i++) {
787 fanout += fanout_tmp;
788 wirelength_out += wirelength_tmp;
790 if (wirelength_out != 0) {
792 * parent_pb_interc_sidelength;
797 * this_pb_interc_sidelength;
816 this_pb_length = sqrt(
825 * (wirelength_in + wirelength_out);
t_power_arch * g_power_arch
t_port_power * port_power
union s_port_power::@5 wire
struct s_pb_graph_node * parent_pb_graph_node
float power_buffer_size_from_logical_effort(float C_load)
struct s_pb_graph_edge ** output_edges
t_power_commonly_used * g_power_commonly_used
float transistor_cnt_buffers
t_pb_graph_node_power * pb_node_power
void * my_calloc(size_t nelem, size_t size)
double power_transistor_area(double num_MTAs)
t_interconnect * interconnect
float local_interc_factor
double power_count_transistors_buffer(float buffer_size)
float transistor_cnt_interc
struct s_pb_graph_node * parent_node
static void power_size_pin_to_interconnect(t_interconnect *interc, int *fanout, float *wirelength)
struct s_pb_type * pb_type
static void * my_realloc(void *memblk, int ibytes)
e_power_buffer_type buffer_type
static double power_transistors_for_pb_node(t_pb_graph_node *pb_node)
e_power_wire_type wire_type
t_pb_graph_pin_power * pin_power