RoadRunner 0 7 июля, 2020 Опубликовано 7 июля, 2020 (изменено) · Жалоба Всем доброго времени суток. Пытаюсь сейчас переделать xcvr example для Cyclone 10 GX c 1G на 10G. В проекте изначально были Tranceiver PHY Reset Controller, Native PHY и ATX PLL. На вход ATX PLL подавалось 125 Ггц, на выходе она давала 625 Ггц для tx_serial_clk Native PHY. rx_xdr_refclk того же Native PHY тактировался входными 125 Ггц. И все работало: в Tranceiver ToolKit передатчик передавал, приемник принимал через loopback на плате.Чтобы переделать все на 10G, в настройках Native PHY я включил пересет 10BASE-R, входной клок переделал на 156.25, чтобы на выходе ATX PLL давала 5156.25. rx_cdr_refclk переделал на 322.265625 (10312.5/32) Для этого добавил fPLL,которая из 156.25 делает 322.265625 В результате передатчик работает, а приемник - не лочится ни по reference clock, ни по recovered clock. Смотрю все так же в Tranceiver ToolKit. Посоветуйте, что может быть не так? Изменено 7 июля, 2020 пользователем RoadRunner Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
new123 0 7 июля, 2020 Опубликовано 7 июля, 2020 (изменено) · Жалоба Знакомая фишка, сходу фиг догадаешься. Просидел два дня с ней rx_ready подгнялся? Изменено 7 июля, 2020 пользователем new123 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
RoadRunner 0 8 июля, 2020 Опубликовано 8 июля, 2020 · Жалоба 18 hours ago, new123 said: Знакомая фишка, сходу фиг догадаешься. Просидел два дня с ней rx_ready подгнялся? нет, не поднялся. Я так понимаю, он поднимется, когда лок будет на приеме. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
new123 0 8 июля, 2020 Опубликовано 8 июля, 2020 (изменено) · Жалоба 16 minutes ago, RoadRunner said: Я так понимаю, он поднимется, когда лок будет на приеме. не совсем так, но и от части тоже. Вообщем ready не поднялся, значит резет трансивера rx не прошел. Значит что то с цепочкой резета. Или самому резет написать или поставить галочку в резет контроллере, чтобы каналы резетились не параллельно, а последовательно. Сначала tx, потом rx. Там эта галочка одна из первых Изменено 8 июля, 2020 пользователем new123 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
iosifk 3 8 июля, 2020 Опубликовано 8 июля, 2020 · Жалоба 19 минут назад, new123 сказал: резет В английском есть слово "set", что значит "установить". И есть приставка "re-" которая обозначает повторное действие. Так откуда у Вас в слове "ресет" берется буква "з"? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Tue 0 8 июля, 2020 Опубликовано 8 июля, 2020 · Жалоба 19 hours ago, RoadRunner said: rx_cdr_refclk переделал на 322.265625 (10312.5/32) Для этого добавил fPLL,которая из 156.25 делает 322.265625 В результате передатчик работает, а приемник - не лочится ни по reference clock, ни по recovered clock. rx_cdr_refclk переделали на вкладке "RX PMA" ? Почему на 322.265625 ? Что мешает подавать ту же 156.25 что и для ATX PLL ? Reset_controller использовали альтеровский или самописный ? Как подключали ? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
RoadRunner 0 8 июля, 2020 Опубликовано 8 июля, 2020 · Жалоба 53 minutes ago, new123 said: не совсем так, но и от части тоже. Вообщем ready не поднялся, значит резет трансивера rx не прошел. Значит что то с цепочкой резета. Или самому резет написать или поставить галочку в резет контроллере, чтобы каналы резетились не параллельно, а последовательно. Сначала tx, потом rx. Там эта галочка одна из первых. Одна из первых там галочка "Separate interface per channel/PLL", но это вроде для различных пар каналов трансиверов. Вы ее имели ввиду? Есть еще галочки "Use separate TX reset per channel" для передатчика, и "Use separate RX reset per channel" для приемника. Это больше похоже на то, о чем Вы говорите. Я включил их обе - не помогло. Может поодиночке надо? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
new123 0 8 июля, 2020 Опубликовано 8 июля, 2020 (изменено) · Жалоба 12 minutes ago, RoadRunner said: Есть еще галочки "Use separate TX reset per channel" для передатчика, и "Use separate RX reset per channel" для приемника. Это больше похоже на то, о чем Вы говорите. Я включил их обе - не помогло. Может поодиночке надо? минут через 20 гляну свой проект, отпишусь Вот мои настройки контроллера сброса. Галка верхняя. RX запускать после TX Без нее любые танцы с бубном были напрасны. Ну и не догадался сразу _ready смотреть, думал трансиверы автоматом поднялись. Изменено 8 июля, 2020 пользователем new123 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
RoadRunner 0 8 июля, 2020 Опубликовано 8 июля, 2020 (изменено) · Жалоба 25 minutes ago, Tue said: rx_cdr_refclk переделали на вкладке "RX PMA" ? Почему на 322.265625 ? Что мешает подавать ту же 156.25 что и для ATX PLL ? Reset_controller использовали альтеровский или самописный ? Как подключали ? 322.265625 просто ради эксперимента. Подумал, что может в ней дело. Поначалу то у меня 156.25 и была. Reset_controller альтеровский. Схема подключения как файле примера (прикрепил к посту). Там вариант с одинаковым клоком для rx_cdr_clkref и ATX PLL (обозначен как clk_125M - не обращайте внимания, там 156.25) top.v Изменено 8 июля, 2020 пользователем RoadRunner Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
new123 0 8 июля, 2020 Опубликовано 8 июля, 2020 (изменено) · Жалоба 3 minutes ago, RoadRunner said: Схема подключения как файле примера (прикрепил к посту а сигналов вида *analogreset_stat* и *digitalreset_stat* нет? они тоже важны. Только у нас чипы разные. Изменено 8 июля, 2020 пользователем new123 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
RoadRunner 0 8 июля, 2020 Опубликовано 8 июля, 2020 · Жалоба 10 minutes ago, new123 said: минут через 20 гляну свой проект, отпишусь Вот мои настройки контроллера сброса. Галка верхняя. RX запускать после TX Без нее любые танцы с бубном были напрасны. Ну и не догадался сразу _ready смотреть, думал трансиверы автоматом поднялись. У вообще такой галки нет) Сдается мне, придется писать самому. 12 minutes ago, new123 said: Ну и не догадался сразу _ready смотреть, думал трансиверы автоматом поднялись. На другом ките (Cyclone V по-моему) с трансивером у меня так и было: без всяких резет контроллеров поднялся сразу) Правда, на 1G. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
new123 0 8 июля, 2020 Опубликовано 8 июля, 2020 (изменено) · Жалоба 4 minutes ago, RoadRunner said: трансивером у меня так и было: без всяких резет контроллеров поднялся сраз на любой пятерке и у меня сходу все взлетает =) а резет контроллер писать от силы часов 5. Удачи. У меня где то даже был двух летней давности. Можно конечно сигналтапом залезть и посмотреть, что идет не по спецификации, и вдург можно подправить этими настройками в корке (параметры duration)) Я бы так и сделал, если бы галка не помогла. В любом случае надо найти причину не подымания RX трансивера Изменено 8 июля, 2020 пользователем new123 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
RoadRunner 0 8 июля, 2020 Опубликовано 8 июля, 2020 · Жалоба 9 minutes ago, new123 said: а сигналов вида *analogreset_stat* и *digitalreset_stat* нет? они тоже важны. Только у нас чипы разные. Есть только rx_is_lockedtoref, rx_is_lockedtodata. И еще rx_control[7..0]. Пока не знаю, что он показывает - надо разобраться Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
new123 0 8 июля, 2020 Опубликовано 8 июля, 2020 · Жалоба 5 minutes ago, RoadRunner said: У вообще такой галки нет) ради интереса, какая версия квартуса? чтобы я знал для себя Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
RoadRunner 0 8 июля, 2020 Опубликовано 8 июля, 2020 · Жалоба Just now, new123 said: ради интереса, какая версия квартуса? чтобы я знал для себя 19.2.0 Pro 4 minutes ago, new123 said: на любой пятерке и у меня сходу все взлетает =) а резет контроллер писать от силы часов 5. Удачи. У меня где то даже был двух летней давности. Можно конечно сигналтапом залезть и посмотреть, что идет не по спецификации, и вдург можно подправить этими настройками в корке (параметры duration)) Я бы так и сделал, если бы галка не помогла. В любом случае надо найти причину не подымания RX трансивера Понял. Спасибо! Буду копать в этом направлении. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться