|
| 1 | +.. zephyr:board:: cv32a6_genesys_2 |
| 2 | +
|
| 3 | +Overview |
| 4 | +******** |
| 5 | + |
| 6 | +The Digilent Genesys 2 board features a Xilinx Kintex-7 FPGA which can run various softcore CPUs. |
| 7 | +In this configuration, the Genesys 2 is configured with a 32-bit version of the CVA6 RISC-V CPU. |
| 8 | +The SoC is configured with a memory controller interfacing with the Genesys' DRAM, PLIC and CLINT |
| 9 | +interrupt controllers, a UART device interfacing with the Genesys' USB UART, a RISC-V compatible |
| 10 | +debug module that interfaces with the Genesys' FTDI (USB JTAG) chip, a Xilinx SPI interface |
| 11 | +interfacing with the Genesys' SD card slot and a Xilinx GPIO interfacing with the Genesys' LEDs |
| 12 | +and switches. |
| 13 | +The complete hardware sources (see first reference) in conjunction with |
| 14 | +instructions for compiling and loading the configuration onto the Genesys 2 are available. |
| 15 | + |
| 16 | +See the following references for more information: |
| 17 | + |
| 18 | +- `CVA6 documentation`_ |
| 19 | +- `Genesys 2 Reference Manual`_ |
| 20 | +- `Genesys 2 Schematic`_ |
| 21 | + |
| 22 | +Hardware |
| 23 | +******** |
| 24 | + |
| 25 | +- CVA6 CPU with RV32imac instruction sets with PLIC, CLINT interrupt controllers. |
| 26 | +- 1 GB DDR3 DRAM |
| 27 | +- 10/100/1000 Ethernet with copper interface, lowRISC Ethernet MAC |
| 28 | +- ns16550a-compatible USB UART, 115200 baud |
| 29 | +- RISCV debug module, connected via on-board FTDI (USB JTAG) |
| 30 | +- Xilinx SPI controller, connected to microSD slot |
| 31 | +- Xilinx GPIO, connected to 7 switches and LEDs |
| 32 | + |
| 33 | +Supported Features |
| 34 | +================== |
| 35 | + |
| 36 | +.. zephyr:board-supported-hw:: |
| 37 | +
|
| 38 | +Programming and Debugging |
| 39 | +************************* |
| 40 | + |
| 41 | +Loading the FPGA configuration |
| 42 | +============================== |
| 43 | + |
| 44 | +You need to build a bitstream with Xilinx Vivado and load it into the FPGA |
| 45 | +before you can load zephyr onto the board. |
| 46 | +Please refer to the CVA6 documentation for the required steps. |
| 47 | +This configuration is compatible with the following build targets: |
| 48 | +cv32a6_imac_sv0, cv32a6_imac_sv32, cv32a6_imafc_sv32, cv32a6_ima_sv32_fpga. |
| 49 | + |
| 50 | +Flashing |
| 51 | +======== |
| 52 | +west flash is supported via the openocd runner. |
| 53 | +Here is an example for the :zephyr:code-sample:`hello_world` application. |
| 54 | + |
| 55 | +.. zephyr-app-commands:: |
| 56 | + :zephyr-app: samples/hello_world |
| 57 | + :board: cv32a6_genesys_2 |
| 58 | + :goals: build flash |
| 59 | + |
| 60 | +Debugging |
| 61 | +========= |
| 62 | + |
| 63 | +west debug, attach and debugserver commands are supported via the openocd runner. |
| 64 | +Here is an example for the :zephyr:code-sample:`hello_world` application. |
| 65 | + |
| 66 | +.. zephyr-app-commands:: |
| 67 | + :zephyr-app: samples/hello_world |
| 68 | + :board: cv32a6_genesys_2 |
| 69 | + :goals: build debug |
| 70 | + |
| 71 | +References |
| 72 | +********** |
| 73 | + |
| 74 | +.. _CVA6 documentation: |
| 75 | + https://github.com/openhwgroup/cva6 |
| 76 | + |
| 77 | +.. _Genesys 2 Reference Manual: |
| 78 | + https://digilent.com/reference/programmable-logic/genesys-2/reference-manual |
| 79 | + |
| 80 | +.. _Genesys 2 Schematic: |
| 81 | + https://digilent.com/reference/_media/reference/programmable-logic/genesys-2/genesys-2_sch.pdf |
0 commit comments