Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Pass multiple lib files to ABC #2139

Draft
wants to merge 2 commits into
base: master
Choose a base branch
from

Conversation

rovinski
Copy link
Collaborator

@rovinski rovinski commented Jul 13, 2024

Yosys allows for passing though multiple .lib files to ABC since version 0.41. Therefore, external liberty merging is no longer required in any part of the flow. This PR removes liberty merging and updates variable names

  • Change DONT_USE_* variables to PROCESSED_* variables to better reflect their meaning (we stopped modifying dont_use properties in lib files since syn: move dont_use processing to yosys #1813)
  • Remove the mergeLib rule in Makefile since there are no more users of it
  • Pass multiple libs into the abc options
  • Add a default DFF_LIB_FILE for asap7 because it appears that it was always supposed to have one, but it instead relied on the FF files being merged into the standard cell files

If/when dfflibmap supports reading multiple lib files, we can completely remove DFF_LIB_FILE and PROCESSED_SC_LIB variables. Restructure may lose some support but the underlying abc version would just have to be updated.

Yosys supports merging Liberty files in ABC since v0.41

Signed-off-by: Austin Rovinski <[email protected]>
Signed-off-by: Austin Rovinski <[email protected]>
@rovinski rovinski marked this pull request as draft July 13, 2024 22:11
@oharboe
Copy link
Collaborator

oharboe commented Jul 15, 2024

To see what is going on with the failures in projects with BLOCKS, run:

Run 'nuke' here so that submacros are erased too just to run a full test:

make nuke

Now build without the YOSYS_FLAGS that hide the error message we saw in CI:

make DESIGN_CONFIG=designs/asap7/aes-block/config.mk YOSYS_FLAGS= synth

Output:

BC: execution of command ""/home/oyvind/OpenROAD-flow-scripts/tools/install/yosys/bin/yosys-abc" -s -f /tmp/yosys-abc-ymYdUm/abc.script 2>&1" failed: return code 134.

Re-run that last command:

"/home/oyvind/OpenROAD-flow-scripts/tools/install/yosys/bin/yosys-abc" -s -f /tmp/yosys-abc-ymYdUm/abc.script

Output:

[deleted]
yosys-abc: /home/oyvind/OpenROAD-flow-scripts/tools/yosys/abc/src/misc/vec/vecStr.h:356: char abc::Vec_StrEntry(Vec_Str_t *, int): Assertion `i >= 0 && i < p->nSize' failed.
Aborted (core dumped)
cd flow
$ ../tools/install/yosys/bin/yosys -version
Yosys 0.43 (git sha1 ead4718e5, clang++ 16.0.6 -fPIC -Os)
$ ../tools/install/yosys/bin/yosys-abc
UC Berkeley, ABC 1.01 (compiled Jul 14 2024 13:19:17)

@oharboe
Copy link
Collaborator

oharboe commented Jul 15, 2024

@rovinski Filed berkeley-abc/abc#306

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants