| Goal | Voltage scaling on Zynq |
| Approach | Using PMBus protocol to change the value on voltage rails |
| Benefits | Power and energey reduction |
| Credit | This work has been done under the ENPOWER project (funded by EPSRC) at University of Bristol. |
The power monitoring library contains a few functions to determine the value of voltage on a given voltage rail available on the ZC702 Evaluation Board.
The two function to scale the voltage rails VCCINT and VCCPINT are
int set_VCCINT_voltage(float target_voltage);
int set_VCCPINT_voltage(float target_voltage);
in which target_voltage is a value less than 1.0.
Example:
[code language=”c”]
#include "stdio.h"
#include <stdlib.h>
#include "measurement.h"
int main(int argc, char *argv[]) {
float target_value;
if (argc == 2) {
target_value = atof(argv[1]);
if (target_value < 0.7 || target_value > 1) {
printf("target voltage should be less than 1 v and greater than 0.7 v\n");
return -1;
}
} else {
printf("The command had no other arguments.\n");
return -1;
}
printf("target voltage would be = %f v\n", target_value);
set_VCCINT_voltage(target_value);
return 0;
}
[/code]
The monitoring library can be found at here.
Please use this citation to refer to this work.
- Hosseinabady, M & Nunez-Yanez, JL, 2014, ‘Run-time power gating in hybrid ARM-FPGA devices’. in: Conference Digest – 24th International Conference on Field Programmable Logic and Applications, FPL 2014. Institute of Electrical and Electronics Engineers (IEEE)
