-
-
Notifications
You must be signed in to change notification settings - Fork 3
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
Add support for nextpnr-gowin #13
Conversation
What has to happen here is that |
Hm, you don't run CI on PRs it seems. I've added a pypi package that "works on my machine"... at least it generates a wheel, I have yet to test it. Apycula is not a runtime dependency of |
All other YoWASP packages include tools to generate bitstreams, so the Gowin one must, too, and the version mismatches must be prevented. |
Co-authored-by: whitequark <whitequark@whitequark.org>
Trying to figure out how to do the plumbing for the version. You'd think |
Give me a few minutes, I'll figure something out for this case. |
|
Ideally you would use it with a shim like this. In that case, you should also add |
Hah, I found this https://pip.pypa.io/en/latest/user_guide/#using-pip-from-your-program eh, up to you if you prefer your solution. |
I've updated the CI configuration so that it runs on pull requests. To make it work, you'll need to update the |
Alright. So I think what remains to be done is to add the pypi-gowin to the CI and test that the flow actually produces working bitstreams. |
Working bitstream produced! |
Co-authored-by: whitequark <whitequark@whitequark.org>
Co-authored-by: whitequark <whitequark@whitequark.org>
Everything seems reasonable now--I'm going to do a few more checks and then merge. Thank you a lot for the PR and the quick updates on the review comments! |
Awesome! My plan is to use this to build the examples in Apicula using this as a way to catch the most dumb mistakes. Probably best I can do short of setting up a hardware-in-the-loop CI. |
Do you need the |
Actually can't really remember... probably not? Might be a historical leftover from the |
I think I only added the flag so if you use the Python scripting interface that it ends up using the same interpreter as the virtualenv. I don't think the cmake line is actually needed. |
Removed it in YosysHQ/nextpnr#765. |
Apycula seems to have a bit different build process than most other FOSS FPGA tools in that it's a Python package that bundles the chipdb, which is built in CI, so the only sensible way to install it is via pip. This means that bundling Apicula as a YoWasp package would be a huge PITA, but there would not be much benefit because it's already a Python package. So this PR only seeks to enable the nextpnr-gowin binary, which requires Apycula as a build dependency.
This PR is WIP, but just want to put it out there to see all the missing pieces and CI failures.
The first commit only adds gowin to the nextpnr build command, and does not yet bundle it into a PyPi package.