Если связались с плис, то по опыту ксалинкса и альтеры все будет немного через одно место (много глюков в обслуживающем софте, потому надо точно знать хороший и проверенный путь)
Микроблайз можно втыкать разными способами, вроде бы самый правильный делать так
Platform Studio - делаете ядро, потом экспортите в SDK, там пишете программу.
Так вот в Platform Studio есть такая фигня как Hardware -> Create or Import Perephiral
в ней делаются новые модули и в ней же они импортяться, чтобы сразу вы поняли куда попали, пишутся они в другой программе

.
В этой штуке вы говорите что хотите новый модуль, следуя советам визарда создаете его (попросите сразу сделать для него проект в ISE).
Потом в ISE открываете проект, там есть модуль юзер, в нем будет уже пример работы и подсказки куда чего писать.
Пишите и имплементируете модуль
Обратно в платформ студию, опять Create or Import Perephiral, только теперь импортируете модуль. И он появляется в списке IP ядер в пользовательском отделе, перетаскиваете в проц, подключаете, назначаете адрес и ура...
Выберите в визарде для начала слейв модуль с регистрами, он создаст вам модуль с заданным числом регистров, в которые можно будет писать-читать через шину. Если вы вообще в плис способны разобраться, то быстро поймете как этим пользоваться.
Скорость которую вы можете получить. Я на спартане 6 на 100 МГц, с Гигабитным езернетом, с LwIP получил около 8 МБайт в секунду запись-чтение DDR, это на платном МАК контроллере, с поддержкой железного расчета контрольных сумм.
На процессорах АРМ с МАК контроллером, на 100 МГц проце (LPC1768), с кейловским стэком мы имеем порядка 3-4 Мегобайт в секунду.
Сеть с микроблайзом реально проще, за счет готового стэка. Но самый быстрый способ это правда прямая посылка по UDP, без ядра и прочего. В сети много проектов, реализации этого в железе, с расчетом контрольной суммы. Проблема только в выдачи IP адреса платы, и прочим заморочкам связанным с сетью, но если это все можно настроить с компьютера носителя через какой-нибудь RS232-USB, то почему бы и нет.
USB - сложная штука, обычно упирается в драйверы со стороны windows. Вся часть связанная с большой скоростью данных требует своих драйверов, ибо стандартных типа HID нету, а те что есть очень плохо работают, и зачастую на 1 конечной точке не выдают обещанных скоростей, и требуют опять же писать свой драйвер для сбора с нескольких конечных точек для получения полной скорости.
Опять же та часть что в ПЛИС, тоже не проста, и требует шевелений по настройке и обработке, опять же того же микроблайза в итоге, хотя тут я могу ошибаться, плотно тему USB в ПЛИС не изучал.