Hello,
We would like to implement DVFS on CW305, but we are not sure about the following:
- What is the time resolution for voltage and frequency change? For example, if we issue these two commands one after another:
target.vccint_set(1.0)
target.vccint_set(0.8)
How long will the 1V be supplying the chip before it changes to 0.8V?
We have the same question about the frequency.
- Does the application keeps running in the FPGA during the voltage and frequency change?
- Is there another way to access the voltage regulator and the external PLL other than through Python?
Many thanks in advance!
Hi,
-
target.vccint_set()
has to go through Python and over USB, so the latency and speed won’t be great, I’d imagine.
- I haven’t tested it, but I’m guessing the FPGA will still run fine with a voltage change, but the clock will probably drop out for a little, which may cause issues for the FPGA.
- Sure, you can modify CW305 microcontroller code. The files you’re looking for are:
voltage code: https://github.com/newaetech/chipwhisperer/blob/develop/hardware/victims/cw305_artixtarget/fw/sam3u/CW305_SAM3U_FW/src/tps56520.c
PLL code: https://github.com/newaetech/chipwhisperer/blob/develop/hardware/victims/cw305_artixtarget/fw/sam3u/CW305_SAM3U_FW/src/cdce906.c
usb code: https://github.com/newaetech/chipwhisperer/blob/develop/hardware/victims/cw305_artixtarget/fw/sam3u/CW305_SAM3U_FW/src/usb.c
Alex
Thanks! We will try to do it via microcontroller code.