[fpga,ci] Consider switching the default JTAG adapter on `master` to FTDI
- Dominant language
- SystemVerilog
- Stars
- 3.6k
- Forks
- 1.1k
- Avg merge
- 2d 22h
- Merged PRs (30d)
- 141
Description
### Description
Currently, on `master`, we use the CMSIS-DAP adapter for JTAG. This is limited in its clock speed (up to around 1 MHz), and is poor for streaming larger amounts of data due to the small 256 byte buffers for CMSIS-DAP on HyperDebug.
Now that `master` is only using the CW340 and the CW310 has been dropped (where the CW310 had no FTDI adapter), we should implement #30739 and then switch to use the FTDI adapter by default. This would require:
* Migrate `earlgrey_1.0.0` to only run tests on CW310s. This has a side effect of helping to balance CI load.
* Switch the CW340s in CI to be configured for FTDI (switch from the HD to the FTDI adapter, and remove the jumper JP5 for `USR_DBG_nRST` from each board).
* Change the default adapter in OpenTitanLib. *Optionally*, to ease migration, try both adapters as a fallback and loudly warn if the user is still using CMSIS-DAP without providing the correct option to do so?
* Bump the clock rate used for JTAG commands up to 10-14 MHz (whichever value seems sensible).
This would allow much greater JTAG throughput, which would help greatly with the time taken to load memories to the FPGA in our testing flow.
Contributor guide
Research direction
Start with the implementation requested in #30739, then inspect the CI configurations for earlgrey_1.0.0, CW310, and CW340 and the adapter defaults in OpenTitanLib. Confirm the required board jumper and adapter changes, then verify that CI uses FTDI by default, JTAG runs at the selected higher clock rate, and CMSIS-DAP migration behavior matches the chosen fallback approach.
Written by the indexing model from the issue text.
Assessment
- Domain
- ci-cd, embedded-iot, performance, tooling
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100