Getting started with CW305

I just received my ChipWhisperer-Lite Arm and the target board: CW305. I tried to follow the steps in Tutorial CW305 Building a Project, but since there the GUI for the ChipWhisperer is no longer available, I am not able to complete the step: Capture Setup. This step requires CW305 Artix Target w/ Chipwhisperer-Lite script and it needs to be run from the previous Chipwhisperer application. I’ve searched through the jupyter notebooks that are installed with new Chipwhisperer 5.1.3 but I’ve just found the one that is a continuation of the Building a Project. Could you please tell me how can I complete the Tutorial CW305 Building a Project with the new Chipwhisperer software?
I am using Windows 10 and I installed ChipWhisperer 5.1.3 directly (no VM).
Thanks in advance

I’m not sure if it’s in the 5.1.3 release, but if you update to the latest release you will the Jupyter version of the CW305 AES tutorial under jupyter/demos/PA_HW_CW305_1-Attacking_AES_on_an_FPGA.ipynb
There’s also a CW305 ECC demo.
And here’s the updated CW305 documentation:

Let us know if you have any more questions!

Thank you very much for your fast response and at the same time sorry for our late response. We had a submission deadline this week and were busy with the paper.
The tutorial that you mention is the continuation of the tutorial Building a Project (the one we tried to get working). It says so at the beginning of the Jupyter notebook. So should we move directly to this one?
Another question unrelated to this, could you please tell me what is the default PLL1 clock? If I want to use the board in standalone mode and use the clock connected to N13, which frequency is it going to have?
Also, we would like to migrate one design from basys3 board to this one. The design uses UART pins on the basys3 board, but it seems that CW305 does not have an UART. Could you please tell me what would be the closest thing to UART on this board? Do I need to add a USB module to the FPGA or it might be better to use JTAG connection?
Many thanks in advance.

  1. Yes, that Jupyter notebook (and the whitepaper) are the right place to start.
  2. I’m not sure what the default frequencies are as delivered, but you can use target.pll.pll_writedefaults() to store all the PLL settings (set to whatever you wish) to EEPROM, so that they’re what you want on powerup. Run help target.pll to see everything you can do.
  3. You have lots of options for this. One is to add a UART module to the FPGA, and this is what we do for our Spartan6 target, which communicates with ChipWhisperer via UART: You have lots of pins on both the 20-pin connector and the 40-pin header for your UART lines.

Many thanks! We will try that out.

Well, I just received my CW305 board and planning to learn how to use it, aside the whitepaper & Intro Jupyter Notebook recommendation, are there any knowledge you have to pick up before getting your hands-on the board? I have already completed the sca101 tutorials using the chipwhisperer-lite 2-part(XMEGA target) and I am planning to use the capture part of chipwhisperer lite to combine it with CW305 for experimentation on FPGA targets. Also from a hardware perception I believe reading thoroughly the manuals from would certainly help me to get get an understanding of how everything is working. Any guidance is welcomed.

(p.s I am already familiar with HDL(Verilog) concepts and have some strong background on simple projects(LCD driver/controller, VGA driver/controler) carried through Spartan 3E boards. I am also familiar with Vivado IDE and have experimented with several Embedded System like assignments/projects creating custom IPs and image processing algorithms(Zedboard was used as the platform to develop these projects))

The whitepaper and RTFM pages are good places to start.
Next I would look at the CW305 AES demo. We have a whole series of ECC demos – parts of these are more suited to a CW-Pro (due to the long ECC capture times), but much of the content can be run quite reasonably with a CW-Lite. Since you have Verilog and Vivado experience, these should be very interesting: beyond the initial attack, they explore the effect of Verilog modifications.

Finally on the soft-core side you can implement ARM Cortex on the CW305 FPGA by following our guide, and then learn how to use ARM tracing.
Have fun!

1 Like