cva6/core/pmp
OlivierBetschi 23355d29f0
Pmp/extracted pmp master (#2528)
Extraction of the PMP outside of the MMU.
2024-12-04 10:06:36 +01:00
..
include verible-verilog-format: apply it on core directory (#1540) 2023-10-18 16:36:00 +02:00
src Pmp/extracted pmp master (#2528) 2024-12-04 10:06:36 +01:00
tb verible-verilog-format: apply it on core directory (#1540) 2023-10-18 16:36:00 +02:00
.gitignore Re-organize CVA6 and APU (#725) 2021-09-24 17:21:19 +02:00
Bender.yml Re-organize CVA6 and APU (#725) 2021-09-24 17:21:19 +02:00
formal.sby Remove FORMAL directive from pmp module, as Verilator 5.0 supports assert (#1188) 2023-04-17 15:46:48 +02:00
Makefile Re-organize CVA6 and APU (#725) 2021-09-24 17:21:19 +02:00
README.md Re-organize CVA6 and APU (#725) 2021-09-24 17:21:19 +02:00

PMP

This repository houses a purely combinatorial and parametrizable physical memory protection (PMP) unit.

Warning: The PMP unit does only check the exact byte that is addressed. If the processor wants to load a 8 byte value, then every single byte should get checked. Due to the default granularity of PMPs of 4 bytes, this only comes into play for 8byte RISC-V memory accesses. An easy fix is to increase the granularity to 8 bytes. You can do this by setting the lowest bit of conf_addr_i to 1 if the pmp is in NAPOT mode, or to 0 if the PMP is in TOR mode.