Add FuseSoC support and Github CI actions
This adds a core description file for the qspiflash core that exposes targets for linting and for building a GDSII using OpenLANE. All targets are also implemented as Github actions so that they get run on every push to the repo.
Quick FuseSoC instructions:
#install FuseSoC pip3 install fusesoc #Create and enter a new workspace mkdir workspace && cd workspace #Register qspiflash as a library in the workspace fusesoc library add qspiflash /path/to/qspiflash #...if repo is available locally or... fusesoc library add qspiflash https://github.com/zipcpu/qspiflash #...to get the upstream repo
#To run lint fusesoc run --target=lint zipcpu::qspiflash #To build with OpenLANE running in a docker container EDALIZE_LAUNCHER=el_docker fusesoc run --target=sky130 zipcpu::qspiflash #List all targets fusesoc core show zipcpu::qspiflash
Thank you for this addition. I've wanted to fusesoc enable a lot of my own IP, but ... haven't dug into it enough to make a go at it.
This is probably a good place to start.
However, the wbqspiflash & llqspi IP found in this repository are really both deprecated. They have been replaced with the qflexpress (QSPI), spixpress (SPI), and dualflexpress (Dual SPI) IP cores. Each is an independent IP in its own right.
Can you update your pull for this change?
Also, a request of mine since I don't normally use fusesoc, how will I know if anything I do causes one of these fusesoc files to break? And, then, what would I do to fix it?
Thanks!