03-Protocols/01-SerialTX -- Appeared to program ok. No /dev/ttyUSB* device is created. Connecting to the device that gets created on plug in when "blank" with minicom at 115200 8N1 no hard flow/no soft flow, device /dev/bus/usb/001/112 (incrementing) doesn't work either.
03-Protocols/02-Echo -- same as SerialTX.
03-Protocols/03-SPI_Display -- same as SerialTX.
04-Video/05-Buffer-HDMI -- Just drew the letters "ABC". There's also a line a bit left of center in the top row the height of a character.
04-Video/06-Terminal-HDMI -- Built ok. Sync'd to monitor, but just drew a few character-height lines in a few locations.
Untested:
03-Protocols/03-SPI_Display -- Built ok, no SPI display.
04-Video/01-Color -- Built ok, not sure how to test.
04-Video/02-Checkers -- Not sure how to test.
04-Video/03-Tricolore -- Not sure how to test.
04-Video/04-Text -- Not sure how to test.
04-Video/05-Buffer -- Not sure how to test.
04-Video/06-Terminal -- Not sure how to test.
04-Video/07-Sprite -- Not sure how to test.
05-Pong -- Didn't test the non-HDMI versions.
06-CPU -- Built ok, not sure how to test.
07-Computer -- Built ok, not sure how to test.
08-RISCV/02-Console -- Appeared to work, changed LEDs. Not sure how to view console.
Function Test fpga-odysseus Tutorials.
Tests performed on serial number 2.
See:
https://github.com/ulx3s/fpga-odysseus/
PASS:
* 01-Basics/01-LED
* 01-Basics/02-Button
* 01-Basics/03-Counter
* 01-Basics/04-Trigger
* 01-Basics/05-Debounce
* 02-Audio/01-Sound
* 02-Audio/02-Piano
* 04-Video/01-Color-HDMI
* 04-Video/02-Checkers-HDMI
* 04-Video/03-Tricolore-HDMI
* 04-Video/04-Text-HDMI
* 05-Pong/01-Move-HDMI
* 05-Pong/02-Ball-HDMI
* 05-Pong/03-Game-HDMI
* 05-Pong/04-Wall-HDMI
* 08-RISCV/01-Blinky
Fail:
* 03-Protocols/01-SerialTX -- Appeared to program ok. No `/dev/ttyUSB*` device is created. Connecting to the device that gets created on plug in when "blank" with minicom at 115200 8N1 no hard flow/no soft flow, device /dev/bus/usb/001/112 (incrementing) doesn't work either.
* 03-Protocols/02-Echo -- same as SerialTX.
* 03-Protocols/03-SPI_Display -- same as SerialTX.
* 04-Video/05-Buffer-HDMI -- Just drew the letters "ABC". There's also a line a bit left of center in the top row the height of a character.
* 04-Video/06-Terminal-HDMI -- Built ok. Sync'd to monitor, but just drew a few character-height lines in a few locations.
Untested:
* 03-Protocols/03-SPI_Display -- Built ok, no SPI display.
* 04-Video/01-Color -- Built ok, not sure how to test.
* 04-Video/02-Checkers -- Not sure how to test.
* 04-Video/03-Tricolore -- Not sure how to test.
* 04-Video/04-Text -- Not sure how to test.
* 04-Video/05-Buffer -- Not sure how to test.
* 04-Video/06-Terminal -- Not sure how to test.
* 04-Video/07-Sprite -- Not sure how to test.
* 05-Pong -- Didn't test the non-HDMI versions.
* 06-CPU -- Built ok, not sure how to test.
* 07-Computer -- Built ok, not sure how to test.
* 08-RISCV/02-Console -- Appeared to work, changed LEDs. Not sure how to view console.
jebba
added this to the 3.0.8 milestone 5 years ago
The apio setup in fpga-odysseus isn't quite working. One main reason, I think, is the different FPGA model, which requires a different nextpnr option, namely --um-85k instead of the default --85k.
One kludge up to get most of the way is to change apio thusly:
This will allow the apio build command to successfully build. But that builds a .bit file, which I've failed to program to the FPGA so far. So I re-run the ecppack command with --svf foo.svf instead of foo.bit and it builds a foo.svf I can program with openocd.
The apio setup in fpga-odysseus isn't quite working. One main reason, I think, is the different FPGA model, which requires a different `nextpnr` option, namely `--um-85k` instead of the default `--85k`.
One kludge up to get most of the way is to change `apio` thusly:
<pre>
--- boards.json.orig 2019-03-05 10:17:28.000000000 -0700
+++ boards.json 2019-10-20 16:02:58.862702636 -0600
@@ -314,6 +314,17 @@
"pid": "6015"
}
},
+ "ulx3s-m85f": {
+ "name": "ULX3S",
+ "fpga": "ECP5-LFE5UM-85F-CABGA381",
+ "programmer": {
+ "type": "ujprog"
+ },
+ "usb": {
+ "vid": "0403",
+ "pid": "6015"
+ }
+ },
"versa": {
"name": "ECP5 Versa",
"fpga": "ECP5-LFE5UM-45F-CABGA381",
@@ -328,4 +339,4 @@
"desc": "Lattice ECP5 Versa Board"
}
}
-}
\ No newline at end of file
+}
</pre>
And:
<pre>
--- fpgas.json.orig 2019-03-05 10:17:28.000000000 -0700
+++ fpgas.json 2019-10-20 16:06:42.061511354 -0600
@@ -293,7 +293,7 @@
"ECP5-LFE5UM-85F-CABGA381": {
"arch": "ecp5",
"type": "lfe5um",
- "size": "85k",
+ "size": "um-85k",
"pack": "CABGA381"
},
"ECP5-LFE5UM-85F-CABGA554": {
</pre>
And:
<pre>
--- apio.ini.orig 2019-10-20 16:16:07.686492790 -0600
+++ apio.ini 2019-10-20 16:16:11.090474623 -0600
@@ -1,3 +1,3 @@
[env]
-board = ulx3s-25f
+board = ulx3s-m85f
</pre>
This will allow the `apio build` command to successfully build. But that builds a `.bit` file, which I've failed to program to the FPGA so far. So I re-run the `ecppack` command with `--svf foo.svf` instead of `foo.bit` and it builds a `foo.svf` I can program with `openocd`.
For the earlier tests, I created a .svf file and programmed with openocd. I now have ujprog working and am able to flash the .bit files created earlier OK.
For the earlier tests, I created a `.svf` file and programmed with `openocd`. I now have `ujprog` working and am able to flash the `.bit` files created earlier OK.
Function Test fpga-odysseus Tutorials.
Tests performed on serial number 2.
See:
https://github.com/ulx3s/fpga-odysseus/
PASS:
01-Basics/01-LED
01-Basics/02-Button
01-Basics/03-Counter
01-Basics/04-Trigger
01-Basics/05-Debounce
02-Audio/01-Sound
02-Audio/02-Piano
04-Video/01-Color-HDMI
04-Video/02-Checkers-HDMI
04-Video/03-Tricolore-HDMI
04-Video/04-Text-HDMI
05-Pong/01-Move-HDMI
05-Pong/02-Ball-HDMI
05-Pong/03-Game-HDMI
05-Pong/04-Wall-HDMI
08-RISCV/01-Blinky
Fail:
03-Protocols/01-SerialTX -- Appeared to program ok. No
/dev/ttyUSB*
device is created. Connecting to the device that gets created on plug in when "blank" with minicom at 115200 8N1 no hard flow/no soft flow, device /dev/bus/usb/001/112 (incrementing) doesn't work either.03-Protocols/02-Echo -- same as SerialTX.
03-Protocols/03-SPI_Display -- same as SerialTX.
04-Video/05-Buffer-HDMI -- Just drew the letters "ABC". There's also a line a bit left of center in the top row the height of a character.
04-Video/06-Terminal-HDMI -- Built ok. Sync'd to monitor, but just drew a few character-height lines in a few locations.
Untested:
The apio setup in fpga-odysseus isn't quite working. One main reason, I think, is the different FPGA model, which requires a different
nextpnr
option, namely--um-85k
instead of the default--85k
.One kludge up to get most of the way is to change
apio
thusly:And:
And:
This will allow the
apio build
command to successfully build. But that builds a.bit
file, which I've failed to program to the FPGA so far. So I re-run theecppack
command with--svf foo.svf
instead offoo.bit
and it builds afoo.svf
I can program withopenocd
.For the earlier tests, I created a
.svf
file and programmed withopenocd
. I now haveujprog
working and am able to flash the.bit
files created earlier OK.It also works now to do like
ujproj -j FLASH foo.bit
to write image to flash which survives reboot.The non-HDMI video files need SPI video (OLED?).
Great!
Yes non-HDMI will display same on OLED