I've pushed a couple more commits with minor cleanups and verified that the demo still works on Nexys 4 DDR. This needs to be squashed before merging, but leaving it as separate commits for now for easier collaboration.
However, it does not work on the VC108 board as I got it from your desk.
Are there any special settings necessary? (Vivado, switches on the board, etc.)
Which USB port should be the right one (higher or lower numbered?) Is there a reliable way to know which one of the two serial ports are the right ones?
Final testing is still running, don't merge just yet.