The-OpenROAD-Project / OpenLane

OpenLane is an automated RTL to GDSII flow based on several components including OpenROAD, Yosys, Magic, Netgen and custom methodology scripts for design exploration and optimization.
https://openlane.readthedocs.io/
Apache License 2.0
1.36k stars 374 forks source link

Migrate Build System to Match OpenLane 2 #2115

Closed donn closed 6 months ago

donn commented 7 months ago

This makes OpenLane use a Nix 3-based build system in place of the ad-hoc tool_metadata.yaml + Docker-based build-system.

A Docker image is still the ultimate product, so there is no impact on the end-user (other than yum no longer being a thing.)

This PR also effectively synchronizes all tool versions with those of OpenLane 2.


+ Repository is now a Nix flake
~ Change all invocations of `openroad -python` to use `run_odbpy_script` for consistency
~ Change build system from ad-hoc to Nix, still producing a Docker image as a final result
~ Update KLayout scripts to use `klayout-pymod` or properly parse commandline arguments
~ `open_pdks` -> `bdc9412` to match OpenLane 2
- Remove local installer; `nix run .` will run OpenLane natively