Как уже правильно говрили выше, вопрос поставлен неточно. При проворачивании какого стека коммуникационных протоколов вы хотите добиться data rate >= 80 Mbps @ FastEthernet? Варианты:
1) Eth PHY - Eth MAC - все, что выше - свое (свои network layer / transport layer - по мере надобности). +: можно добиться наивысшей скорости передачи. -: все проблемы реализации собственных уровней ;-)
2) Eth PHY - Eth MAC - IP - TCP/UDP. Надо применять наработанные реализации TCP/IP стеков, а они будут кушать процессорный и системный ресурс, и их проворачивание будет иметь на данной платформе вполне определенную latency, приводящую к некоему максимальному для платформы кол-ву обрабатываемых пакетов в секунду (сетевая производительность).
Рассмотрим вариант 2, как более реалистичный. Составляющие обработки (если грубо): обработка PHY/MAC (tMAC) + обработка TCP/IP (tTCP). В использовавшемся вами до сих пор варианте (LAN91С111 + NiosII + lite weight TCP (по-видимому)) обе составляющие выполнялись при плотном задействовании CPU, к тому же природа LAN91C111 ограничивает его предельную пропускную способность числами существенно ниже теоретически возможных 90-95 % от 100Mbps. Все вместе и дало наблюдаемый результат - 15-20 Mbps (для данной комбинации, кстати, весьма хороший).
Путь улучшения - разгрузка CPU от сетевых задач, насколько возможно => перенос функциональности на HW где только можно. Рассмотрим отдельно реализацию этого для PHY/MAC и TCP/IP.
PHY/MACВ части MAC имеются хорошо наработанные решения, основанные на следующих идеях (еще со времен присной памяти NE2000 сетевых карт, как минимум):
1) МАС работает мастером и сам забирает-складывает содержимое пакетов, помещаемых в выделяемые буфера (в основной памяти данных);
2) драйвер (читай - CPU) в основном имеет дело с дескрипторами Rx и Tx буферов, которые он заполняет (для Tx) и проверяет (Rx); дескрипторы, как правило, объединеные в кольцевые списки;
3) MAC также работает с дескрипторами (узнает, откуда брать TxData, и куда класть RxData, и помечает отработанное).
Думаю, конкретный MAC-PHY чип, работающий по такому принципу, народ вам скоро насоветует. Ну, и сами теперь знаете, что искать надо. В качестве суб-варианта: {внешний PHY} + {MAC in FPGA} (у Altera же есть соответствующие ядра, да на OpenCores тоже).
TCP/IPТеперь уже и в этой части есть аппаратные наработки. Например,
WizNet - накрывает сразу все - PHY/MAC/TCP. Но вот насчет его производительности не могу ничего сказать - не имел дела непостредственно. Наверняка, есть и аппаратные ускорители для работы с TCP/IP стеком - только поискать надо. А вообще, вполне возможно, что и аппаратные улучшения на MAC уровне (см. выше) уже дадут вам желаемое (или сильно к нему приблизят).