This is a funny thread, because it’s exactly what I’m working on.
I have a design, “FlyingPi”-- which is a hat for the raspberry pi with power supply, SPI sensors, and a microcontroller for timer resources and serial-- that is a drone autopilot. It works and flies and everything, but slave SPI on a microcontroller is always marginal and the protocol is a bit weird as a result, and there’s not enough UARTs. So I’m planning on revving it to use ICE40 in place of the cortex M0 for more versatility.
I’ve taken the exact approach you’ve suggested, as it turns out. I have a SPI master->asynchronous bus master bridge, then an asynchronous bus slave->wishbone master bridge.