Skip to content

Commit

Permalink
Merge branch 'The-OpenROAD-Project:master' into master
Browse files Browse the repository at this point in the history
  • Loading branch information
xtofalex authored Oct 4, 2024
2 parents 8b9add4 + 668a038 commit 2950525
Show file tree
Hide file tree
Showing 173 changed files with 8,578 additions and 9,764 deletions.
2 changes: 1 addition & 1 deletion docs/user/FlowVariables.md
Original file line number Diff line number Diff line change
Expand Up @@ -134,7 +134,6 @@ Note:
| `PLACE_SITE` | Placement site for core cells defined in the technology LEF file. |
| `TAPCELL_TCL` | Path to Endcap and Welltie cells file. |
| `RTLMP_FLOW` | 1 to enable the Hierarchical RTLMP flow, default empty |
| `MACRO_HALO` | Specifies keep out distance from macro, in X and Y, to standard cell row. |
| `MACRO_PLACEMENT` | Specifies the path of a file on how to place certain macros manually using read_macro_placement. |
| `MACRO_PLACEMENT_TCL` | Specifies the path of a TCL file on how to place certain macros manually. |
| `MACRO_PLACE_HALO` | horizontal/vertical halo around macros (microns). Used by automatic macro placement. |
Expand Down Expand Up @@ -193,6 +192,7 @@ Note:
| `DETAILED_ROUTE_ARGS` | Add additional arguments for debugging purpose during detail route. |
| `MACRO_EXTENSION` | Sets the number of GCells added to the blockages boundaries from macros. |
| `RECOVER_POWER` | Specifies how many percent of paths with positive slacks can be slowed for power savings [0-100]. |
| `DETAILED_ROUTE_END_ITERATION` | Maximum number of iterations, default 64. |


### Extraction
Expand Down
8 changes: 6 additions & 2 deletions docs/user/InstructionsForAutoTuner.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,10 @@ We have provided two convenience scripts, `./install.sh` and `./setup.sh`
that works in Python3.8 for installation and configuration of AutoTuner,
as shown below:

```{note}
Make sure you run the following commands in `./tools/AutoTuner/src/autotuner`.
```

```shell
# Install prerequisites
./tools/AutoTuner/install.sh
Expand Down Expand Up @@ -127,8 +131,8 @@ Example:

```shell
python3 distributed.py --design gcd --platform sky130hd \
--config ../designs/sky130hd/gcd/autotuner.json \
tune
--config ../../../../flow/designs/sky130hd/gcd/autotuner.json \
tune --samples 5
```
#### Sweep only

Expand Down
48 changes: 3 additions & 45 deletions flow/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -109,46 +109,6 @@ DESIGN_CONFIG ?= ./designs/nangate45/gcd/config.mk
# this file.
include $(DESIGN_CONFIG)

# For instance Bazel needs artifacts (.odb and .rpt files) on a failure to
# allow the user to save hours on re-running the failed step locally, but
# when working with a Makefile flow, it is more natural to fail the step
# and leave the user to manually inspect the logs and artifacts directly via
# the file system.
#
# Set to 1 to change the behavior to generate artifacts upon failure to
# e.g. do a global route. The exit code will still be non-zero on all other
# failures that aren't covered by the "useful to inspect the artifacts on
# failure" use-case.
#
# Example: just like detailed routing, a global route that fails with congestion, is not
# a build failure(as in exit code non-zero), it is a successful(as in zero exit code)
# global route that produce reports detailing the problem.
#
# Detailed route will not proceed, if there is global routing congestion
#
# This allows build systems, such as bazel, to create artifacts for global
# and detailed route, even if the operation had problems, without having
# know about the semantics between global and detailed route.
#
# Considering that global and detailed route can run for a long time and
# use a lot of memory, this allows inspecting results on a laptop for
# a build that ran on a server.
export GENERATE_ARTIFACTS_ON_FAILURE ?= 0

# Default TNS_END_PERCENT value for post CTS timing repair
# Try fixing all violating endpoints by default (reduce to 5% for runtime)
export TNS_END_PERCENT ?=100

# Default routing layer adjustment
export ROUTING_LAYER_ADJUSTMENT ?= 0.5
export RECOVER_POWER ?= 0
export SKIP_INCREMENTAL_REPAIR ?= 0
export DETAILED_METRICS ?= 0
export EQUIVALENCE_CHECK ?= 0
export CORE_UTILIZATION ?=
export DIE_AREA ?=
export CORE_AREA ?=

# If we are running headless use offscreen rendering for save_image
ifeq ($(DISPLAY),)
export QT_QPA_PLATFORM ?= offscreen
Expand Down Expand Up @@ -200,6 +160,8 @@ export UTILS_DIR ?= $(FLOW_HOME)/util
export SCRIPTS_DIR ?= $(FLOW_HOME)/scripts
export TEST_DIR ?= $(FLOW_HOME)/test

$(foreach line,$(shell $(SCRIPTS_DIR)/defaults.py),$(eval export $(line)))

PUBLIC=nangate45 sky130hd sky130hs asap7 ihp-sg13g2 gf180

ifneq ($(wildcard $(PLATFORM_HOME)/$(PLATFORM)),)
Expand Down Expand Up @@ -265,11 +227,6 @@ export OBJECTS_DIR = $(WORK_HOME)/objects/$(PLATFORM)/$(DESIGN_NICKNAME)/$(FLOW_
export REPORTS_DIR = $(WORK_HOME)/reports/$(PLATFORM)/$(DESIGN_NICKNAME)/$(FLOW_VARIANT)
export RESULTS_DIR = $(WORK_HOME)/results/$(PLATFORM)/$(DESIGN_NICKNAME)/$(FLOW_VARIANT)

# BLOCKS is ORFS specific and is used to trigger hierarchical flow,
# MACROS is a space separated list of macros used in the design,
# but not necessarily built by ORFS using the BLOCKS mechanism.
export MACROS ?= $(BLOCKS)

ifneq ($(BLOCKS),)
$(foreach block,$(BLOCKS),$(eval BLOCK_LEFS += ./results/$(PLATFORM)/$(DESIGN_NICKNAME)_$(block)/$(FLOW_VARIANT)/${block}.lef))
$(foreach block,$(BLOCKS),$(eval BLOCK_LIBS += ./results/$(PLATFORM)/$(DESIGN_NICKNAME)_$(block)/$(FLOW_VARIANT)/${block}.lib))
Expand All @@ -285,6 +242,7 @@ ifneq ($(BLOCKS),)
endif
endif

export RTLMP_FLOW ?= 1
export RTLMP_RPT_DIR ?= $(OBJECTS_DIR)/rtlmp
export RTLMP_RPT_FILE ?= partition.txt
export RTLMP_BLOCKAGE_FILE ?= $(OBJECTS_DIR)/rtlmp/partition.txt.blockage
Expand Down
1 change: 0 additions & 1 deletion flow/designs/asap7/aes-block/block.mk
Original file line number Diff line number Diff line change
Expand Up @@ -11,4 +11,3 @@ export CORE_MARGIN = 2
export PLACE_DENSITY = 0.70

export PLACE_PINS_ARGS = -annealing
export HAS_IO_CONSTRAINTS = 0
2 changes: 0 additions & 2 deletions flow/designs/asap7/aes-block/config.mk
Original file line number Diff line number Diff line change
Expand Up @@ -15,10 +15,8 @@ export PLACE_DENSITY = 0.65

export BLOCKS ?= aes_rcon aes_sbox
export SYNTH_HIERARCHICAL = 1
export RTLMP_FLOW = 1

export PLACE_PINS_ARGS = -annealing
export HAS_IO_CONSTRAINTS = 0

# Generous routing at top level
export MIN_ROUTING_LAYER = M2
Expand Down
Loading

0 comments on commit 2950525

Please sign in to comment.