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

abc: extract compressed Liberty files to temporary directory #4841

Draft
wants to merge 14 commits into
base: main
Choose a base branch
from

Conversation

widlarizer
Copy link
Collaborator

This PR will extend abc passes to use the builtin gzip capabilities of yosys to decompress .lib.gz files to the temporary directories used to interact with abc. This will allow -liberty <filename> arguments to all passes to support .lib.gz consistently, even if it's a bit clunky and wasteful. This is sketchy, because on many systems, /tmp/ is backed by tmpfs which is purely backed by system memory, and the point of using .lib.gz is to handle very large Liberty files.

  • unify with abc and abc9 through inheritance

This code also adds the cleanup functionality missing from abc_new by holding a single per-run top-level directory which then contains the extracted Liberty files as well as the current per-module temporary directories and removing the top-level directory at the end unless -nocleanup is set.

The PR is rooted in the branch for #4834. and until that's merged and this PR is rebased. it will have a spammy diff against main

@widlarizer widlarizer requested a review from povik January 10, 2025 22:43
@QuantamHD
Copy link
Contributor

QuantamHD commented Jan 11, 2025

It looks like ABC already has a zlib dep in tree. Might be easier to just add support for .lib.gz in ABC rather than complicating Yosys.

https://github.com/berkeley-abc/abc/tree/d5e1a5d445f68bdb4895bb735b9568e5f4738c13/src/misc/zlib

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