Skip to content

Commit 1f4e76e

Browse files
authored
Merge pull request #3517 from The-OpenROAD-Project-staging/add_place_repair_timing
add make target for repair_timing post-placement
2 parents 9f77666 + 8e2676e commit 1f4e76e

File tree

2 files changed

+27
-0
lines changed

2 files changed

+27
-0
lines changed

flow/Makefile

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -463,6 +463,12 @@ $(eval $(call do-copy,3_place,2_floorplan.sdc,,.sdc))
463463
do-place:
464464
$(UNSET_AND_MAKE) do-3_1_place_gp_skip_io do-3_2_place_iop do-3_3_place_gp do-3_4_place_resized do-3_5_place_dp do-3_place do-3_place.sdc
465465

466+
# Custom repair_timing target after placement
467+
$(eval $(call do-step,3_6_place_repair_timing,$(RESULTS_DIR)/3_5_place_dp.odb $(RESULTS_DIR)/3_place.sdc,repair_timing_post_place))
468+
469+
.PHONY: place_repair_timing
470+
place_repair_timing: $(RESULTS_DIR)/3_6_place_repair_timing.odb
471+
466472
# Clean Targets
467473
#-------------------------------------------------------------------------------
468474
.PHONY: clean_place
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
utl::set_metrics_stage "place_repair_timing__{}"
2+
source $::env(SCRIPTS_DIR)/load.tcl
3+
erase_non_stage_variables place
4+
load_design 3_5_place_dp.odb 3_place.sdc
5+
6+
set_placement_padding -global \
7+
-left $::env(CELL_PAD_IN_SITES_DETAIL_PLACEMENT) \
8+
-right $::env(CELL_PAD_IN_SITES_DETAIL_PLACEMENT)
9+
10+
puts "Repair setup and hold violations"
11+
estimate_parasitics -placement
12+
log_cmd repair_timing -repair_tns $::env(TNS_END_PERCENT)
13+
14+
# Legalize placement after timing repair
15+
detailed_placement
16+
17+
puts "Estimate parasitics"
18+
estimate_parasitics -placement
19+
report_metrics 3 "place repair timing" true false
20+
21+
write_db $::env(RESULTS_DIR)/3_6_place_repair_timing.odb

0 commit comments

Comments
 (0)