fusesoc icon indicating copy to clipboard operation
fusesoc copied to clipboard

Enable Edalize flow API support

Open olofk opened this issue 2 years ago • 3 comments

This enables support for the new flow API in Edalize, which will eventually supersede the current Edalize API. For now these two APIs live side by side. FuseSoC users who wish to remain on the old Edalize API doesn't need to do anything. For users wanting to use the flow API, set the flow key in a target to one of the supported flows, and set the flow_options to control flow-specific options. These two keys have precedence over the default_tool and tools keys currently used in the target section.

This is also one of the two major changes I want to get in before the FuseSoC 2.0 release, so please take a look and comment accordingly

olofk avatar Mar 23 '22 21:03 olofk

Ping @imphil

olofk avatar Mar 23 '22 21:03 olofk

You're right. Documentation is very much needed. Will start writing.

olofk avatar Mar 30 '22 08:03 olofk

I have also encountered some unforseen issues that will require an API rewrite. Specifically, changing the flow graph using flow options (e.g. adding a frontend) doesn't work very well because it's not possible to set any tool options for tools that aren't in the default flow graph. Will do an attempt to solve this with a two-stage approach where we first evaluate all flow options, then ask Edalize to provide the tool options that are relevant for that flow configuration

olofk avatar Jun 14 '22 12:06 olofk

Alright then. I have added some basic documentation. @imphil, could you take another look?

olofk avatar Oct 17 '22 21:10 olofk

I went ahead and merged this

olofk avatar Oct 31 '22 21:10 olofk