How to capture large traces using Husky

Hi,
I recently purchased the CW-Husky for use with the CW305 target. Considering the high processing speed of FPGAs, I hope to run Husky’s ADC at a high frequency (such as 100MHz), which is 10 times the FPGA frequency of 10MHz. However, when capturing complete cryptographic algorithm executions (total sample count exceeds 200k), I encounter “fast FIFO overflow, slow FIFO underflow” errors in stream mode.
Noticing that the CW-Lite tutorial implements large-scale capture through segmented acquisition with post-acquisition merging (as mentioned in SCA204), I would like to know whether the Husky supports the same method, or if I can use other methods to complete the capture.
I look forward to your response.
Best regards,
Li

  1. It’s not necessary to sample at such a high rate. Our Jupyter notebooks for the CW305 use either x1 or x4 sampling, to good results.
  2. Husky has a maximum buffer size of 131124 samples (see here for all its specifications). To capture beyond this you must use streaming.
  3. We teach how to use segments here.

Thank you for your reply. I am attempting to attack some PQC (Post-Quantum Cryptography) implementations. Due to optimized operations (e.g., NTT multiplication) that complete within a few clock cycles, I require higher sampling rates to capture sufficient data for side-channel attacks. However, even at high sampling rates, streaming mode only allows capturing approximately 190k samples. I would like to know if performing two separate captures of 130k samples each and processing them in Jupyter could achieve a combined dataset exceeding 200k samples.
Looking forward to your confirmation.

Read through the links I posted; you’ll see for example that streaming limits the sampling rate.
It is possible to do what you want to do; our tips and tricks pages have the answers you’re looking for.