Вот опять "снова здорова"...
Ну на самом деле информации у Вас уже достаточно чтобы самому двигать дальше. Trade off у вас такой. С одной стороны данные идут потоком 10гиг в секунду,
с другой стороны чем больше байт приходится на один модуль и чем больше модулей, тем больше у модуля времени до того, как вывалится новая порция данных.
Из чего можно смело строить архитектуру. Сложность алгоритма вам известна,скорость вычисления тоже, следовательно время затрачиваемое блоком на обработку известно.
Вот это время и будет той самой константой, в течение которой данные не должны обновляться.
Пример расчета. Скажем время алгоритма T, число байт B, число модулей N = T*1e10/(B*8)
В цифрах, пускай алгоритм занимает T = 2мкс, число байт B = 256.
N = 2e-6*1e10/(256*8) = 2e-6*1e10/2e3 = 1e-6*1e10*1e-3 = 10 модулей... хи хи.
Что такое 2 мкс, для сравнения Microblaze имеет производительность 400MIPS на Kintex,
то есть за 2мкс он выполнит 800 команд.