docs: add documentation for SoC

* Memory Map
* PLIC interrupt sources

Signed-off-by: Nils Wistoff <nwistoff@iis.ee.ethz.ch>
This commit is contained in:
Nils Wistoff 2020-11-03 20:57:06 +01:00 committed by Florian Zaruba
parent 296ce39211
commit 163eb93947
2 changed files with 62 additions and 0 deletions

61
docs/cva6_soc.rst Normal file
View file

@ -0,0 +1,61 @@
CVA6 System on Chip (SoC)
=========================
Memory Map
----------
+---------------+----------------+------------------+----------------+
| Base | Length | Attributes | Description |
+===============+================+==================+================+
| 0x0000_0000 | 0x1000 | EX | Debug Module |
+---------------+----------------+------------------+----------------+
| 0x0001_0000 | 0x10000 | EX | ROM |
+---------------+----------------+------------------+----------------+
| 0x0200_0000 | 0xC0000 | | CLINT |
+---------------+----------------+------------------+----------------+
| 0x0C00_0000 | 0x400_0000 | | PLIC |
+---------------+----------------+------------------+----------------+
| 0x1000_0000 | 0x1000 | | UART |
+---------------+----------------+------------------+----------------+
| 0x1800_0000 | 0x1000 | | Timer |
+---------------+----------------+------------------+----------------+
| 0x2000_0000 | 0x80_0000 | | SPI |
+---------------+----------------+------------------+----------------+
| 0x3000_0000 | 0x10000 | | Ethernet |
+---------------+----------------+------------------+----------------+
| 0x4000_0000 | 0x1000 | | GPIO |
+---------------+----------------+------------------+----------------+
| 0x8000_0000 | 0x4000_0000 | EX, NI, C | DRAM |
+---------------+----------------+------------------+----------------+
*(EX: Executable, NI: Non-idempotent, C: Cached)*
Platform-Level Interrupt Controller (PLIC)
------------------------------------------
The specification of CVA6's platform-level interrupt controller (PLIC) is aligned with the PLIC of
SiFive's FU540-C000_. It shares the same functionality and memory map and has the following
interrupt sources:
+---------------+----------------+
| Interrupt ID | Source |
+===============+================+
| 1 | UART |
+---------------+----------------+
| 2 | SPI |
+---------------+----------------+
| 3 | Ethernet |
+---------------+----------------+
| 4 | Timer 0 (OVF) |
+---------------+----------------+
| 5 | Timer 0 (CMP) |
+---------------+----------------+
| 6 | Timer 1 (OVF) |
+---------------+----------------+
| 7 | Timer 1 (CMP) |
+---------------+----------------+
| 8 -- 30 | *Reserved* |
+---------------+----------------+
.. _FU540-C000: https://static.dev.sifive.com/FU540-C000-v1.0.pdf

View file

@ -19,6 +19,7 @@ Editor: **Florian Zaruba**
issue_stage
ex_stage
commit_stage
cva6_soc
Indices and tables
==================