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

Add FuseSoC support and Github CI actions #3

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

olofk
Copy link

@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
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
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants