Skip to content

Add FuseSoC support and Github CI actions#3

Open
olofk wants to merge 1 commit intoZipCPU:masterfrom
olofk:master
Open

Add FuseSoC support and Github CI actions#3
olofk wants to merge 1 commit intoZipCPU:masterfrom
olofk:master

Conversation

@olofk
Copy link
Copy Markdown

@olofk olofk commented Oct 31, 2022

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

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
@ZipCPU ZipCPU self-assigned this Oct 31, 2022
@ZipCPU
Copy link
Copy Markdown
Owner

ZipCPU commented Oct 31, 2022

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!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

2 participants