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.32k stars 372 forks source link

OpenLane no longer provides report_design_area reports as of a recent commit #1045

Closed tdene closed 2 years ago

tdene commented 2 years ago

Description

Running a design through OpenLane on tag 2022.02.21_02.33.47 provides report_design_area output for steps 8, 12, 23, 24.

Running a design through OpenLane on the most recent commit outputs the phrase SKIPPED! to the area reports for steps 8, 12, 14, 27, 28.

This lack of automatic area reporting is significant.

Environment

Kernel: Linux v5.13.0-39-generic
Distribution: ubuntu 20.04
Python: v3.8.10 (OK)
Container Engine: docker v20.10.12 (OK)
OpenLane Git Version: 7891c2c8859e8c800226920c181fa039ad298e79
pip:click: INSTALLED
pip:pyyaml: INSTALLED
pip:venv: INSTALLED
---
PDK Version Verification Status: OK
---
Git Log (Last 3 Commits)

7891c2c 2022-04-11T13:50:51-07:00 Replaced `MISMATCHES_OK` with more granular variables (#1042) - Mohamed Gaber -  (HEAD -> master, tag: mpw-6b, origin/master, origin/HEAD)
6e35319 2022-04-11T13:12:05-07:00 Switch to the new PDN from OpenROAD. (#1038) - Balint Cristian -  ()
f2a212d 2022-04-11T16:27:44+02:00 Load tech liberty file before any extra ones (#1041) - Anton Blanchard -  ()

Reproduction Material

make test
cat designs/spm/runs/openlane_test/reports/*/*area*

Expected behavior

Reports should output the same area information that they did in previous versions of OpenLane.

tdene commented 2 years ago

As this is a critical issue for my use-case, I am more than willing to write the PR on this one. I would have cycles available in roughly 4 hours.

I'd appreciate some tips on what might have caused this issue.

maliberty commented 2 years ago

I think this is due to https://github.com/The-OpenROAD-Project/OpenLane/commit/b73708657657af6c1d7626ff8d390adc982627db

In report.py it used to look for design_area in synthesis and area_report in OR logs. Now it just looks for design_area which is not found, hence SKIPPED.

tdene commented 2 years ago

I am confirming that Matt's suggested change fixes both the PnR area report (previously working, currently not working) as well as the post-ABC synthesis area report (previously not working, currently not working).

Attaching #1047