chipsalliance / rocket-chip

Rocket Chip Generator
Other
3.2k stars 1.12k forks source link

Fix AXI4 Xbar elaboration error due to missing fields #3549

Closed tymcauley closed 7 months ago

tymcauley commented 9 months ago

Related issue: https://github.com/chipsalliance/rocket-chip/issues/3548

Type of change: bug report

Impact: no functional change

Development Phase: implementation

Release Notes

linux-foundation-easycla[bot] commented 9 months ago

CLA Signed

The committers listed above are authorized under a signed CLA.

tymcauley commented 9 months ago

Unfortunately I need to wait a bit to get some feedback from my company on the CLA, so resolving that is going to take some time.

tymcauley commented 9 months ago

On a recent firtool version (1.58.0), I found that I'm getting this error:

generators/rocket-chip/src/main/scala/amba/axi4/Xbar.scala:86:18: error: sink "in_1_w_bits_user_corrupt" not fully initialized in "AXI4Xbar"

I worked around it by adding this line right above the in(i).squeezeAll.waiveAll :<>= io_in(i).squeezeAll.waiveAll statement:

in(i).w.bits.user := DontCare

Not completely sure what the more principled way to solve this is, but I do see that tilelink/Xbar.scala also tying off some the user signals. Presumably we want user signals to propagate through the crossbar when appropriate.

tymcauley commented 7 months ago

Okay, I believe I've taken care of all the fields that need to be tied off in case they're not used by a particular destination.

tymcauley commented 7 months ago

Checking on the status of this, anything else that I need to do before this can be merged @jerryz123 ?

tymcauley commented 7 months ago

Nope, this just slipped past me. Let's merge this

Thanks so much!