tree: c5e0a7f5d165ddc3915e41df4a32f29601e9fa3e [path history] [tgz]
  1. include/
  2. jtag/
  3. lib/
  4. memory_test/
  5. minimal/
  6. multiply/
  7. simplebus_micropython/
  8. simplebus_minimal/
  9. spi_flash/
  10. uart/
  11. make.env
  12. make.rules
  13. microwatt.lds
  14. README.md
verilog/dv/microwatt/README.md

Microwatt Tests

To run these you need icarus verilog, and a ppc64le toolchain. On Fedora these are available as packages:

sudo dnf install iverilog gcc-powerpc64le-linux-gnu

And on Ubuntu:

sudo apt install iverilog gcc-powerpc64le-linux-gnu

The test cases need a path to the PDK, eg:

make PDK_PATH=/home/anton/pdk/sky130A

minimal

This is probably where you should start. This is a minimal test that verifies that Microwatt is running. The SPI flash controller is lightly tested because Microwatt uses it to fetch instructions for the test case. The GPIO macro is also lightly tested because Microwatt uses that to signal back to the management engine that it is alive.

jtag

This reads the IDCODE register out of the Microwatt JTAG TAP interface.

uart

A simple UART test where we send a character to Microwatt and it echoes it back.

spi_flash

Before starting flash is initialized with a hash of the offset. The test case then does reads at various offsets and checks if the values returned are correct.

memory_test

A simple memory tester. Writes hashes of the offset of memory into memory, then reads them back.