tree: 8df573477aaff7121555863d25edbf8562ee6a9a [path history] [tgz]
  1. docker/
  2. tar/
  3. Dockerfile
  4. Makefile
  5. README.md
docker_build/README.md

Build Instructions

Based on openroad build instructions with addition of opendp, opensta and original yosys and some modifications to the dockerfiles and the makefile.

The goal of these instructions is to build a single image that contains all the openroad tools used by openlane. This is done through three stages.

  1. Building
  2. Exporting
  3. Merging

Note

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.

Building

The following make target iteratively builds each tool in a separate docker image (i.e. one docker image per tool).

make build-all

Exporting

Then we export the binaries generated by each tool's image to tarballs in tar directory.

make export-all

Merging

Finally, we merge all the tools in a single docker image.

make merge

Additional information

Building and exporting a specific tool

You can choose 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 ioplacer opendp route fastroute opensta yosys tapcell magic resizer addspacers

Rebuilding

If you wish to update the all the tools, you should first remove the generated tarballs:

rm tar/*

Following that, go through steps 1-3 to generate and update docker image.

You may also want to update a single or multiple tools which an be done 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).