I am working with a CW305 and used it extensively to evaluate side-channel countermeasures.
Now I want to perform partial reconfiguration to lock the routing in place and only change the countermeasures. If I initially flash the target using a bitstream with reconfigurable partitions and then reopen the target with a partial bitstream using the force=True parameter, will the framework overwrite the whole bitstream or perform partial reconfiguration as expected?
We do support partial reconfiguration of the ChipWhisperer Lite’s FPGA; there it is used to change DCM parameters, in support of our glitching logic. On the Python side, you’ll find the relevant code in these files:
In terms of FPGA programming, CW-lite and CW305 are pretty similar: in both cases you have a microprocessor which receives the bitstream from the host PC on its USB interface and handles programming the FPGA. So, it’s possible to do: you could port the partial reconfiguration capability from the CW-lite SAM3U firmware to the CW305’s SAM3U firmware.