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

Support gziped Liberty files #4830

Open
hpretl opened this issue Jan 1, 2025 · 16 comments · May be fixed by #4834
Open

Support gziped Liberty files #4830

hpretl opened this issue Jan 1, 2025 · 16 comments · May be fixed by #4834
Assignees

Comments

@hpretl
Copy link

hpretl commented Jan 1, 2025

Feature Description

Happy New Year, YosysHQ team! Please keep up the excellent work you are doing!

It looks like (I haven't tested myself) that Yosys is already supporting gzip'ed Verilog files. It would be equally useful to support gzip'ed Liberty (.lib.gz) files, as having zipped Liberty files in the PDK setup would be a big help for space reduction.

See also efabless/openlane2#627

@donn
Copy link
Contributor

donn commented Jan 1, 2025

Yosys does support gzipped liberty files, it's our Yosys script that emitted that error :)

@hpretl
Copy link
Author

hpretl commented Jan 1, 2025

Sounds good, then looks like we could have .gz support soon in OL2 :-)

@povik
Copy link
Member

povik commented Jan 1, 2025

Thanks and happy new year to you too!

Yosys does support gzipped liberty files

It does support them for read_liberty, not for abc -liberty or dfflibmap -liberty. @widlarizer happens to be looking into this.

@hpretl
Copy link
Author

hpretl commented Jan 1, 2025

@widlarizer +1 for nickname :-)

@hpretl
Copy link
Author

hpretl commented Jan 5, 2025

OL2 is almost released with.gz support (planned for 2.3.2 version). @widlarizer Do you have a timeline for full .gz support rolled into a Yosys release?

@donn
Copy link
Contributor

donn commented Jan 5, 2025

We wouldn't include something as major as a Yosys upgrade in a patch version btw

@gadfort
Copy link
Contributor

gadfort commented Jan 6, 2025

dfflibmap and the clockgate command would also need to be able to support a dont use list, otherwise to enable that we still have to preprocess the file.

@povik
Copy link
Member

povik commented Jan 6, 2025

I think both do already (at least as of master)

@gadfort
Copy link
Contributor

gadfort commented Jan 6, 2025

@povik thanks for clarifying, I hadn't seen that

@gadfort
Copy link
Contributor

gadfort commented Jan 6, 2025

@povik is there a plan to support multiple liberty files on these commands as well? (like abc)?

@povik
Copy link
Member

povik commented Jan 6, 2025

Yes, there is. Btw as @widlarizer points out in the linked PR, for abc -liberty to accept gzipped Liberty files we need to change ABC, not Yosys. We don't have concrete plans to do that yet. If anyone in the community wants to pick this task up please let the Yosys team know.

@gadfort
Copy link
Contributor

gadfort commented Jan 6, 2025

@povik one possibility would be to extract the files into the tmp directory that abc is running in if the liberty file has a .gz extension (avoiding the need to update ABCs support)

@povik
Copy link
Member

povik commented Jan 6, 2025

Right, we already prepare a bunch of temp files for ABC. Though it's suboptimal for those PDKs where the Liberty files are excessively large but at least it gets us something in the short term.

@hpretl
Copy link
Author

hpretl commented Jan 6, 2025

@povik I think the approach with extract to /tmp would be a good compromise to get this in reasonable short time, and have mid-term abc prepared for .gz support.

@widlarizer
Copy link
Collaborator

@gadfort

is there a plan to support multiple liberty files on these commands as well? (like abc)?

We're streets ahead of ya: #4797, sorry it didn't make it into the release notes!

@gadfort
Copy link
Contributor

gadfort commented Jan 7, 2025

@widlarizer even better :-)

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

Successfully merging a pull request may close this issue.

5 participants