Skip to content

Commit 9fa754d

Browse files
[AP][Timing] More Updates to Comments
1 parent 9eef430 commit 9fa754d

File tree

3 files changed

+10
-5
lines changed

3 files changed

+10
-5
lines changed

vpr/src/analytical_place/analytical_solver.cpp

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -162,7 +162,9 @@ void AnalyticalSolver::update_net_weights(const PreClusterTimingManager& pre_clu
162162

163163
// When optimizing for WL, the net weights are just set to 1 (meaning
164164
// that we want to minimize the WL of nets).
165-
// When optimizing for timing, the net weights are set to the cirticality.
165+
// When optimizing for timing, the net weights are set to the timing
166+
// criticality, which is based on the lowest slack of any edge belonging
167+
// to this net.
166168
// The intuition is that we care more about shrinking the wirelength of
167169
// more critical connections than less critical ones.
168170
// Use the AP timing trade-off term to linearly interpolate between these

vpr/src/analytical_place/global_placer.cpp

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -284,6 +284,9 @@ static void update_timing_info_with_gp_placement(PreClusterTimingManager& pre_cl
284284
// NOTE: We may not have enough information to know which pin the driver
285285
// and sink block will use; however the delay models that we care
286286
// about do not use this feature yet.
287+
// We do not know this information since those pins are cluster-
288+
// level pins, and the cluster-level blocks have not been created
289+
// yet.
287290
// TODO: Handle the from and to pins better.
288291
float delay = place_delay_model.delay(driver_block_loc,
289292
0 /*from_pin*/,

vpr/src/timing/PreClusterTimingManager.h

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -93,7 +93,7 @@ class PreClusterTimingManager {
9393
* it terminates at.
9494
*
9595
* This method only updates an internal variable to this class and does not
96-
* perform STA. Call the update_timing_info after updating the delays of all
96+
* perform STA. Call update_timing_info after updating the delays of all
9797
* arcs to save time.
9898
*/
9999
void set_timing_arc_delay(AtomPinId sink_pin_id, float delay) {
@@ -153,8 +153,8 @@ class PreClusterTimingManager {
153153
std::shared_ptr<SetupTimingInfo> timing_info_;
154154

155155
/// @brief Delays of all timing arcs in the atom netlist. This is used to
156-
/// tell the delay calculator what delay to use for external net
157-
/// delays. Here, we use sink pins as unique identifiers for the the
158-
/// timing arc.
156+
/// hold the estimated delays of all atom connections so that the
157+
/// delay calculator can query them when Tatum performs a timing analysis.
158+
/// Here, we use sink pins as unique identifiers for the the timing arc.
159159
vtr::vector<AtomPinId, float> timing_arc_delays_;
160160
};

0 commit comments

Comments
 (0)