Skip to content

Commit fc2651c

Browse files
committed
vpr: Clarify comments related to switch internal capacitance delay calc
1 parent 83fdb15 commit fc2651c

File tree

1 file changed

+14
-7
lines changed

1 file changed

+14
-7
lines changed

vpr/src/route/route_timing.cpp

Lines changed: 14 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1993,12 +1993,6 @@ static void evaluate_timing_driven_node_costs(t_heap* to,
19931993
//From node info
19941994
float from_node_R = device_ctx.rr_nodes[from_node].R();
19951995

1996-
//Once a connection has been made between from_node and to_node, depending on the switch, Tdel may increase due to the internal capacitance of that switch. Even though this delay physically affects from_node, we are making the adjustment on the to_node, because we know the connection used.
1997-
1998-
//To adjust for the time delay, we will need to compute the product of the Rdel that is associated with from_node and the internal capacitance of the switch. First, we will calculate Rdel_adjust. Just like in the computation for Rdel, we consider only half of from_node's resistance.
1999-
2000-
float Rdel_adjust = to->R_upstream - 0.5 * from_node_R;
2001-
20021996
//Update R_upstream
20031997
if (switch_buffered) {
20041998
to->R_upstream = 0.; //No upstream resistance
@@ -2013,7 +2007,20 @@ static void evaluate_timing_driven_node_costs(t_heap* to,
20132007
float Rdel = to->R_upstream - 0.5 * node_R; //Only consider half node's resistance for delay
20142008
float Tdel = switch_Tdel + Rdel * node_C;
20152009

2016-
//Now we will adjust the Tdel to account for the delay caused by the internal capacitance.
2010+
//Depending on the switch used, the Tdel of the upstream node (from_node) may change due to
2011+
//increased loading from the switch's internal capacitance.
2012+
//
2013+
//Even though this delay physically affects from_node, we make the adjustment (now) on the to_node,
2014+
//since only once we've reached to to_node do we know the connection used (and the switch enabled).
2015+
//
2016+
//To adjust for the time delay, we compute the product of the Rdel associated with from_node and
2017+
//the internal capacitance of the switch.
2018+
//
2019+
//First, we will calculate Rdel_adjust (just like in the computation for Rdel, we consider only
2020+
//half of from_node's resistance).
2021+
float Rdel_adjust = to->R_upstream - 0.5 * from_node_R;
2022+
2023+
//Second, we adjust the Tdel to account for the delay caused by the internal capacitance.
20172024
Tdel += Rdel_adjust * switch_Cinternal;
20182025

20192026
//Update the backward cost (upstream already included)

0 commit comments

Comments
 (0)