The power-analysis and fault-injection tool you can hold in your paw

Sep 01, 2022

Our Crowdfunding Campaign Is Now Live!

by Colin O'Flynn

Since their launch several years ago, ChipWhisperer-Lite and ChipWhisperer-Pro have remained in active development. Recent updates and new features include: target debugging, plug-and-play USB drivers, and segmented capture.

So why mess with what’s working well? The main reason is that the FPGA family used in both the Lite and the Pro, Xilinx Spartan6, is getting long in the tooth. The IDE needed to develop for this FPGA is so old that Xilinx moved it to their "archive" section. The ChipWhisperer-Lite FPGA is full to bursting, which makes adding new features difficult. And there were lots of new features we had been wanting to add to ChipWhisperer-Lite. So, ChipWhisperer-Husky was born.

We had already moved to the Xilinx Artix 7-series FPGA for our PhyWhisperer-USB and liked what we saw, so it made sense to use that here too. We picked a size to give us some room to grow the ChipWhisperer-Lite design with the new features we had planned, including some that were previously available only in ChipWhisperer-Pro. Plus, we made sure to leave some space available for future updates and user customization.

The first thing you might have noticed is that the Husky has a lot more sample storage than the Lite did. That, along with the extra space for more logic, made it possible to enable streaming, which is something we couldn’t do for the Lite, because a certain amount of on-board storage is necessary to make streaming viable). We also tweaked and optimized the SAM3U firmware to make the bits flow faster than ever before: the ADC sampling rate can now be as high as 20 MS/s when streaming, with "unlimited" capture sizes.

To keep this post from getting too long, we’ll briefly list some of the other new features and improvements, which we’ll cover these in more detail in future updates:

While making all these changes, we’ve kept the user experience in mind by avoiding changes to the Python API unless absolutely necessary. So if you’re an experienced ChipWhisperer user, you should find yourself right at home with the Husky.

We originally planned to launch this project a year ago, but supply chains have challenged us. During the delay, we’ve been working on the FPGA code, which has been stable enough for real work for quite some time. This means you’ll already see ChipWhisperer-Husky being used by the OpenTitan team. It’s even begun showing up in some papers.

The delay has also created yet more supply chain challenges. We’ve had to change up our "usual" target microcontroller, which is now a Microchip ATSAM4S2A. (it was previously the STM32F series.) We validated that the device works well for our tutorials, so you’ll still get the full educational experience out of ChipWhisperer-Husky.

Since we began planning this launch, we’ve been pulling the trigger on various orders. We set our funding goal at $1 because ChipWhisperer-Husky is definitely happening. We are going to run into stock issues again, though, so we hope you’ll join us while we’ve still got stock and become one of the first people using ChipWhisperer-Husky!

Sign up to receive future updates for ChipWhisperer-Husky.

ChipWhisperer-Husky is part of AMD Xilinx FPGA Playground!

Subscribe to the Crowd Supply newsletter, highlighting the latest creators and projects