lowRISC / opentitan

OpenTitan: Open source silicon root of trust
https://www.opentitan.org
Apache License 2.0
2.6k stars 784 forks source link

[fpga] ChipWhisperer CW310 follow-up tasks #6683

Closed vogelpi closed 2 years ago

vogelpi commented 3 years ago

6614 adds initial support for the ChipWhisperer CW310 board with Xilinx Kintex 7 XC7K410T FPGA. When doing the PR and during the review process, a couple of follow-up items got identified:

Tooling:

Hardware:

colinoflynn commented 3 years ago

On reducing numpy and scipy:

I think numpy gets used for some binary list conversion in the CW310 board interface would be the only hit. SciPy should be avoidable. It's listed as a dependency for ChipWhisperer as it will break some of the SCA algorithms, which for most users is important. Longer-term we could add a separate 'chipwhisperer-api' or similar module release which is built from the same code-base but removes the dependency, or if the CW310 API is stable the relevant files could be moved to OT (we have the copyright so this can be done cleanly w/o messing up the copyright notices).

imphil commented 3 years ago

Longer-term we could add a separate 'chipwhisperer-api' or similar module release which is built from the same code-base but removes the dependency

Having a reduced package that only contains the "connectivity" parts would be fantastic; the existing "chipwhisperer" package could then depend on that to avoid duplicating the code. (And since we want it, we're also willing to invest time into helping with the implementation, of course.)

Having a dependency on Python packages in OpenTitan is fine, we don't need to vendor everything in. However, we try to keep the dependency tree reasonably small to avoid a "support nightmare". We have, for example, users on RHEL6 that routinely have trouble building binaries, including C extensions of some Python packages. The large majority of OpenTitan developers only wants to flash an FPGA and load a bit of software, but doesn't need the full power of the ChipWhisperer platform.

a-will commented 2 years ago

Closing, as all tasks have been completed.