If chisel came with standard bundles for popular bus interfaces (amba, tilelink and wishbone), then that would allow community members to write components using these standardized bundles and thus allow for much better interoperability.
I specifically am not suggesting that we move any actual implementation of bus components, nor any diplomacy support into chisel. Just the bundle definitions and in a second step - maybe - some generic monitors/checkers for the bus protocols.
A good starting point would be the bundles already defined in rocket chip for amba and tilelink.
I would agree that having some standard APIs for common interfaces would make it easier for component and tool developers to build compatible layers on top.
If chisel came with standard bundles for popular bus interfaces (amba, tilelink and wishbone), then that would allow community members to write components using these standardized bundles and thus allow for much better interoperability. I specifically am not suggesting that we move any actual implementation of bus components, nor any diplomacy support into chisel. Just the bundle definitions and in a second step - maybe - some generic monitors/checkers for the bus protocols.
A good starting point would be the bundles already defined in rocket chip for amba and tilelink.
I am curious to hear everyone's thoughts on this.