Use iverilog and yosys from BCR
- Dominant language
- C++
- Stars
- 1.9k
- Forks
- 283
- Avg merge
- 2d 10h
- Merged PRs (30d)
- 135
Description
Currently, we're [using](https://github.com/google/xls/blob/866fdf2e94bf6eec3a487a6d0d8291bf41629efc/MODULE.bazel#L243) some somewhat old versions of Yosys and iverilog compiled via bazel_rules_hdl; possibly also as the scripts in there refer to `@com_icarus_iverilog` and `@at_clifford_yosys`.
Both of thesea are on BCR, and it would probably be good to use these to reduce maintenance overhead.
```
bazel_dep(name = "yosys", version = "0.64")
bazel_dep(name = "iverilog", version = "13.0.bcr.1")
```
Expected local things to do: possibly modify bazel_rules_hdl scripts to refer to the new binaries, within XLS refer to the changed location of runfiles (And maybe something needs to be fixed upstream in BCR)
Contributor guide
Research direction
Start with MODULE.bazel around line 243 and inspect the bazel_rules_hdl scripts that refer to @com_icarus_iverilog and @at_clifford_yosys. Check how the BCR dependencies expose their binaries and how XLS resolves their runfiles. Done means XLS uses the BCR versions and all affected build and script references work with the new locations.
Written by the indexing model from the issue text.
Assessment
- Domain
- build-system
- Issue type
- Refactor
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 55/100