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

usage of packages and tool classes #340

Open
csquaredphd opened this issue Sep 14, 2022 · 1 comment
Open

usage of packages and tool classes #340

csquaredphd opened this issue Sep 14, 2022 · 1 comment

Comments

@csquaredphd
Copy link

I'm looking for clarification on the intended usage of the multiple packages (edalize, edalize.tools, edalize.flows). I have searched the code, issues, and Wiki and understand that edalize.flows is the newest API (which I think is a good move, BTW). The distinction is less clear between edalize and edalize.tools.

For example, if one wanted to add new tool options to Vivado and Yosys, to which package(s) should they be added?

Which package should a newly developed project that incorporates edalize use?

@olofk
Copy link
Owner

olofk commented Sep 29, 2022

The classes directly under edalize are part of the old tool API. The new API consists of flows (in edalize.flows that uses the tool classes from edalize.tools.

A newly developed project should go with the flow API (i.e. the classes under edalize.flows and edalize.tools). At this point in time, not all of the tools have yet been converted to the flow API but both Vivado and yosys should be fine. One complication arises if you're using FuseSoC as the frontend to Edalize (which I don't think you do?), because there is no way yet to use the Edalize flow API from FuseSoC until I have finished olofk/fusesoc#556

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