Skip to content
New issue

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

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

Already on GitHub? # to your account

Seperate packaging for technologies #74

Open
robtaylor opened this issue Oct 20, 2023 · 5 comments
Open

Seperate packaging for technologies #74

robtaylor opened this issue Oct 20, 2023 · 5 comments
Assignees
Labels
enhancement New feature or request

Comments

@robtaylor
Copy link
Collaborator

We've discussed having separate packages for installing technologies, this is a placeholder for this work and discussion around it.

@robtaylor robtaylor added the enhancement New feature or request label Oct 20, 2023
@jpc-lip6
Copy link
Collaborator

jpc-lip6 commented Oct 29, 2023

We could use as a starting point what has been done in cumulus/src/designflow/technos.py (installed as coriolis.desigflow).

It is important to distinguish between the configuration files for Coriolis and the files from the PDK itself (gds, LEF, .lib and whatever). So we always need to supply to the Coriolis config where the PDK is installed. Unless a standard location is agreed upon (open_pdk maybe ?). I don't see that going into a pip package, it is too far from a Python module.

The question of NDA must also be addressed, the strategy must also allow restricted distribution.

So we have three components that must work together :

  1. Coriolis itself (pip capable).
  2. The technology configuration (pip capable or direct wheel in case of NDA).
  3. The PDK itself. Usually third party and not standardized.

@robtaylor
Copy link
Collaborator Author

robtaylor commented Oct 29, 2023 via email

@mmlouerat
Copy link
Contributor

I fully agree that for closed PDK, the user can supply a path.
Is one path enough? I mean that the organization of the closed PDK may be not compliant with the flow's "great expectations".

@jpc-lip6
Copy link
Collaborator

In the case the PDK is included in the wheel datas, this also put us in charge of maintaining it's synchronicity with the original one. A user may also want to use the PDK for other tools than Coriolis, it shouldn't have to install it a second time for those other tools that may rely on other installation strategies...

@stafverhaegen-chipflow
Copy link
Collaborator

For the PDKMaster based PDKs I would like that it can be done from the PDKMaster based c4m-pdk-XXX python repo as installed from pip. Due to legacy reason PDKMaster.io.coriolis now spits out python files that are then loaded from a path into Coriolis. This was done as I was using python 3 but Coriolis was still python 2.
I would like to transform that so you can initialize the in memory techno from a function in PDKMaster.io.coriolis directly and also do similar for a library f.ex. the standard cell library and not go through python files.

# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

4 participants