I will forever hate ARM for including user-defined extension signals such as ARUSER in their AXI specifications.
it’s not that I particularly hate the idea of vendors adding random-ass extension as a sideband to AXI. see, I know perfectly well that, if ARM chose to not define these signals, vendors would add them anyway, and I’d be looking at an AXI bus with signals such as ARINTEL™FOO.
see, the problem is that I am now instead looking at 20 different AXI interfaces buses with 40 different USER signal widths and all the shit has non-descriptive names such as ARUSER[13].
oh, the argument was that at least it’s all now packed into a single field that generic interconnect can uniformly handle, and that it’s going to obey some ground rules in the spec? whoops bad news, turns out vendors gonna vendor and the USER signals on the bus I’m looking at decidedly do not obey AXI spec rules for extension signals.
and that vendors gonna vendor and the bus I’m looking at includes some custom vendor-specific signals in addition to *USER because why not.
and that vendors gonna vendor and the AXI-stream bus I’m looking at somehow has a 4-bit TREADY signal. what the fuck does that even mean. send help.