Chipwhisperer lite (XMEGA) voltage glitch pulse not accurate

hi,
Sorry for my bad English.
Iam beginner in chipwhisperer lite (XMEGA) i will try a voltage attack on atmega328p first i will success to restart atmega328p using clock frequency of cwlite is 168Mhz at repeat 3 but if i apply more than 3 repetition atmega328p will always restart but according to manual of atmega328p if power line glitch pulse more than 2us than atmega328p is restart but at clock frequency of cwlite 168mhz with scope.glitch.repeat = 3 (glitch pulse is 0.018us) according to the formula ((1/frequency)*repeat)
so why atmega keep restrating at value more than 3. i will remove all decoupling capacitor
iam using juypter notebook 5.7.0 and my python script :-

import chipwhisperer as cw

cw.set_all_log_levels(cw.logging.CRITICAL)

SCOPETYPE = ‘OPENADC’
PLATFORM = ‘CWLITEXMEGA’

scope = cw.scope()

We adjust the clock to fit with the ATMega 328p frequency.

scope.clock.clkgen_freq = 168E6

Set clock to internal chipwhisperer clock

scope.glitch.clk_src = “clkgen”

#“enable_only” - insert a glitch for an entire clock cycle based on the clock of the CW (here at 8MHz so 0,125 micro seconds)
scope.glitch.output = “enable_only”

Enable Low power and High power transistors.

scope.io.glitch_lp = True
scope.io.glitch_hp = True

LP provides a faster response, so sharper glitches. HP can provide better results for targets that have strong power supplies or decoupling capacitors that ca not be removed.

scope.io.vglitch_reset() #it simply sets scope.io.glitch_hp/lp to False, waits delay seconds, then returns to their original settings. In short, reset the glitching module.

How many times the glitch is repeated

scope.glitch.repeat = 3

Send the glitch

scope.glitch.manual_trigger()

scope.dis()

i think voltage glitch pulse is not accurate and i try to capture cwlite voltage glitch pulse using hantek dso5102p at 168mhz with repeat 10 so according to formula ((1/frequency) * repeat)
pulse is 0.06us but dso show pulse width of glitch is 195.0ns (0.195us) i will upload image of pulse at repeat 10

Why 168 MHz? It’s unclear whether your target is an ATmega328P, or ATxmega128, but 168 MHz is way over the max rated clock frequency for either of those.

168 MHz is also too fast for CW-lite; its maximum clock frequency is 105 MHz.

1 Like

Really really thank u for ur reply
I also try 16mhz clock frequency with repeat 1 which is same as atmega328p frequency but still atmega is restart so I set on 168mhz because I go above 168mhz it adc lock fail light is on and at 168mhz repeat value 1 and 2 does not restart atmega
Again thank u for ur reply
Plz help me to figure out the problem

Plz plz help iam waiting for ur reply

Again forget about 168 MHz, that is way beyond CW-lite specs.
If you haven’t done so already, go over our set of Jupyter courses, using one of our normal targets (STM32 or xmega); you’ll avoid a lot of frustration by doing that first.

Once you’ve done that, go back to your atmega328 target. Have a look at our CW304 target board to see how we’ve set up that target for better success with side-channel attacks. Good luck!

Thank u thank u really really thank u i literally near to crying after seeing ur reply ur the best teacher I aver see in my life