tree: 23e211bd0dd4c447bddc596fb041defff8a5b3d3 [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. The 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 sperate docker image.

make build-all

Exporting

Then we export the binaries generated by each 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 specfic tool

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

Rebuilding

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).