-
Notifications
You must be signed in to change notification settings - Fork 0
Description
Hi, first of all I'm really glad you made this wrapper as it provides a starting point and reference for a FPGA noob like me to start modifying picosoc verilog codes. Thank you for creating this repo!
I've just started to learn verilog and I'm very new to FPGA, my goal now is try to let picosoc read firmware.bin from an "external" SPI flash connected to Basys3 via pmod ports.
There exist picosoc example for TinyFPGA BX (https://github.com/tinyfpga/TinyFPGA-BX/tree/master/examples/picosoc) which does exactly this, but unfortunately the code is using some ICE40 FPGA primitives which won't work on Basys3.
For Basys3 I found a picosoc example from symbiflow-examples repo, however it just simply rips all the SPI flash related stuff from its basys3.v
Then I found your repo which seems to still keeping the SPI flash interface. So basically I'm trying to frankenstein all these 3 repos together and make a version of picosoc that will run firmware.bin located at offset 0x50000 in the external SPI flash, just like TinyFPGA BX example, but on a Basys3 board.
My problem now is that I seemed to have some success that the right most 5 leds will light up after boot , and they won't light up if I disconnected the SPI flash so I'm quite sure it's reading from the flash.
However it's not expected behavior and I'm stuck at finding where I might be wrong.
The firmware.bin I'm using is rebuilt from progmem.v from the symbiflow example, the expected behavior should be a led animation running from right to left and UART showing things.
I've try to fix it for three days now and having no progress, so I thought maybe I really should seek help from pros like you....
Here is my repo with the latest code I'm using, thanks in advance for any advice!