Skip to content

Commit 9190042

Browse files
committed
Merge remote-tracking branch 'origin/master' into time-independent-build
Signed-off-by: Matt Liberty <[email protected]>
2 parents 2633b4a + 74df8de commit 9190042

File tree

14 files changed

+373
-319
lines changed

14 files changed

+373
-319
lines changed

build_openroad.sh

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,8 @@
55
set -eu
66

77
# Make sure we are on the correct folder before beginning
8-
cd "$(dirname $(readlink -f $0))"
8+
DIR="$(dirname $(readlink -f $0))"
9+
cd "$DIR"
910

1011
# Set up paths to dependencies, such as cmake and boost. Safe no-op
1112
# if tools were set up elsewhere in the path.
@@ -62,13 +63,13 @@ Options:
6263
--yosys-args-overwrite Do not use default flags set by this scrip during
6364
Yosys compilation.
6465
65-
--yosys-args STRING Aditional compilation flags for Yosys compilation.
66+
--yosys-args STRING Additional compilation flags for Yosys compilation.
6667
6768
--openroad-args-overwrite
6869
Do not use default flags set by this scrip during
6970
OpenROAD app compilation.
7071
71-
--openroad-args STRING Aditional compilation flags for OpenROAD app
72+
--openroad-args STRING Additional compilation flags for OpenROAD app
7273
compilation.
7374
7475
--install-path PATH Path to install tools. Default is ${INSTALL_PATH}.
@@ -84,7 +85,7 @@ Options:
8485
Options valid only for Docker builds:
8586
-c, --copy-platforms Copy platforms to inside docker image.
8687
87-
--os=DOCKER_OS_NAME Choose beween ubuntu22.04 (default), ubuntu20.04.
88+
--os=DOCKER_OS_NAME Choose between ubuntu22.04 (default), ubuntu20.04.
8889
8990
This script builds the OpenROAD tools: openroad, yosys and yosys plugins.
9091
By default, the tools will be built from the linked submodule hashes.
@@ -128,14 +129,14 @@ while (( "$#" )); do
128129
DOCKER_COPY_PLATFORMS=1
129130
;;
130131
--yosys-args-overwrite)
131-
YOSYS_OVERWIRTE_ARGS=1
132+
YOSYS_OVERWRITE_ARGS=1
132133
;;
133134
--yosys-args)
134135
YOSYS_USER_ARGS="$2"
135136
shift
136137
;;
137138
--openroad-args-overwrite)
138-
OPENROAD_APP_OVERWIRTE_ARGS=1
139+
OPENROAD_APP_OVERWRITE_ARGS=1
139140
;;
140141
--openroad-args)
141142
OPENROAD_APP_USER_ARGS="$2"
@@ -189,14 +190,14 @@ if [ -n "$CMAKE_INSTALL_RPATH" ]; then
189190
fi
190191

191192
__args_setup() {
192-
if [ ! -z "${YOSYS_OVERWIRTE_ARGS+x}" ]; then
193+
if [ ! -z "${YOSYS_OVERWRITE_ARGS+x}" ]; then
193194
echo "[INFO FLW-0014] Overwriting Yosys compilation flags."
194195
YOSYS_ARGS="${YOSYS_USER_ARGS}"
195196
else
196197
YOSYS_ARGS+=" ${YOSYS_USER_ARGS}"
197198
fi
198199

199-
if [ ! -z "${OPENROAD_APP_OVERWIRTE_ARGS+x}" ]; then
200+
if [ ! -z "${OPENROAD_APP_OVERWRITE_ARGS+x}" ]; then
200201
echo "[INFO FLW-0015] Overwriting OpenROAD app compilation flags."
201202
OPENROAD_APP_ARGS="${OPENROAD_APP_USER_ARGS}"
202203
else
@@ -246,7 +247,7 @@ __local_build()
246247
${NICE} make install -C tools/yosys -j "${PROC}" ${YOSYS_ARGS}
247248

248249
echo "[INFO FLW-0018] Compiling OpenROAD."
249-
eval ${NICE} cmake tools/OpenROAD -B tools/OpenROAD/build ${OPENROAD_APP_ARGS}
250+
eval ${NICE} ./tools/OpenROAD/etc/Build.sh -dir="$DIR/tools/OpenROAD/build" -threads=${PROC} -cmake=\'${OPENROAD_APP_ARGS}\'
250251
${NICE} cmake --build tools/OpenROAD/build --target install -j "${PROC}"
251252
}
252253

docs/user/FlowVariables.md

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -265,16 +265,18 @@ configuration file.
265265

266266
| Variable | Description |
267267
|-----------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
268-
| `CORE_UTILIZATION` | The core utilization percentage (0-100). Overrides `DIE_AREA` and `CORE_AREA`. |
269-
| `CORE_ASPECT_RATIO` | The core aspect ratio (height / width). This values is ignored if `CORE_UTILIZATION` undefined. |
270-
| `CORE_MARGIN` | The margin between the core area and die area, in multiples of SITE heights. The margin is applied to each side. This variable is ignored if `CORE_UTILIZATION` is undefined. |
271-
| `DIE_AREA` | The die area specified as a list of lower-left and upper-right corners in microns (X1 Y1 X2 Y2). This variable is ignored if `CORE_UTILIZATION` and `CORE_ASPECT_RATIO` are defined. |
272-
| `CORE_AREA` | The core area specified as a list of lower-left and upper-right corners in microns (X1 Y1 X2 Y2). This variable is ignored if `CORE_UTILIZATION` and `CORE_ASPECT_RATIO` are defined. |
268+
| `CORE_UTILIZATION` | The core utilization percentage (0-100). |
269+
| `CORE_ASPECT_RATIO` | The core aspect ratio (height / width). This values is ignored if `CORE_UTILIZATION` undefined. |
270+
| `CORE_MARGIN` | The margin between the core area and die area, in multiples of SITE heights. The margin is applied to each side. This variable is ignored if `CORE_UTILIZATION` is undefined. |
271+
| `DIE_AREA` | The die area specified as a list of lower-left and upper-right corners in microns (X1 Y1 X2 Y2). |
272+
| `CORE_AREA` | The core area specified as a list of lower-left and upper-right corners in microns (X1 Y1 X2 Y2). |
273273
| `RESYNTH_AREA_RECOVER` | Enable re-synthesis for area reclaim. |
274274
| `RESYNTH_TIMING_RECOVER` | Enable re-synthesis for timing optimization. |
275275
| `MACRO_HALO_X` | Set macro halo for x-direction. Only available for ASAP7 PDK. |
276276
| `MACRO_HALO_Y` | Set macro halo for y-direction. Only available for ASAP7 PDK. |
277277

278+
The various methods to specify the die and core area(`FLOORPLAN_DEF`, `FOOTPRINT`, `DIE_AREA` and `CORE_UTILIZATION`) are mutually exclusive. If two methods are specified, floorplan.tcl will exit with an error requiring that a single method is used.
279+
278280
#### Placement
279281

280282

etc/DependencyInstaller.sh

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -290,6 +290,7 @@ while [ "$#" -gt 0 ]; do
290290
;;
291291
-ci)
292292
CI="yes"
293+
OR_INSTALLER_ARGS="${OR_INSTALLER_ARGS} -save-deps-prefixes=/etc/openroad_deps_prefixes.txt"
293294
;;
294295
-prefix=*)
295296
OR_INSTALLER_ARGS="${OR_INSTALLER_ARGS} $1"

flow/Makefile

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -145,6 +145,9 @@ export RECOVER_POWER ?= 0
145145
export SKIP_INCREMENTAL_REPAIR ?= 0
146146
export DETAILED_METRICS ?= 0
147147
export EQUIVALENCE_CHECK ?= 0
148+
export CORE_UTILIZATION ?=
149+
export DIE_AREA ?=
150+
export CORE_AREA ?=
148151

149152
# If we are running headless use offscreen rendering for save_image
150153
ifndef DISPLAY
@@ -835,6 +838,10 @@ clean_cts:
835838
.PHONY: route
836839
route: $(RESULTS_DIR)/5_route.odb \
837840
$(RESULTS_DIR)/5_route.sdc
841+
842+
.PHONY: grt
843+
grt: $(RESULTS_DIR)/5_1_grt.odb
844+
838845
# ==============================================================================
839846

840847

0 commit comments

Comments
 (0)