  In the era of Cyber Physical Systems, designers need to offer support for
run-time adaptivity considering different constraints, including the internal
status of the system. This work presents a run-time monitoring approach, based
on the Performance Application Programming Interface, that offers a unified
interface to transparently access both the standard Performance Monitoring
Counters (PMCs) in the CPUs and the custom ones integrated into hardware
accelerators. Automatic tools offer to Sw programmers the support to design and
implement Coarse-Grain Virtual Reconfigurable Circuits, instrumented with
custom PMCs. This approach has been validated on a heterogeneous application
for image/video processing with an overhead of 6% of the execution time.
