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

Kintex 7 - Опорный клок для GTX трансиверов (плата KC705)

Всем добрый день! Возникла следующая проблема:

Имеется плата KC705 (Kintex 7). Есть задача использовать SMA-разъем на плате для передачи данных на частоте 3.125 GHz. Для этого я собрал проект с GTX трансивером (в режиме TX). Но возникла проблема при подключении к нему опорного клока (refclk). На плате есть тактовый генератор Si570, который как раз настроен на нужную мне частоту (156.25 MHz). Но при попытке его подключения к входам трансивера возникает ошибка, Vivado не может его подключить, так как этот клок заведен не на те выводы ПЛИС.

 

В User Guide на эту плату есть список возможных клоков для подключения.

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

Как быть в моем случае, когда нужный мне клок вообще не заходит на банки ни одного из трансиверов?

 

Заранее спасибо!

ug810.thumb.jpg.9880deabd975fcbc7d5d08d9e446e52a.jpg

tx3125.thumb.jpg.c247f906f19afb727bed91469b8808b3.jpg

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

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


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

Приветствую!

17 minutes ago, gin said:

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

Да - в основном желательно  использовать ref clock соответствующего банка.  Так же как вариант можно использовать ref clock вход из соседнего банка (+/- 1 банк). И на самый крайний случай можно завести ref clock от внутреннего PLL через global BUF. 

Сморите мануал 7 Series FPGAs GTX/GTH Transceivers  в разделе Reference Clock Input Structure.

Удачи! Rob.

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


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

1 hour ago, gin said:

 На плате есть тактовый генератор Si570, который как раз настроен на нужную мне частоту (156.25 MHz).

 

А вы обратили внимание, что на плате есть еще микросхема U70? Это аттенюатор джиттера. На него подается клок с обычных ножек ПЛИС (можете его хоть PLL-кой сделать), а выход с этой микросхемы заводится на трансиверный банк 116. Этот клок в кристалле можно протащить в соседний 117-й банк, где находится ваш SMA. Надеюсь объяснил.

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


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

30 минут назад, 10ff сказал:

А вы обратили внимание, что на плате есть еще микросхема U70? Это аттенюатор джиттера. На него подается клок с обычных ножек ПЛИС (можете его хоть PLL-кой сделать), а выход с этой микросхемы заводится на трансиверный банк 116. Этот клок в кристалле можно протащить в соседний 117-й банк, где находится ваш SMA. Надеюсь объяснил.

Да, спасибо, обратил внимание. То есть я могу взять клок с Si570, пропустить его через ПЛИС без каких-либо изменений, завести его на аттенюатор, а с его выхода брать уже сигнал refclk для трансивера?

Эх, по сравнению с тем, когда я работал с Альтерой - данное решение несколько сложнее))

1 час назад, RobFPGA сказал:

Приветствую!

Да - в основном желательно  использовать ref clock соответствующего банка.  Так же как вариант можно использовать ref clock вход из соседнего банка (+/- 1 банк). И на самый крайний случай можно завести ref clock от внутреннего PLL через global BUF. 

Сморите мануал 7 Series FPGAs GTX/GTH Transceivers  в разделе Reference Clock Input Structure.

Удачи! Rob.

Роб, спасибо!

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

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


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

5 minutes ago, gin said:

Да, спасибо, обратил внимание. То есть я могу взять клок с Si570, пропустить его через ПЛИС без каких-либо изменений, завести его на аттенюатор, а с его выхода брать уже сигнал refclk для трансивера?

Эх, по сравнению с тем, когда я работал с Альтерой - данное решение несколько сложнее)) 

Да, именно так. Плюс ко всему этот аттенюатор придется запрограммировать.

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


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

В 21.03.2019 в 15:50, RobFPGA сказал:

И на самый крайний случай можно завести ref clock от внутреннего PLL через global BUF. 

Сморите мануал 7 Series FPGAs GTX/GTH Transceivers  в разделе Reference Clock Input Structure.

А как завести клок от PLL, если на входе трансивера требуется дифференциальный сигнал?

Что то я из документа этого не понял...

 

Или имеется ввиду, что внутренняя CPLL трансивера сама умножит refclk 125 MHz до требуемого значения в 3.125 ГГц? 

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

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


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

Приветствую!

46 minutes ago, gin said:

А как завести клок от PLL, если на входе трансивера требуется дифференциальный сигнал?

Что то я из документа этого не понял...

Еще раз - сморим мануал 7 Series FPGAs GTX/GTH Transceivers  в разделе Reference Clock Input Structure. Дифференциальный сигнал это только для входного буфера.  Затем стоит QPLL/CPLL Reference Clock Selection Multiplexer Figure 2-2/Figure 2-3  и там 7-мой ножкой есть GTGREFCLK  который в табличке Table 2-4 описан как 

GTGREFCLK | In | Clock Reference clock generated by the internal
                 FPGA logic. This input is reserved for
                 internal testing purposes only

Понятное дело что качество такого reference будет никакое  - поэтому в wizard такой вариант не дают выбрать - придется все ручками делать.

 

Удачи! Rob.

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


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

Спасибо, понял про что вы говорите.

 

У меня немного другая мысль возникла. Я ведь формирую данные внутри FPGA на частоте 156,25 МГц (шина 16 бит). Эти 156,25 как раз берутся с выхода PLL трансивера txusrclk2. Затем данные подаются на трансивер, где производится преобразование 8b/10b, и сериализация. В итоге на выходе как раз и получается 3,125 ГГц.

Но ведь мне необязательно подавать опорный клок refclk = 156,25. Я ведь могу подать клок кратной частоты. Например 125 МГц. И PLL из него сама сделает 156,25 на выходе txusrclk2. Верно ведь?

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


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

Приветствую!

Да - в качестве опорной можно взять любую частоту из которой QPLL/CPLL сможет сделать нужный вам bitrate

Удачи! Rob. 

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


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

24 минуты назад, RobFPGA сказал:

Приветствую!

Да - в качестве опорной можно взять любую частоту из которой QPLL/CPLL сможет сделать нужный вам bitrate

Удачи! Rob. 

Спасибо!

Да так и решил сделать. Оказалось, что генератор 125 МГц как раз заходит на тот же банк, где и нужный мне трансивер. И точность у него 40 ppm. И частота кратная.

Правильно ли я понимаю, что в выпадающем списке в визарде как раз и присутствуют частоты, которые дают нужный битрейт?

ref_freq.thumb.jpg.822ded40662056a6d428ea306ed51a27.jpg

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


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

Кстати, а в корке для 10G ethernet (10G BASE-R) есть вариант использования внутреннего клока с PLL для Kintex7? Или не вариант, и придется заводить внешний?

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


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

3 hours ago, gin said:

использования внутреннего клока с PLL для Kintex7? Или не вариант, и придется заводить внешний?

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

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

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


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

18 минут назад, new123 сказал:

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

 

Эх, была бы у меня Altera - я бы себе сам рассказал))

Но у меня Xilinx Kintex7, плата KC705. И сейчас 2 варианта: либо заводить клок через микросхему JITTER ATTENUATOR, либо делать упрощенный тестовый вариант с использованием внутреннего клока (если такое возможно)

20 минут назад, new123 сказал:

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

Кстати, когда с Альтерой работал - у меня была плата на Стратикс5. Там я использовал внешний клок от генератора Si570

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


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

12 minutes ago, gin said:

у меня была плата на Стратикс5. Там я использовал внешний клок от генератора Si570

у меня Si пальнула до меня. Я исследовал жизнеспособность платы и чипа и запускал от внутреннего pll. Потом мне перепаяли часть платы, в том числе и Si и я от нее стал цепляться, конфигурируя каждый раз при запуске по i2c.

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


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

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...