Open
Description
I am working on my Retro_uC. In there I combine a 32-bit M68K and with two 8-bit CPUs (a MOS6502 and a Z80). I would like to have all three of them accessing the same memory map. I would like it that the M68K can fetch a 32-bit word in one bus cycle.
AFAICS, currently neither the Wishbone Arbiter or Decoder allows that the data_width of the initiator bus is smaller than the data_width of the subordinate bus(es) even if the granularity is the same.
I see different solutions to this problem:
- extend Arbiter to support initiator buses with data_width smaller than the subordinate bus data_width. This would solve my request directly.
- extend Decoder to support subordinate buses with data_width bigger than initiator bus. For my case this would be more indirect. I would then have an Arbiter on the two 8-bit CPU buses, then a decoder from the output 8-bit bus to a 32-bit data_width and then an Arbiter of that output with the 32-bit CPU bus.
I still propose this solution as the feature may be more as decoding than arbitration. - do both; for my use case I would only use Arbiter so the Decoder implementation will not be tested by user code.
- do it an a separate bridge class.
This issue can be assigned to me after it is clear what the preferred implementation is.