Цитата(Leka @ Apr 3 2016, 20:58)

Предпочитаю открытое общение на форуме.
Опыта по сетям нет ни по железу, ни по программированию. Так что пришлось еще разбираться, как на Си написать отправку-прием между компами UDP-пакета...
Еще не выбрал окончательно, на какой частоте семплировать - х2=250МГц, или х4=500МГц.
Сейчас х2=250МГц, и 2 независимых канала приема (по числу фаз) - когда по одному каналу идут ошибки (из-за неудачной фазы), по другому ошибок нет. Разгребать думаю мелким софтовым процессором (тк скорость небольшая, максимум 10МБайт/сек) - проще единичные ошибки исправлять. Пока все принятое в ПК передается для анализа.
Почему-то кажется, что на х4=500МГц проблем меньше не будет. Но не уверен...
Главный критерий в этом проекте - простота и минимум ресурсов, не больше 1000 ЛЕ на все (отправка-получение UDP-пакетов на максимальной скорости).
LVDS+DDR 250 МГц - 500 Мсэмплов. Циклон4, Спартан3Е. Везде работает, но часть библотек не кросс платформенная. Железо разное.
Синхронизация фазы не требуется - 4х кратного оверсэмплинга достаточно, чтобы не возникало проблем. Главное, чтобы оптика не имела неравномерно заваленных фронтов и джиттера. Тогда работать не будет ни при какой частоте сэмплирования.
Приблизительно 200 плиток приемник с передатчиком вместе. Основной объем это синхронизатор по коду. Еще 150 плиток ест дескрэмблер для медного варианта.
Размер для протокола зависит от хочушек в плане полноценности сетевого устройства. Помимо UDP, для нормальной работы, еще надо ARP и ICMP (DU и PING). Иначе, будете сводить с ума коммутатор. Парсер приемника, формирователь служебных пакетов и формирователь пакетов с данными занимают 900 плиток. Можно сэкономить 100 плиток, если забить на КС для IP заголовка.
ПС: Если нет опыта написания аппаратных стэков, лучше откажитесь от этой затеи.