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