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

FPGA Board template for supported FPGAs on osflow #218

Closed
lab-mathias-claussen opened this issue Nov 23, 2021 · 6 comments · Fixed by #221
Closed

FPGA Board template for supported FPGAs on osflow #218

lab-mathias-claussen opened this issue Nov 23, 2021 · 6 comments · Fixed by #221

Comments

@lab-mathias-claussen
Copy link
Contributor

Hi,

as the NEORV32 supports gernerically the iCE40upK5 and other FPGAs it would be great to have a template for adding a new, currently not supported board. So adding support for all the baord arround there shoudl be fairly easy and would allow for easy contrbution.

#217 is one of the examples where most of the work is copy and past.

Best Regards

@stnolting
Copy link
Owner

Interesting idea! But I am not exactly sure how to do this... 🤔 Do you propose a specific structure?

@lab-mathias-claussen
Copy link
Contributor Author

Hi,

I woudl add in a first step a template board like, Template_ICE40_UP5K with all requiered files and a bare minimum of vhdl and constrains (No actual pin mapping). Keep in this template boardnames with $Board , $Config, to allow later even more automation for it.

This is not the best idea for sure.

@stnolting
Copy link
Owner

I like that idea. But basically, all the already available osflow setups could be used as templates for adding/porting a new setup.

I think it might be better (and maybe easier to maintain 😉) to add a "porting todo-list" to the osflow README setups/osflow/README.md. We could use your port of the iCEBreaker board from #217 to illustrate the required steps. 🤔
But I'm open for discussion.

@stnolting stnolting linked a pull request Nov 29, 2021 that will close this issue
@umarcor
Copy link
Collaborator

umarcor commented Jan 9, 2022

First off, I'm sorry about taking so long to reply here. This was a crazy month!

My proposal is to submodule hdl/constraints. The purpose of hdl/constraints is precisely to avoid duplicating PCF/LPF/XDC files in each RTL/(V)HDL project. The fact that all constraint files in this repo are located in setups/osflow/constraints/ and separated from other (make)files is meant to make it easier to replace the directory with a submodule. See also hdl/constraints#5.
Submoduling hdl/constraints would reduce the addition of new boards to the creation of a BoardTop file, plus editing two makefiles.

However, I am unsure about submoduling hdl/constraints in this repo. Maybe it's time to move subdir setups to neorv32-setups, and have both neorv32 and hdl/constraints submoduled there. @stnolting wdyt?

@umarcor
Copy link
Collaborator

umarcor commented Jan 9, 2022

See https://github.com/umarcor/neorv32-setups/tree/constraints-submodule.

@stnolting
Copy link
Owner

However, I am unsure about submoduling hdl/constraints in this repo. Maybe it's time to move subdir setups to neorv32-setups, and have both neorv32 and hdl/constraints submoduled there. @stnolting wdyt?

I think this is a very good idea!

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 a pull request may close this issue.

3 participants