tmahlburg / picosoc-basys3 Goto Github PK
View Code? Open in Web Editor NEWWrapper module for the PicoSoC to support the Digilent Basys 3
Wrapper module for the PicoSoC to support the Digilent Basys 3
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!
Do you know why
localparam ser_half_period = 53;
I am trying to run implementation in vivado but getting a place error and also insufficient I/O ports. I am also getting IO clock placer failed.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.