+ Warnings now printed by flow_fail and at the end of noninteractive flow runs + Created warnings.log, errors.log with all warnings and errors + Get Tag now returns a dummy tag if you're on a branch that's not `main` or `master` ~ Tarballing moved to run_tests.py ~ Restored `-u` permissions to run_test.py. ~ Version mismatches now cause the flow to fail, straight up ~ flow_summary.log -> openlane.log ~ Various warning messages updated ~ Version checking moved to `prep` ~ change .bashrc CWD color to green (black was not readable) ~ `return -code error` added to flow_fail, removed after all flow_fail invocations ~ `make pdk` fixed - Removed `--tar_list` from run_designs.py - do your own tarring
The OpenLane Docker Image
Structure
There are two "families" of images: one is for building tools, and the other is for running tools.
The build family has a base image that contains all build dependencies and then a number of subimages named builders tasked with downloading all tools from source and building them.
The run family has a base image that contains all the running dependencies. There are a number of subimages named runnables, which copy the results from the builders and allows them to be runnable- those images are pushed to Docker Hub in the repository efabless/openlane-tools. Another image in the run family is the final OpenLane image, which has all the tools.
openlane-build-base
L cugr **builder**
L cvc **builder**
L openroad_app **builder**
L [...]
openlane-run-base
L openlane
L cugr **runnable**
L cvc **runnable**
L openroad_app **runnable**
Building the OpenLane Image
make # or make openlane # or make merge
Updating a Tool Binary
You can build a tool runnable using the following command: make build-<tool_name>.
To list the available tools, python3 ../dependencies/tool.py --containerized.
Be sure to make openlane after building any tool.