The goal of these instructions is to build a single image that contains all the openroad tools used by openlane. The is done through three stages.
The repo already provides a snapshot of the tarballs which are generated by going through steps 1 and 2, so you can jump to 3 if we wish to save time building the tools.
The following make target iteratively builds each tool in a sperate docker image.
make build-all
Then we export the binaries generated by each image to tarballs in tar
directory.
make export-all
Finally, we merge all the tools in a single docker image.
make merge
You can chose to build a specific tool by running:
make build-<tool>
And exporting it by running:
make export-<tool>
The following are the available tools:
replace cts ioplacer opendp resizer route fastroute opensta yosys tapcell magic
If you wish to update the already built docker image, you should first remove the generated tarballs:
rm tar/*
Following that, either go through steps 1-3 to generate and update docker image, or update a single or multiple tools as follows:
rm tar/<tool1>.tar.gz rm tar/<tool2>.tar.gz . . rm tar/openroad_tools.tar.gz tar/openLANE_flow.tar.gz make build-<tool1> DOCKER_BUILD_OPTS=--no-cache make export-<tool1> make build-<tool2> DOCKER_BUILD_OPTS=--no-cache make export-<tool2> . . make merge
This should you remove the existing tarballs. Then, build and export specific tool(s).