реклама на сайте
подробности

 
 
> PMA Direct mode
novartis
сообщение Jul 19 2016, 10:17
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 375
Регистрация: 9-10-09
Из: Свердловский регион
Пользователь №: 52 845



Собрал в квартусе для Стратикс 5 проект с использованием компонента Stratix V Transceiver Native Phy, в его настройках указал, что работать он будет в режиме PMA Direct mode. Компонент двухканальный. У платы два Sfp+ разъема, в них вставлен оптический кабель. Соответственно в проекте в tx одного канала засылаю данные, из rx другого канала принимаю данные.
Проект скомпилил, залил. На вход компонента в 40-битную шину подаю постоянный код, например, 0x0707070707.
На приемной стороне ожидаю получить тоже самое. Но получаю сплошной мусор.
Если подать 0x5555555555, то получаю постоянно 0xAAAAAAAAAA.
Плата у нас с чудесами, поэтому не понятно, то ли я не прав, то ли это плата так себя ведет.

По самому коду проследил путь данных, для передаваемых данных - они заходят на компонент сериализации stratixv_hssi_pma_tx_ser,
для принимаемых данных - они выходят из десериализатора stratixv_hssi_pma_rx_deser.
Ладно бы там скрамблер стоял или 64/66 кодер, но их как и задумано нет.

Вообщем, верно ли я понимаю, что в режиме PMA direct что подал, то и получил?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
novartis
сообщение Jul 27 2016, 11:31
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 375
Регистрация: 9-10-09
Из: Свердловский регион
Пользователь №: 52 845



Продолжаю возиться с альтеровским PMA.
С его выхода выходит шина 80 бит. PMA настроена на ширину 32 бит.
Из тех 80 бит использую только младшие 32.

Набираю из этих 32 битных слов большой сдвиговый регистр на 4620 бит (это все для симуляции, синтезировать такое не буду).
Потом этот большой региср разбиваю на блоки по 66 бит.
Это я так gearbox реализовал (по быстрому для симуляции).
И начинаю искать в них sync header.
Сначала ищу на позиции (1 downto 0). Потом на позиции (2 downto 1). И так все позиции.
Но последовательность валидных sync header длиной в 64 как этого требует протокол я не нахожу.
Даже 40 подряд идущих блоков с валидными sync header нет.

Может не так чего делаю? Или у альтеры другой подход?
Go to the top of the page
 
+Quote Post
novartis
сообщение Aug 9 2016, 17:36
Сообщение #3


Местный
***

Группа: Свой
Сообщений: 375
Регистрация: 9-10-09
Из: Свердловский регион
Пользователь №: 52 845



Цитата(novartis @ Jul 27 2016, 16:31) *
Из тех 80 бит использую только младшие 32.

нашел ошибку, PMA компонент выдает шину 80 бит, но ширина PMA настроена на 32 бит, я использовал младшие 32 бита, а оказалось нужно было использовать 1-8,11-18,21-28,31-38 биты.
Разумеется у альтеры об этом нигде не сказано. Исправил, sync header поймал.
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 23rd July 2025 - 12:33
Рейтинг@Mail.ru


Страница сгенерированна за 0.01378 секунд с 7
ELECTRONIX ©2004-2016