Open daquintero opened 8 months ago
I have nothing against that and would welcome a package management interface to open_pdks. The reason I haven't done it is that I tend to commit updates very often on the tools I maintain, and it's hard to keep the packaged versions up to date. My policy is generally that if anyone else wants to take on the responsibility of maintaining a packaged version, then they're welcome to do so.
I would like to point out that a packaged version would not be open_pdks but rather the built PDK itself. One of the issues with open_pdks is that the PDK sources take a huge amount of disk space, and building the PDKs takes a huge amount of both memory and disk space. Being able to install just the PDK (either one, sky130 or gf180mcu) would make it easier for the typical end-user.
So I would suggest that the actual package management should be something like sudo apt install sky130-pdk
or sudo apt install gf180mcu-pdk
. (It would also be helpful to check if the IHP process open PDK installs, or can be installed, in a similar fashion; IHP defined their open PDK the format used by open_pdks, so that open_pdks is not needed to build the installed PDK).
FYI, there is an EDA-specific tool called volare (https://github.com/efabless/volare) that does package management of pre-built PDKs, but I think there are plenty of reasons to put the PDKs in some of the common standard package management systems.
Just a possible improvement proposal and whenever I get a tiny bit of time would be most happy to help with it.
Since most existing open-source EDA tools generally are using ubuntu/debian distributions, or RHEL for existing eg. Cadence based EDA tools, maybe it would be interesting if we could package up
open-pdks
into apt or yum so that most users could just do:and to upgrade
or something like this.
An alternative could be homebrew packaging so that maybe even UNIX-based users can just
Maybe you've already thought about this before, or there are good reasons not to do this, but thought to propose in any case