chipsalliance / chipsalliance/rocket-chip
What is the purpose of mixO and mixI
- Dominant language
- Scala
- Stars
- 3.9k
- Forks
- 1.3k
- Avg merge
- 5d 13m
- Merged PRs (30d)
- 1
Description
I felt like this is confusing. Taking the mixO as an example, we have a sequence of DO corresponding to the oPorts, but for each DO of the oPorts, we invoke the mixO for that DO. The mixO method is defined inside OutwardNodeImp, and the comments just indicates: `Defines how outward parameters can be "mixed" or negotiated together.`
https://github.com/chipsalliance/rocket-chip/blob/46c88b71056581a6bf2a0c4febd5ec3d768c6c59/src/main/scala/diplomacy/Nodes.scala#L1166
I felt this is hard to grasp, can anyone clarify this for me? what is the specific usage of the mixO and mixI. What dees they do?
@hcook @sequencer @richardxia
Contributor guide
Research direction
Start with src/main/scala/diplomacy/Nodes.scala around OutwardNodeImp.mixO at line 1166, then trace the mixO and mixI call sites described in the issue. Document their specific usage and negotiation behavior so a reader can understand what each method does and when it is invoked.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- scala
- Domain
- documentation
- Issue type
- Documentation
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100