Добрый день! Есть ПЛИС в которой реализованы всякие относительно медленные интерфейсы ввода вывода и один высокоскоростной SPI интерфейс который в себе должен объединять потоки данных с этих интерфейсов:

Реализации отдельных этих интерфейсов написаны, но вот как объединить лучшим образом данные с узкими потоками в один широкий поток не могу придумать.
Какую лучше глобально выбрать стратегию реализации объединения этих потоков? Где лучше разместить буфферы и как их связать?. Делал ли кто-нибудь что-нибудь подобное? Возможно есть какие-нибудь открытые шины на VHDL, предназначенные для такого рода арбитража.
Прошу прощения за столь глобальный и нечеткий вопрос, но боюсь изобретать велосипед так как могу это сделать неграмотно в связи с отсутствием опыта.