This guide runs the smallest ORFS smoke test -- the gcd design on the
nangate45 platform -- from RTL to GDS using the pre-built Docker image.
No local compilation is required.
For the full RTL-to-GDS walkthrough with interactive examples, see the Flow Tutorial.
- Docker installed and running (Docker Desktop with WSL integration on Windows)
- At least 1 CPU core and 8 GB RAM (4 cores recommended)
- A clone of OpenROAD-flow-scripts
Downloading the image is separate from running the flow. Do this once:
docker pull openroad/orfs:latestFrom the root of your OpenROAD-flow-scripts clone:
cd flow
util/docker_shell makeThe Makefile defaults to DESIGN_CONFIG=./designs/nangate45/gcd/config.mk,
so no extra flags are needed for this quickstart.
To select the design explicitly:
util/docker_shell make DESIGN_CONFIG=./designs/nangate45/gcd/config.mkOn success, make prints a stage summary table at the end. For gcd, the
total runtime is typically under five minutes on a modern machine. A full
clean run on WSL2 with Docker Desktop completed in about one minute in our
verification (see Verified environment below).
Final layout files are written under the base flow variant:
| Artifact | Path |
|---|---|
| GDSII | results/nangate45/gcd/base/6_final.gds |
| DEF | results/nangate45/gcd/base/6_final.def |
| Logs | logs/nangate45/gcd/base/ |
Confirm the GDS exists:
ls -lh results/nangate45/gcd/base/6_final.gdsIf you have an X11 display available (for example, WSLg on Windows 11):
util/docker_shell make gui_finalThis opens the finished layout in the OpenROAD GUI. It is not required to validate that the flow completed successfully.
When no graphical display is available, util/docker_shell may print xauth
warnings. These can be ignored for make; they do not affect RTL-to-GDS
execution.
If Docker reports that openroad/orfs:latest is missing, run:
docker pull openroad/orfs:latestTo remove previous results for this design and run all stages again:
util/docker_shell make clean_all
util/docker_shell make- Read the Flow Tutorial for stage-by-stage exploration
- See Docker Shell for other
docker_shelloptions - See Adding New Designs to bring your own RTL
This quickstart was verified with:
- OS: WSL2 (Linux)
- Docker: Docker Desktop 28.4.0
- Image:
openroad/orfs:latest - Command:
util/docker_shell make DESIGN_CONFIG=./designs/nangate45/gcd/config.mk - Full clean run (
make clean_allthenmake): ~61 seconds wall time - Output:
results/nangate45/gcd/base/6_final.gdspresent