Что нужно знать: - Знание архитектуры 128b/130b: Глубокое понимание и опыт работы с кодированием и декодированием по стандарту 128b/130b, включая его применение в высокоскоростных сетевых протоколах, таких как PCIe, Ethernet, Fibre Channel и т.д.
- Знание цифровой схемотехники: Понимание основных принципов цифровой схемотехники, включая работу с регистрами, мультиплексорами и состояниями конечных автоматов.
- Оптимизация производительности кода: Умение оптимизировать код для работы в реальном времени, понимание параллельных вычислений и многопоточности.
Что нужно сделать: 1) Изучить спецификацию протокола кодирования/декодирования 128b/130b 2) Сделать генератор данных (encoder) , то есть разработать алгоритм кодирования 128b/130b, который будет преобразовывать входной поток данных в закодированный поток. 3) Проверить сформированный поток на соответствие спецификации. 4) Написать decoder для сформированных данных. 5) Попробовать декодировать данные снятые с реального интерфейса.
Объем работ: 300-350 часов.
Ожидаемый результат: модель, на языке python или C++, способная работать в обе стороны - принимать на вход двоичные данные и упаковывать их в соответсвии со спецификацией, и распаковывать закодированный поток обратно в двоичные данные.