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

Consider using existing environments? #2

Open
mithro opened this issue May 4, 2019 · 6 comments
Open

Consider using existing environments? #2

mithro opened this issue May 4, 2019 · 6 comments

Comments

@mithro
Copy link

mithro commented May 4, 2019

There are a number of other projects to distribute tooling;

Is there a way to collaborate and/or reuse stuff here?

@mballance
Copy link
Contributor

Funny you should mention this, since I just became of Conda last night. Definitely something I’ll investigate to see what can be leveraged!

@mithro
Copy link
Author

mithro commented May 4, 2019

@mballance - Happy to chat with you while at LatchUp about the advantages / disadvantages of each.

@krupan
Copy link

krupan commented Feb 6, 2020

I just started developing my own tool similar to edapack. Then I found edapack and figured I should probably just use it. Then I saw this discussion about other existing tools. @mithro should I look into one of the others instead? I'm most interested in building and maintaining my own clones of many of these projects (icarus, verilator, ghdl, etc.) that have my own patches applied (at least until they get accepted upstream). I need to build the EDA tools for redhat/centos and ubuntu (various releases of each). I started looking at conda and it looks promising, except I'm not sure if I need any of the python stuff it seems to include

If this is not the right place for this discussion feel free to email me directly: bmurdock@gmail.com, or suggest some other forum/chat/mailing-list

@mballance
Copy link
Contributor

mballance commented Feb 6, 2020

Hi,
Thanks for contacting me about this! I started EDAPack a while before I was aware of Conda, but have since decided that Conda fills ~95% of what I need an EDA toolchain manager to do. The couple things that Conda doesn't do well (IMO) that an EDA toolchain manager could be called on to do are to easily manage multiple versions of a given tool (eg I need to use different synthesis-tool versions for different projects), and to easily manage 3rd-party tools (eg Quartus, Vivado, etc).
Consequently, I'd highly recommend Conda for your work here.
You raise the point of Conda including Python, and that is a bit of an overhead. Check out 'minconda' for a smaller-footprint install. Another point, here, is that Conda might be available pre-installed with continuous-integration services. Azure, at least, provides a very simple way activate a pre-installed Conda (have a look at one of my pipelines file here: https://github.com/mballance/fwrisc/blob/master/azure-pipelines.yml).
Conda packages definitely support custom patches applied, so you would be covered there. @mithro has a GitHub repository here (https://github.com/litex-hub/litex-conda-eda) with package recipes for a set of tools (eg Icarus, Verilator, Yosys, etc). The broader Conda community also offers a very large set of packages.
Conda bundles enough 'stuff' with it that you shouldn't need to create separate builds for different Linux platforms. One build should be sufficient, which is a very nice thing!
Hope the info above is helpful, and would be very happy to have another contributor to making OSS EDA tools easily accessible!

Best Regards,
Matthew

@krupan
Copy link

krupan commented Feb 6, 2020 via email

@mithro
Copy link
Author

mithro commented Feb 6, 2020

FYI - @mballance - Conda supports multiple "environments" and each environment can have different versions of the tools installed.

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

3 participants