chipsalliance / chipsalliance/f4pga-examples

Add instructions for loading bitstream / connecting to board (maybe factor out to new guide)

Open
#3 2 comments 1 reaction 1 assignee Claimed by @acomodi View on GitHub
Dominant language
Verilog
Stars
289
Forks
79
PR merge metrics
No merged PRs in 30d

Description

Hi everyone,

I ran through these examples and I REALLY LIKED THEM. I think they were originally made to have something that ran through testing automatically every night, but they also seem like a great intro for beginners. I really liked the straightforward Makefile approach here -- I can see each step (synth/pack/place/route), look at the intermediate files, rerun a step with alterations, etc.

But I realized that once I had the bitstream, I didn't know what to do with it. I never had to directly run openOCD with other tutorials, since they always performed it, although wrapped in layers of python or CMake, so I didn't really understand what was going on. Could we either extend the Makefiles with a "prog" target that directly invokes openOCD, or maybe even make a new guide for beginners about the different ways of getting the bits on the board (openocd, Vivado, xc3sprog)? There is a bit of text here, but it skips openocd: https://github.com/SymbiFlow/symbiflow-arch-defs/blob/master/docs/source/getting-started.rst#load-bitstream .

Similarly, I could have used a beginner's guide regarding making a serial connection to the board. I knew of lxterm/litex_term, but only recently learned that "picocom" and "screen" could also be used. For the picoSoc example here, I don't think I would have figured out how to connect without direct help from @acomodi to use "picocom --baud 460800 /dev/ttyUSBx" --- how is the required baudrate of 460800 determined? Is it board-dependent or design-dependent? Here, also, a one-line Makefile target would be useful so that I could learn by examining the Makefile, or maybe it's worth making a stand-alone guide that this could point to.

@rw1nkler , @mgielda , @kgugala , opinions?

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.