Цитата(Костян @ Dec 28 2011, 15:40)

Итак дано
ПЛИС -> Ethernet PHY -> кроссовый кабель -> ПК
ПЛИС формирует ethernet пакеты на 1Gb линке с загрузкой сети порядка 80% и постоянно отсылает их в сеть.
Сетевая карта ПК настроена на 1000/full duplex flow_control ON
...
- ПЛИС: Cyclone IV;
- Ethernet PHY: Marvell 88E1111;
- MAC: Altera Triple-Speed Ethernet MegaCore;
- MAC и PHY на модуле, вроде бы настроены на 1Gb/full duplex/flow_control ON;
- обмен между модулем и ПЭВМ происходит через отдельный сетевой адаптер "Intel® Gigabit CT Desktop Adapter";
- через второй (Fast Ethernet) адаптер подключен Интернет.
Если активным является окно программы обмена с модулем, то, при скорости PHY 1Gb/s потери пакетов нет. Потеря пакетов происходит если во время пересылки данных модуль->ПЭВМ в Проводнике открыть папку с фильмами в режиме отображения "... значки" или если одновременно говоришь с кем-нибудь через Skype. Предполагаю, что потеря пакетов вызвана высокой загрузкой процессора в какие-то моменты времени. Сетевой адаптер выдает pause-пакеты, а MAC модуля их принимает. Это видно по значениям регистра статистики MAC: aRxPAUSEMACCtrlFrames. То есть, flow-control вроде бы и работает, но все равно, происходит потеря пакетов.
При скорости PHY 100М/s вызвать потерю пакетов из за перегрузки процессора не удается.
Есть ли у кого-нибудь опыт решения подобной проблемы?