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

Fix-up support for TinyFPGA B2 board #22

Merged
merged 1 commit into from
Jan 25, 2019

Conversation

nathanrossi
Copy link
Contributor

@nathanrossi nathanrossi commented Sep 3, 2018

This pull request sets up the TinyFPGA B2 board support based on the existing TinyFPGA BX support with minor modifications.

Whilst this pull request does successfully build a bitstream it does not appear to work correctly or meet timing based on icetime without the fixes in #21:

Timing estimate: 1000011.86 ns (0.00 MHz)

In addition to the setup of the bitstream this pull request also includes building a full SPI flash image which contains the "bootmeta" information for the programmer. However to avoid writing to the security pages, included are additional changes for the programmer to allow it to fallback to using the address map provided in the SPI flash without having the "bootmeta" information directly.

@mithro
Copy link
Collaborator

mithro commented Jan 16, 2019

@nathanrossi What is the status of this so far? I would love to merge it...

@nathanrossi
Copy link
Contributor Author

@mithro At the time of making the pull request the bootloader was functional. However it needed the fixes covered in #21 in order to synthesise, place and route correctly (at least with yosys/arachne). Though this might have changed since with yosys and arachne-pnr/nextpnr updates. I can rebase the request and test it with recent tools and see which changes from #21 are needed to get it building, or were you more interested in the tinyprog changes? If so I can split them off into a separate pull request.

@mithro
Copy link
Collaborator

mithro commented Jan 17, 2019

@nathanrossi I'm interested in getting everything in here merged but you might be right in that it makes sense to split this up into multiple pull requests?

@mithro
Copy link
Collaborator

mithro commented Jan 17, 2019

@nathanrossi Basically want to obsolete / remove the older tinyfpgab tool.

Using the TinyFPGA_BX as a base, setup the constraints and module
definition to build the bootloader bitstream for the TinyFPGA B2. All
build artifacts are populated into a build/ subdirectory to simplify
`make clean` and .gitignore setup.

The `fw.bin` targets builds a complete SPI flash image. It includes the
metadata section in flash for "bootmeta", however it leaves the security
page setup as an external process/step.

Also included as preliminary Make targets to build this design with
nextpnr instead of arachne-pnr. The firmware image can be build with the
follow command `make build/bootloader.nextpnr.img`.
@nathanrossi
Copy link
Contributor Author

@mithro So I rebased and retested the changes, with #21 merged everything works correctly with both arachne and nextpnr.

I also split off the tinyprog changes to #41.

@mithro mithro merged commit 95f282e into tinyfpga:master Jan 25, 2019
@nathanrossi nathanrossi deleted the nrossi/b2-w-meta branch January 25, 2019 11:46
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.

None yet

2 participants