Перейти к содержанию

    

Ошибки передачи GTP Transciever

Пока бросилось в глаза

CLK_COR_SEQ_1_ENABLE_0 => ("0000"),

CLK_COR_SEQ_1_ENABLE_1 => ("0000"),

CLK_COR_SEQ_2_ENABLE_0 => ("0000"),

CLK_COR_SEQ_2_ENABLE_1 => ("0000"),

Т.е. у вас все символы в clock correction seq замаскированны, и корка будет воспринимать любой входной байт как символ коррекции

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Поменял на все единицы, но все так же не получаю сигнала RXCLKCORCNT0 - т.е не происходит коррекции вообще :(.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

При любых параметрах СLK_COR_SEQ не наблюдаю изменения RXCLKCORCNT - коррекции не происходит. Какие могут быть ошибки? Under и Overflow выкрываю регулярно.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

последовательность можно искать как до 8b10b так и после, проверьте, нет ли ошибки в этом.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

RX_DECODE_SEQ_MATCH_1 => (TRUE), так что верю что ищет после декодирования. Поставил как символ просто 00, не комму - не работаееееетт!!! В общем у меня после пары недель мозговой ступор. Намертво.

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

сначала добейтесь работы в симуляторе!

для spartan6 собрал ядро transciever_wizard'ом, СС длиной 1 по K28.5,

поправил тестбенч, установив два ядра с небольшим разбегом частоты.

на интервале 100 мкс проходит 4ре подстройки частоты ,

вот архив:

http://rusfolder.com/37084331 (for_count_enable)

 

Пробую с CLK_COR_SEQ_1_1_0 => ("0111011100"), и CLK_COR_SEQ_1_1_0=> ("0100000000"), каждые 6 байт передаю или 4 коммы BCBCBCBC или четыре нуля 0000000. Если сделать buffer reset overflow или underflow - удаляется 16 байт.

 

и 11011100 это не K28.5, а K28.6, т.е. DC

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Небольшой offtop;

 

Если нет внешних требований, то рекомендую отказаться от 8/10 и использовать 64/67; На приёмной стороне надо использовать восстановленную частоту для фиксации данных.

 

 

Если интересно, могу дать пример.

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вижу вам много чего дельного насоветовали, внесу и свои 5 копеек.

 

Как я понял платы сделаны самостоятельно. Я бы проверил каждую плату по отдельности. В приёмопередатчиках есть генераторы и анализаторы псевдослучайных последовательностей с внутренними петлями на разных уровнях. Попробуйте их и посмотрите всё ли работает с внутренними петлями.

 

Только не сдавайтесь, эти GTP тот ещё квест)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Огромное спасибо всем, особенно товарищу toshas, убедившему меня, что коррекция клока существует!

 

В версии 1.10 у меня так и не заработало, перешел на версию корки 1.11, и после долгих мучений и перебора параметров я имел возможность наблюдать коррекцию в железе.

 

Общий баланс:

- Потрачено около месяца на внешне нетрудное задание.

- Навсегда загублена репутация человека, могущего создать прототип чего-угодно за неделю (репутация была создана на обычных микроконтроллерах, так что цена ее невелика, но все же...)

- Несколько недель стресса и отвратительного настроения.

- Навсегда потеряна вера в высокоуровневые инструменты Xilinx. Использование мастера при генерации корки не помогло обойтись без ручной правки и копания в сотнях параметров. Сгенерированые wrappers плохи, неочевидны и документованы по-индусски.

- Навсегда потеряна вера в документацию и технические форумы Xilinx.

 

+ Возникло уважение к electronix.ru, наверно единственному техническому форуму, где дают советы по делу вместо троллинга и флуда.

+ Узнал много нового о Gigabit Transceiver, Chipscope.

 

 

Надеюсь когда-то отплатить своими знаниями другому новичку в этом ужасном и удивительном мире ПЛИС.

 

Тему пока закрывать не буду, ибо трансивер и глюки неисчерпаемы, как атом.

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Добавил себе порт RXCLKCORCNT0 - коррекции клока не происходит, даже при обнаружении переполнения.

Скорее всего, не детектится clock correction sequence как такая.

 

Та же проблема 1в1. Автор, решил как-нибудь?

Я могу добавиль лишь то, что если ты выберешь последовательность в визарде "don't care" то клок коррекшн начнет отрабатывать< но что толку, если он все равно делает непредсказуемые вещи и трет нужные данные

(прошу прощения, не заметил второй страницы)))))

 

Огромное спасибо всем, особенно товарищу toshas, убедившему меня, что коррекция клока существует!

 

В версии 1.10 у меня так и не заработало, перешел на версию корки 1.11, и после долгих мучений и перебора параметров я имел возможность наблюдать коррекцию в железе.

 

Общий баланс:

- Потрачено около месяца на внешне нетрудное задание.

- Навсегда загублена репутация человека, могущего создать прототип чего-угодно за неделю (репутация была создана на обычных микроконтроллерах, так что цена ее невелика, но все же...)

- Несколько недель стресса и отвратительного настроения.

- Навсегда потеряна вера в высокоуровневые инструменты Xilinx. Использование мастера при генерации корки не помогло обойтись без ручной правки и копания в сотнях параметров. Сгенерированые wrappers плохи, неочевидны и документованы по-индусски.

- Навсегда потеряна вера в документацию и технические форумы Xilinx.

 

+ Возникло уважение к electronix.ru, наверно единственному техническому форуму, где дают советы по делу вместо троллинга и флуда.

+ Узнал много нового о Gigabit Transceiver, Chipscope.

 

 

Надеюсь когда-то отплатить своими знаниями другому новичку в этом ужасном и удивительном мире ПЛИС.

 

Тему пока закрывать не буду, ибо трансивер и глюки неисчерпаемы, как атом.

 

так как решилась проблема? просто перешел на другую версию?("после долгих мучений и перебора параметров" каких параметров?)

я уже неделю бъюсь с этой коррекцией. причем с 8b/10b работает, а мне без нее надо - не работает

Изменено пользователем Lutovid

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Опираясь на вышеизложенное у меня все заработало, спасибо предшественникам) Вопрос остался один - есля я не пользуюсь 8b10b в интерфесе 16 бит, как задать CC последовательность в 8 бит(если доступно 10)??

У меня свой алигмент написан через RXSLIDE, но выравнивание будет постоянно теряться если CC последовательность 10 бит. Не хотелось бы писать свой CC поэтому хочу отделаться малой кровью.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
Авторизация