I'm very new to all of this, but I seem to be running into the issue stemming from the Servile wishbone data bus not having a way to differentiate between instruction fetches and data fetches.
Specifically, byte select seems to be invalid during instruction fetches, but there is no way to tell that this is the case and so force a full 4 byte word read.
My problem is thus that if I use the byte select unconditionally, it ends up being set to 1 for instruction fetches, and I end up immediately fetching instructions incorrectly.
Instruction fetches seem to require the full 4 byte data word (regardless of the byte select setting), while data fetches do use the wishbone byte select correctly.
This seems like a pretty important oversight, so I'm sure I'm missing something.