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

Go to the source code of this file.

Functions

void count_routing_transistors (enum e_directionality directionality, int num_switch, t_segment_inf *segment_inf, float R_minW_nmos, float R_minW_pmos)
 

Function Documentation

void count_routing_transistors ( enum e_directionality  directionality,
int  num_switch,
t_segment_inf segment_inf,
float  R_minW_nmos,
float  R_minW_pmos 
)

Definition at line 36 of file rr_graph_area.c.

38  {
39 
40  /* Counts how many transistors are needed to implement the FPGA routing *
41  * resources. Call this only when an rr_graph exists. It does not count *
42  * the transistors used in logic blocks, but it counts the transistors in *
43  * the input connection block multiplexers and in the output pin drivers and *
44  * pass transistors. NB: this routine assumes pass transistors always *
45  * generate two edges (one forward, one backward) between two nodes. *
46  * Physically, this is what happens -- make sure your rr_graph does it. *
47  * *
48  * I assume a minimum width transistor takes 1 unit of area. A double-width *
49  * transistor takes the twice the diffusion width, but the same spacing, so *
50  * I assume it takes 1.5x the area of a minimum-width transitor. */
51  if (directionality == BI_DIRECTIONAL) {
52  count_bidir_routing_transistors(num_switch, R_minW_nmos, R_minW_pmos);
53  } else {
54  assert(directionality == UNI_DIRECTIONAL);
55  count_unidir_routing_transistors(segment_inf, R_minW_nmos, R_minW_pmos);
56  }
57 }
static void count_unidir_routing_transistors(t_segment_inf *segment_inf, float R_minW_nmos, float R_minW_pmos)
static void count_bidir_routing_transistors(int num_switch, float R_minW_nmos, float R_minW_pmos)
Definition: rr_graph_area.c:59

+ Here is the call graph for this function:

+ Here is the caller graph for this function: