Skip to content

Commit d675ee3

Browse files
committed
openroad: add initial parasitic extraction
1 parent 6197b57 commit d675ee3

File tree

4 files changed

+17
-5
lines changed

4 files changed

+17
-5
lines changed

Makefile

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,11 +25,18 @@ default: help
2525
################
2626
# Dependencies #
2727
################
28+
# Download RCX file used for parasitic extraction from ORFS (configuration got ok by IHP)
29+
IHP_RCX_URL := "https://raw.githubusercontent.com/The-OpenROAD-Project/OpenROAD-flow-scripts/7747f88f70daaeb63f43ce36e71829707b7e3fa7/flow/platforms/ihp-sg13g2/IHP_rcx_patterns.rules"
30+
IHP_RCX_FILE := $(PROJ_DIR)/openroad/IHP_rcx_patterns.rules
31+
2832
## Checkout/update dependencies using Bender
29-
checkout:
33+
checkout: $(IHP_RCX_FILE)
3034
$(BENDER) checkout
3135
git submodule update --init --recursive
3236

37+
$(IHP_RCX_FILE):
38+
curl -L -o $@ $(IHP_RCX_URL)
39+
3340
## Reset dependencies (without updating Bender.lock)
3441
clean-deps:
3542
rm -rf .bender

openroad/.gitignore

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
*.log
22
save
33
reports
4-
out
4+
out
5+
IHP_rcx_patterns.rules

openroad/openroad.mk

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ backend: $(OR_OUT)/$(PROJ_NAME).def
2929
openroad: $(OR_OUT)/$(PROJ_NAME).def
3030

3131
## Place & Route flow using OpenROAD
32-
$(OR_OUT_FILES): $(NETLIST) $(OR_DIR)/scripts/*.tcl $(OR_DIR)/src/*.tcl $(OR_DIR)/src/*.sdc
32+
$(OR_OUT_FILES): $(NETLIST) $(OR_DIR)/scripts/*.tcl $(OR_DIR)/src/*.tcl $(OR_DIR)/src/*.sdc $(OR_DIR)/IHP_rcx_patterns.rules
3333
mkdir -p $(SAVE)
3434
mkdir -p $(REPORTS)
3535
mkdir -p $(OR_OUT)

openroad/scripts/chip.tcl

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -272,7 +272,7 @@ utl::report "Perform buffer insertion..."
272272
repair_design -verbose
273273
utl::report "Repair setup and hold violations..."
274274
repair_timing -skip_pin_swap -setup -verbose -repair_tns 100
275-
repair_timing -skip_pin_swap -hold -hold_margin 0.05 -verbose -repair_tns 100
275+
repair_timing -skip_pin_swap -hold -hold_margin 0.1 -verbose -repair_tns 100
276276

277277
utl::report "GRT incremental..."
278278
# Run to get modified net by DPL
@@ -334,8 +334,12 @@ filler_placement $stdfill
334334
global_connect
335335

336336
save_checkpoint ${log_id_str}_${proj_name}.final
337-
report_metrics "${log_id_str}_${proj_name}.final"
338337
report_image "${log_id_str}_${proj_name}.final" true true false true
338+
define_process_corner -ext_model_index 0 X
339+
extract_parasitics -ext_model_file IHP_rcx_patterns.rules
340+
write_spef out/${proj_name}.spef
341+
read_spef out/${proj_name}.spef; # readback parasitics for OpenSTA
342+
report_metrics "${log_id_str}_${proj_name}.final"
339343

340344
utl::report "Write output"
341345
write_def out/${proj_name}.def

0 commit comments

Comments
 (0)