Skip to content
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

Docker? #3

Open
vcifello opened this issue Jul 17, 2024 · 1 comment
Open

Docker? #3

vcifello opened this issue Jul 17, 2024 · 1 comment

Comments

@vcifello
Copy link

Great project!

Would it be possible to Dockerize?

Would love to use on Mac silicon.

Thanks

@peterzieba
Copy link
Owner

It sounds like Wine will run on Mac Silicon (or can be made to with some convincing?), and so in theory everything else should work all the same once Wine is set up. Using something like Quartus would require a hypervisor to run Windows, but also very likely not a problem for Mac Silicon.

I would be interested in nudging the shell script to behave identically on a Mac if it turned out that there were issues there, but I don't own one and so that makes things a little tricky.

As for Docker, It's a cool idea and I definitely appreciate that many things can be a chore to get things up and running, but it's not clear to me that it would be the right solution to the problem and I'm not sure I would have the bandwidth to maintain a release if it were. I would however be more than happy to include it in the list of potential approaches if one were successfully created and found to be beneficial.

Much of what I emphasize here in this repository is that there are very many potential approaches to getting something to work that depend highly upon what one is already familiar with or what one wants out of the experience.

  • If one is already familiar with Quartus for instance and has no desire to learn even a bit of CUPL, well, then perhaps that is the best approach for an individual. Incidentally, this case would not lend itself to Docker at all, but rather a Windows or Windows Virtual Machine.
  • In other cases, perhaps using CUPL directly or with the shell scripts / batch files here is an OK way to go. In those cases however, Wine really should be sufficient and much of everything else should be the same. Wine would provide a consistent experience across installs and Wine also provides prefixes for cases where someone might want multiple but different Windows environments.
  • If one wants a strictly open-source experience and is willing to do some pretty low-level work and live on the edge, OSS CAD Suite might be the way to go. If so, that sounds like it might already be dockerized and people regularly use it on Mac as well.

For me, I really wanted to use CUPL and documenting the esoteric bits about it, the device libraries and the subtle things that would cause it to break was probably the most important bit, so I wrote some shell scripts that would check some basic things to catch common problems. My hope is that the scripts are simple, legible and well commented enough that people can repurpose them to their liking.

To make things even easier, perhaps the other approach might be to simply run something like this in a web browser and be able to drag and drop a .PLD file and get back a .JED. I would love to make something like that happen at some point.

Also worth considering is Github CI workflows, which has been demonstrated here:
https://github.com/Manawyrm/PAL-GAL-CI

My suggestion would be to try setting up Wine if you are interested in using an approach that uses CUPL and see what happens.

Cheers

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants