gin 0 21 марта, 2019 Опубликовано 21 марта, 2019 (изменено) · Жалоба Всем добрый день! Возникла следующая проблема: Имеется плата KC705 (Kintex 7). Есть задача использовать SMA-разъем на плате для передачи данных на частоте 3.125 GHz. Для этого я собрал проект с GTX трансивером (в режиме TX). Но возникла проблема при подключении к нему опорного клока (refclk). На плате есть тактовый генератор Si570, который как раз настроен на нужную мне частоту (156.25 MHz). Но при попытке его подключения к входам трансивера возникает ошибка, Vivado не может его подключить, так как этот клок заведен не на те выводы ПЛИС. В User Guide на эту плату есть список возможных клоков для подключения. Собственно вопрос, правильно ли я понимаю, что для выбранного трансивера (выделен желтым), возможно подключать только те клоки (выделены красным), которые заходят на соответствующий банк? Как быть в моем случае, когда нужный мне клок вообще не заходит на банки ни одного из трансиверов? Заранее спасибо! Изменено 21 марта, 2019 пользователем gin Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
RobFPGA 30 21 марта, 2019 Опубликовано 21 марта, 2019 · Жалоба Приветствую! 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. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
10ff 0 21 марта, 2019 Опубликовано 21 марта, 2019 · Жалоба 1 hour ago, gin said: На плате есть тактовый генератор Si570, который как раз настроен на нужную мне частоту (156.25 MHz). А вы обратили внимание, что на плате есть еще микросхема U70? Это аттенюатор джиттера. На него подается клок с обычных ножек ПЛИС (можете его хоть PLL-кой сделать), а выход с этой микросхемы заводится на трансиверный банк 116. Этот клок в кристалле можно протащить в соседний 117-й банк, где находится ваш SMA. Надеюсь объяснил. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
gin 0 21 марта, 2019 Опубликовано 21 марта, 2019 · Жалоба 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, затем буду пробовать через аттенюатор. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
10ff 0 21 марта, 2019 Опубликовано 21 марта, 2019 · Жалоба 5 minutes ago, gin said: Да, спасибо, обратил внимание. То есть я могу взять клок с Si570, пропустить его через ПЛИС без каких-либо изменений, завести его на аттенюатор, а с его выхода брать уже сигнал refclk для трансивера? Эх, по сравнению с тем, когда я работал с Альтерой - данное решение несколько сложнее)) Да, именно так. Плюс ко всему этот аттенюатор придется запрограммировать. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
gin 0 25 марта, 2019 Опубликовано 25 марта, 2019 (изменено) · Жалоба В 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 ГГц? Изменено 25 марта, 2019 пользователем gin Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
RobFPGA 30 25 марта, 2019 Опубликовано 25 марта, 2019 · Жалоба Приветствую! 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. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
gin 0 25 марта, 2019 Опубликовано 25 марта, 2019 · Жалоба Спасибо, понял про что вы говорите. У меня немного другая мысль возникла. Я ведь формирую данные внутри FPGA на частоте 156,25 МГц (шина 16 бит). Эти 156,25 как раз берутся с выхода PLL трансивера txusrclk2. Затем данные подаются на трансивер, где производится преобразование 8b/10b, и сериализация. В итоге на выходе как раз и получается 3,125 ГГц. Но ведь мне необязательно подавать опорный клок refclk = 156,25. Я ведь могу подать клок кратной частоты. Например 125 МГц. И PLL из него сама сделает 156,25 на выходе txusrclk2. Верно ведь? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
RobFPGA 30 25 марта, 2019 Опубликовано 25 марта, 2019 · Жалоба Приветствую! Да - в качестве опорной можно взять любую частоту из которой QPLL/CPLL сможет сделать нужный вам bitrate Удачи! Rob. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
gin 0 25 марта, 2019 Опубликовано 25 марта, 2019 · Жалоба 24 минуты назад, RobFPGA сказал: Приветствую! Да - в качестве опорной можно взять любую частоту из которой QPLL/CPLL сможет сделать нужный вам bitrate Удачи! Rob. Спасибо! Да так и решил сделать. Оказалось, что генератор 125 МГц как раз заходит на тот же банк, где и нужный мне трансивер. И точность у него 40 ppm. И частота кратная. Правильно ли я понимаю, что в выпадающем списке в визарде как раз и присутствуют частоты, которые дают нужный битрейт? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Flood 13 26 марта, 2019 Опубликовано 26 марта, 2019 · Жалоба Да, визард предлагает все валидные варианты для выбранной конфигурации Line Rate / PLL. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
gin 0 8 мая, 2019 Опубликовано 8 мая, 2019 · Жалоба Кстати, а в корке для 10G ethernet (10G BASE-R) есть вариант использования внутреннего клока с PLL для Kintex7? Или не вариант, и придется заводить внешний? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
new123 0 8 мая, 2019 Опубликовано 8 мая, 2019 (изменено) · Жалоба 3 hours ago, gin said: использования внутреннего клока с PLL для Kintex7? Или не вариант, и придется заводить внешний? была бы у вас Альтера, я бы рассказал, что я так делал, заводил опорный с ближайшего pll. Но старожилы говорили мне, что джиттер не айс и будут сбои при нагреве. Изменено 8 мая, 2019 пользователем new123 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
gin 0 8 мая, 2019 Опубликовано 8 мая, 2019 · Жалоба 18 минут назад, new123 сказал: была бы у вас Альтера, я бы рассказал, что я так делал, заводил опорный с ближайшего pll. Но старожилы говорили мне, что джиттер не айс и будут сбои при нагреве. Эх, была бы у меня Altera - я бы себе сам рассказал)) Но у меня Xilinx Kintex7, плата KC705. И сейчас 2 варианта: либо заводить клок через микросхему JITTER ATTENUATOR, либо делать упрощенный тестовый вариант с использованием внутреннего клока (если такое возможно) 20 минут назад, new123 сказал: была бы у вас Альтера, я бы рассказал, что я так делал, заводил опорный с ближайшего pll. Но старожилы говорили мне, что джиттер не айс и будут сбои при нагреве. Кстати, когда с Альтерой работал - у меня была плата на Стратикс5. Там я использовал внешний клок от генератора Si570 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
new123 0 8 мая, 2019 Опубликовано 8 мая, 2019 · Жалоба 12 minutes ago, gin said: у меня была плата на Стратикс5. Там я использовал внешний клок от генератора Si570 у меня Si пальнула до меня. Я исследовал жизнеспособность платы и чипа и запускал от внутреннего pll. Потом мне перепаяли часть платы, в том числе и Si и я от нее стал цепляться, конфигурируя каждый раз при запуске по i2c. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться