Since simulation tools and FPGA tools use such vastly different inputs to feed in files (🙄 ), we want to leverage FuseSoC’s ability to let us define a “generic” file list that gets mushed into a nice intermediate format that we can then parse in Python to generate filelists for the particular tools

Ideally we’d be able to use FuseSoC’s ability to run all the way through (including simulation and FPGA builds). However, we have some quirks. Testing is cocotb or scary custom DPI based, so there aren’t great FuseSoC bindings. FPGA builds are based on Corundum’s build system, which I don’t feel like porting to FuseSoC. As a result, the quickest way is just to generate filelists.

Overall Design:

FuseSoC usage in Beehive:

Example usage: