-
Notifications
You must be signed in to change notification settings - Fork 109
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
OpenFASOC should expose the main generator flow as an importable python modules #38
Comments
Thanks @proppy |
for conda packages that could happen as part of hdl/conda-eda#192 (the project has a continuous integration environment that rebuild package from HEAD every night) or thru dedicated https://github.com/features/actions in this repo if we wanted to publish those package on PyPI too. |
There is some work on trying to get GitHub Actions to upload to PyPi -- https://github.com/SymbiFlow/actions/tree/main/includes https://github.com/SymbiFlow/actions/blob/main/includes/actions/python/publish-to-pypi-src/action.yaml |
We could make this work now with https://github.blog/2021-11-29-github-actions-reusable-workflows-is-generally-available/ (rather than my older https://github.com/mithro/actions-includes). |
I believe these are deployed on https://github.com/chipsalliance/fasm/actions |
See PR #43 for this I can also add some jupyter notebooks for the documentation |
That would be great! let's schedule some time early this week. Thanks Joaquin! |
@proppy suggested a good idea to expose each stage inside the generator as a python module which can end up something like this
Next steps could be interesting after we have something. @proppy do you want to add something to this? |
Sounds great to me! |
Here is the idea:
In the end, I think we would be having something like this Just having the netlist, I think we could represent the tempsense flow in notebook. Looks simple, does simple thing. Do you people think that this is worth? |
Curious if you're thinking of using an HDL for helping you maintain a structured view of the netlists, see: https://github.com/drom/awesome-hdl for some recommendations (https://github.com/amaranth-lang/amaranth, https://github.com/PyHDI/veriloggen comes to mind or https://github.com/PyHDI/Pyverilog and https://github.com/byuccl/spydrnet as lower leve option). If you prefer to manipulate raw text, I would recommend to look at the templating language like https://jinja.palletsprojects.com/en/3.1.x/. |
Thanks.. Understood. I am not familiar with those projects who shared here though. I will take a look. |
In order to be able to orchestrate generation from other python codebase (or jupyter notebooks) it would be nice if OpenFASOC exposed a python interface over the main generators flows that can be
import
ed, https://github.com/idea-fasoc/OpenFASOC/blob/main/generators/temp-sense-gen/tools/temp-sense-gen.pyNote: https://github.com/idea-fasoc/OpenFASOC/blob/main/generators/temp-sense-gen/tools/TEMP_netlist.py seems to already exposes functions some lower level function that could be imported, but it seems that there is a fair amount of work also done from the outer scripts.
The text was updated successfully, but these errors were encountered: