VLSIDA / OpenRAM

An open-source static random access memory (SRAM) compiler.
http://www.openram.org
BSD 3-Clause "New" or "Revised" License
780 stars 198 forks source link

Use Volare as PDK version manager #218

Closed mole99 closed 5 months ago

mole99 commented 6 months ago

Volare is a version manager and builder for PDKs using open_pdks. https://github.com/efabless/volare

I believe it would be beneficial for the OpenRAM project to use Volare instead of the current Makefile + open_pdks approach. One improvement is that PDK versions that have been built upstream only need to be enabled (downloaded), if not, the PDK will be built using open_pdks. This saves time and disk space. It is also much easier to change the PDK version. This is useful for when OpenRAM needs to be updated to newer PDK versions.

Volare can be installed via pip together with the other Python modules. Thanks to its Python API, Volare can be integrated directly into OpenRAM.

Currently sky130 and gf180mcu supported.

Projects that use volare:

As a first step, I would look into enabling volare in the Makefile.

mguthaus commented 6 months ago

We actually use conda right now.

mole99 commented 6 months ago

But not for PDK management :)

Currently OpenRAM installs all tools via conda and then goes on to build the PDK using open_pdks.

Volare can also be installed using conda + pip and then be used for PDK management. You can see this approach in PR #219.

It integrates very well with your current infrastructure.

mguthaus commented 6 months ago

Yes. I'll consider this after the break. This is the first day of vacation right now. :)

mole99 commented 6 months ago

I did not expect anything different so close to Christmas ^^ Thanks, have a nice vacation!

erendn commented 5 months ago

Done #219.