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

 
 
 
Reply to this topicStart new topic
> 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
prig
сообщение Jul 21 2016, 11:04
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 869
Регистрация: 30-01-08
Из: СПб
Пользователь №: 34 595



Цитата(novartis @ Jul 19 2016, 13:17) *
...
Ладно бы там скрамблер стоял или 64/66 кодер, но их как и задумано нет.

Вообщем, верно ли я понимаю, что в режиме PMA direct что подал, то и получил?


Ага, с точностью синхронизации, которая отсутствует. Если вам всё равно, прилетело 55 или AA, можете не париться.

Если не всё равно, то лучше учитывать следующее:
In PMA Direct mode, the
Native PHY provides direct access to the PMA from the FPGA fabric; consequently, the latency for
transmitted and received data is very low. However, you must implement any PCS function that your
design requires in the FPGA fabric.

Вы уж разберитесь, к чему там о PCS.
Go to the top of the page
 
+Quote Post
novartis
сообщение Jul 27 2016, 11:31
Сообщение #3


Местный
***

Группа: Свой
Сообщений: 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
Сообщение #4


Местный
***

Группа: Свой
Сообщений: 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 Текстовая версия Сейчас: 14th July 2025 - 01:40
Рейтинг@Mail.ru


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