The SafePMU (Safe Performance Monitoring Unit) is an AHB slave capable of monitoring SoC events, enforce contention control, and identifying profiling errors on run-time.
The SafePMU (Safe Performance Monitoring Unit), also known as SafeSU (Safe Statistics Unit) is an AHB slave capable of monitoring SoC events, enforce contention control, and identifying profiling errors on run-time.
Figure "\ref{fig:blkdia}" shows the structure of the unit. It is composed of an ahb wrapper (\textit{ahb\_wrapper.vhd}) that maps the SystemVerilog implementation into a VHDL module that can be instanced in De-RISC SoC. The SystemVerilog AHB interface (\textit{pmu\_ahb.sv}) offers support for a subset of AHB requests. This module also instances the interface agnostic PMU (\textit{PMU\_raw.sv}). The latter is used as the generator of the statistic unit. It generates the memory map and the instances for each of the features.\\
@@ -386,6 +386,7 @@ The Maximum-Contention Control Unit (MCCU) allows to monitor a subset of the inp
Figure \ref{fig:blk_MCCU} shows the internal elements required to monitor the quota consumption of one core, given four input events. When events are active, they pass the value assigned in the weight register \ref{MCCU_weight0} for the given signal to a series of adders. The addition is subtracted from the corresponding quota register \ref{fig:MCCU_ava}. When the remaining quota is smaller than the cycle contention, an interrupt is triggered.\\
\\
\begin{register}{H}{MCCU main configuration}{0x074}
\begin{tiny}
\label{MCCU_cfg}
\regfield{Reserved}{25}{8}{{x}}
\regfield{Soft reset RDC}{1}{7}{{0}}
...
...
@@ -395,8 +396,9 @@ Figure \ref{fig:blk_MCCU} shows the internal elements required to monitor the qu