Jump to content

    

Вопрос о gtpe2_channel, gtpe2_common

Здравствуйте.

У меня есть плата с fpga xilinx artix200 fbg484-2.

Работаю в vivado 2017.2.

В этом кристалле  один квадрант трансиверов, GTP - 4 шт., COMMON - 1 шт. Два внешних клока.

По заданию нужно один GTP питать от одного внешнего клока, а третий от другого внешнего клока.

Использую ip core "1G/2.5G Ethernet PCS/PMA or SGMII v16.1".

У блока GTPE2_COMMON две pll, два клоковых входа и два клоковых выхода.

Из блока COMMON вывожу все сигналы pll0 на один трансивер, а pll1 на другой трансивер. Соответственно в втором ядре переподключил блоки  startup_fsm на ppl1, и для COMMON установил PLL1REFCLKSEL = B"010". В GTPE2_CHANNEL настройки не менял.

Проект собрался, но при отладке ядро, работающие от clock0 поднялось(userclk есть, resetdone - ok), а второе, работающее от clock1 не запустилось(userclk нет, resetdone - not ok). 

В документации прямо не написано, что GTP в одном квадранте можно питать двумя разными клоками. 

Там написано, что можно выбрать каким клоком питать GTP.

Возможно ли так сделать? И если да, то где я ошибся?

Благодарю.

ps.jpg

Edited by Kostochkin

Share this post


Link to post
Share on other sites

Насколько я помню, в Channel заходят оба клока (от PLL0 и PLL1), далее внутри выбирается какой клок используем.

Share this post


Link to post
Share on other sites

Да, в channel заходят два клока, а как выбрать какой клок использовать? Нигде не нашел...

Edited by Kostochkin

Share this post


Link to post
Share on other sites

RX(TX)SYSCLKSEL. Структура в UG482; Figure 2-4:External Reference Clock Use Case

Share this post


Link to post
Share on other sites

Установил в ядре, которое питается от клока PLL1 настройки трансивера:

TXSYSCLKSEL = b"11";

RXSYSCLKSEL = b"11";

Ядро все равно не поднимается.

Блок "TX_STARTUP_FSM" не опускает сигнал mmcm_reset в 0.

Соответственно pll не выдает userclk.

Что-то еще надо настроить?

Share this post


Link to post
Share on other sites

Второй сигнал синхронизации точно в наличии ? Номинал верный ?

Как вариант попробуйте собрать проект IBERT и посмотреть работу на нем.

Share this post


Link to post
Share on other sites
23 hours ago, toshas said:

Второй сигнал синхронизации точно в наличии ? Номинал верный ?

Как вариант попробуйте собрать проект IBERT и посмотреть работу на нем.

Сейчас проверю.

Share this post


Link to post
Share on other sites

Извините, что долго не отвечал.

Разобрался.

В блоке GTPE2_COMMON по умолчанию для атрибутов PLL1(настройки внутренней pll) были выбраны коэффициенты, отличные от аналогичных для PLL0.

Установил атрибуты для PLL1 такие же, как и для PLL0, заработало.

Edited by Kostochkin

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this