tree: d3d472a6abd8c1ea4eba6523c967cd9596733a41 [path history] [tgz]
  1. firmware/
  2. basys3-full_demo_100.v
  3. basys3-full_demo_50.v
  4. basys3.xdc
  5. basys3_demo.v
  6. basys3_demo_tb.v
  7. CMakeLists.txt
  8. firmware.hex
  9. firmware_noflash_100.hex
  10. firmware_noflash_25.hex
  11. firmware_noflash_50.hex
  12. hex2progmem.py
  13. hx8k-b-evn.pcf
  14. hx8kdemo.v
  15. hx8kdemo_tb.v
  16. nexys_video_demo_100.v
  17. nexys_video_demo_50.v
  18. picorv32.v
  19. picosoc.v
  20. picosoc_noflash.v
  21. README.md
  22. simpleuart.v
  23. spiflash.v
  24. spiflash_tb.v
  25. spimemio.v
tests/9-soc/picosoc/README.md

PicoSoC

This test is the PicoSoC built from revision 9b6ea045f9b539b0f708d71962716e5dde865181

It has been modified so it does not require external SPI flash. Instead, the program is stored in ROM which is implemented in the FPGA.

The ROM content is stored in progmem.v file. The file is generated from using the hex2progmem.py Python script from a HEX file.

! WARNING ! This version of PicoRV32 does not work with compressed instruction set! Make sure to set up proper architecture when building the firmware.

Expected output

The current firmware produces the following output on the basys3 platform. You should experience similar behavior of LEDs and identical serial output on other boards.

  • First four leds (LD0, LD1, LD2, LD3) blinking at a regular rate from left to right.
  • An UART output looking as follows (baud rate must be set to 115200):
Terminal ready
Press ENTER to continue..
Press ENTER to continue..
Press ENTER to continue..
Press ENTER to continue..

 ____  _          ____         ____
|  _ \(_) ___ ___/ ___|  ___  / ___|
| |_) | |/ __/ _ \___ \ / _ \| |
|  __/| | (_| (_) |__) | (_) | |___
|_|   |_|\___\___/____/ \___/ \____|


  [9] Run simplistic benchmark

Command>