[fpga, docs] Guidance on migrating design to a new FPGA
Nobody has claimed this yet.
- Dominant language
- SystemVerilog
- Stars
- 3.6k
- Forks
- 1.1k
- Avg merge
- 2d 22h
- Merged PRs (30d)
- 141
Description
### Description
I am attempting to migrate the Earl Grey design to a new FPGA platform and am having a number of issues with the bazel build flow "playing nice" with the new target. Would it be possible to add some guidance to the build files and/or documentation to detail what modifications are needed to get an `fpga_myNew` target working?
Additional detail:
For the hardware build side of things, I've managed to get things working by essentially searching everywhere for `cw340` and copying / modifying the build entries to use the `myNew` label. This is getting me up to the point of being able to bazel build the bitstream with test ROM / RMA OTP image.
Unfortunately, I then have both host- and device-side software issues. On the host side, the `opentitantool` isn't able to "see" the board (possibly because the [udev](https://opentitan.org/book/doc/getting_started/install_vivado/index.html#device-permissions-udev-rules) rules aren't mapping properly for the new board, but I'm really not sure - it just reports `Error: Found no USB device`. On the host compilation side, I'm not sure how to get bazel to accept the `myNew` as a valid execution environment. It should also be noted that I tried following the [FPGA setup](https://opentitan.org/book/doc/getting_started/setup_fpga.html) documentation to build the UART smoke test for the `cw340` target, but bazel reports that `//sw/device/tests:uart_smoketest_fpga_cw340_test_rom` is not a target and suggests using just the `cw310` target. Is there a missing step in the documentation to target the `cw340` board?
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the FPGA setup documentation and the build entries that reference `cw340`, `cw310`, and `fpga_myNew`. Trace how the target is exposed to host compilation, how `opentitantool` discovers USB devices through the udev rules, and how the UART smoke-test target is named. Done means the required migration steps are documented and the new target's bitstream, host software, USB access, and smoke-test flow are covered.
Written by the indexing model from the issue text.
Assessment
- Domain
- build-system, documentation, embedded-iot
- Issue type
- Documentation
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100