External Oscillator configuration coming from the target

Hi everyone,

To perform my tests, I would like to use the HS1/I pin for providing the clock of the target to the ChipWhisperer-Lite module.

The problem is I don’t understand all the configuration I have to make from Jupyter Notebook to perform it.

First, I would like to select this pipe with scope.io.extclk_src but nothing specific value is indicated in the API documentation. Is there something special to put or to adapt with target.baud_rate for communicating ?

First of all, I put scope.glitch.clk_src to target, I think it’s good but not sure :face_with_raised_eyebrow:

Thanks to your return :slight_smile:

Hi,
scope.io.extclk_src is read-only and was probably put there for thoughts of future expansion (see API — ChipWhisperer 5.6.1 documentation). What you want is simply:
scope.clock.adc_src = "extclk_x4" (or extclk_x1)

Whenever you change the adc clock, it’s a good idea to reset the FPGA’s PLLs:

scope.clock.reset_adc()
assert (scope.clock.adc_locked), "ADC failed to lock"

Jean-Pierre

Thanks to your return !

In fact, I have few more questions about the extclk_src use.

Does it work as a time reference for making power glitch ? (using tio4 pin state for triggering or manual glitch)

What’s the difference between "extclk_x4" and "extclk_x1" ? (I am wondering if "extclk_x1" means the same clock value as the target clock and so "extclk_x4" means 4 * "extclk_x1" value)

Is it possible to read the target clock value ?

Happy to clarify if something isn’t clear, but all the answers are here: API — ChipWhisperer 5.6.1 documentation

or, in Jupyter: help(scope.glitch) and help(scope.clock).