Kronac 0 9 декабря, 2021 Опубликовано 9 декабря, 2021 (изменено) · Жалоба Всем привет. Успешно использовал для приёма в ПЛИС сигналов от мезонина AD9695 EVAL. Были свои минусы модели (не было возможности пропустить через FMC в ПЛИС сигнал sysref). Назрела необходимость использовать другой замечательный КИТ от Analog DEVICES - AD9208 3000EBZ EVAL. Посмотрел все необходимые характеристики, всё устраивает, даже появилась возможность сигнал sysref прогнать через мезонин и пустить в ПЛИС. Начал копаться более глубоко, нашёл схематик и там столкнулся с очень странным моментом. На моём старом ките, для работы трансиверов JESD можно было подать на входной коннектор SMA на мезонине сигнал "EXT_REFCLK_TO_FPGA" и пропустить его через FMC на ножку "GBTCLK0_M2C_P", после чего благополучно в ядре назначить его как PHY CLK для трансиверов (Рис.1). Рис.1 На новый КИТ AD9208 EVAl на сайте Analog DEVICES я скачал архив файлов, там был схематик для AD9689 EVAL, как я понял это совместимый пин в пин с моим АЦП и плата носитель у них одна. Так вот в скаченном схематике немного изменилась схема. Входной клок для ПЛИС с коннектора на мезонине теперь называется "GLBLCLK_TO_FPGA" (Рис.2) Рис.2 Подключается же данный сигнал на ножку "LA00_P_CC" на разъёме FMC (Рис.3), который не является высокоскоростным входом для тактирования трансиверов JESD ... Подключить его к JESD, я думаю, мне компилятор не позволит.. Интересно то, что старый сигнал "EXT_REFCLK_TO_FPGA" остался на старом "правильном" месте, но при этом он обрублен и больше никуда по схеме не идёт... Рис.3 Так вот мой вопрос. Это какая то опечатка, ошибка на схеме? Или реально так перелопатили КИТ, что теперь брать клок через мезонин невозможно? Приложу обе схемы: старого кита AD9695 и нового AD9208 (AD9689 так как это одно и тоже). SCH_9695ce01a.pdf SCH_9689ce02c.pdf Изменено 9 декабря, 2021 пользователем Kronac Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Yuri124 4 9 декабря, 2021 Опубликовано 9 декабря, 2021 · Жалоба 1 hour ago, Kronac said: при этом он обрублен и больше никуда по схеме не идёт Прозвонить можете? Или - возможно ли использование на мезонине SYSREF_TO_FPGA вместо GLBLCLK_TO_FPGA - т.е. на мезонине подключить клок к другому SMA коннектору - подключит ли его компилятор куда нужно? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Kronac 0 9 декабря, 2021 Опубликовано 9 декабря, 2021 · Жалоба 42 minutes ago, Yuri124 said: Прозвонить можете? Или - возможно ли использование на мезонине SYSREF_TO_FPGA вместо GLBLCLK_TO_FPGA - т.е. на мезонине подключить клок к другому SMA коннектору - подключит ли его компилятор куда нужно? Прозвонить, к сожалению, пока не могу, так как кит ещё не куплен. Сейчас на стадии закупки и вот неожиданно возник вопрос, подойдёт ли данный кит? Или с ним не выйдет работать так, как задумывалось изначально... Обнаружил странный момент на схеме, по этому собственно и создал данную тему. По поводу использования SYSREF_TO_FPGA, он подключён на клоковый вход "CLK0_M2C" на FMC, но всё же это не высокоскоростной вход для трансиверных клоков. Компилятор такое не съест, на сколько я знаю... Уточню ещё. Сложность в том, что в системе, в которой собираюсь использовать AD9208 EVAL, на плате носителе с ПЛИС нет возможности подать хоть какие то сигналы из вне (штатными способами, без конструктивной переделки), имеются только FMC коннекторы, по этому сигналы SYSREF и PHY_CLK для JESD намеревался получать от мезонина через FMC... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Yuri124 4 9 декабря, 2021 Опубликовано 9 декабря, 2021 · Жалоба 10 minutes ago, Kronac said: всё же это не высокоскоростной вход для трансиверных клоков когда-то делал свою плату, и заводил клоки для трансиверов в двух вариантах - как на ките на спец. вход для этого банка трансиверов и, поскольку место позволяло - на всякий случай разместил на плату доп. генератор на другой клоковый вход (который при синтезе проекта Квартус развел). Потом в железе заработали оба варианта. Попробуйте предложить синтезатору этот, имеющийся на новом ките, вход, и посмотрите - сможет ли развести, появятся ли предупреждения. Как вариант - если разводка платы позволяет - самому допаять (переместить) сигналы на нужный вход FPGA (нужные контакты коннектора). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Kronac 0 9 декабря, 2021 Опубликовано 9 декабря, 2021 · Жалоба 2 minutes ago, Yuri124 said: когда-то делал свою плату, и заводил клоки для трансиверов в двух вариантах - как на ките на спец. вход для этого банка трансиверов и, поскольку место позволяло - на всякий случай разместил на плату доп. генератор на другой клоковый вход (который при синтезе проекта Квартус развел). Потом в железе заработали оба варианта. Попробуйте предложить синтезатору этот, имеющийся на новом ките, вход, и посмотрите - сможет ли развести, появятся ли предупреждения. Как вариант - если разводка платы позволяет - самому допаять (переместить) сигналы на нужный вход FPGA (нужные контакты коннектора). Спасибо, попробую конечно, но раньше когда пробовал подобный трюк, компилятор (что Quartus, что vivado) меня сразу посылал. Передвинуть, перепаять, допаять конечно всегда можно, но это уже второй шаг, когда других вариантов уже не будет =) Пока хочется отделаться малой кровью. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Kronac 0 9 декабря, 2021 Опубликовано 9 декабря, 2021 (изменено) · Жалоба 20 hours ago, Yuri124 said: когда-то делал свою плату, и заводил клоки для трансиверов в двух вариантах - как на ките на спец. вход для этого банка трансиверов и, поскольку место позволяло - на всякий случай разместил на плату доп. генератор на другой клоковый вход (который при синтезе проекта Квартус развел). Потом в железе заработали оба варианта. Попробуйте предложить синтезатору этот, имеющийся на новом ките, вход, и посмотрите - сможет ли развести, появятся ли предупреждения. Как вариант - если разводка платы позволяет - самому допаять (переместить) сигналы на нужный вход FPGA (нужные контакты коннектора). Ну при попытке в лоб подменить пин pll_ref_clk для JESD на старом проекте, квартус выдал сразу ошибку... Буду сейчас разбираться что не так.. В моём проекте входной пин "device_clk" с высокоскоростного входа шёл в ip ядро JESD и на PLLку где я формировал с него link_clk и sysref. С высокоскоростным пином такая штука работала, с обычным по ходу квартус так не может.. =) Изменено 10 декабря, 2021 пользователем Kronac Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Kronac 0 11 декабря, 2021 Опубликовано 11 декабря, 2021 · Жалоба On 12/9/2021 at 1:03 PM, Yuri124 said: когда-то делал свою плату, и заводил клоки для трансиверов в двух вариантах - как на ките на спец. вход для этого банка трансиверов и, поскольку место позволяло - на всякий случай разместил на плату доп. генератор на другой клоковый вход (который при синтезе проекта Квартус развел). Потом в железе заработали оба варианта. Попробуйте предложить синтезатору этот, имеющийся на новом ките, вход, и посмотрите - сможет ли развести, появятся ли предупреждения. Как вариант - если разводка платы позволяет - самому допаять (переместить) сигналы на нужный вход FPGA (нужные контакты коннектора). Можно спросить, как у Вас это вышло? Для интереса убрал из проекта ПЛЛ, клок с пина напрямую подаю в ядро JESD, попробовал все клоки, какие есть на моей ARRIA 10, если клок не является трансиверным выделенным клоком (на рисунке синим выделены), то какой бы клок или стандарт я не использовал, Quartus не разрешает такую разводку... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Lmx2315 5 11 декабря, 2021 Опубликовано 11 декабря, 2021 · Жалоба 4 часа назад, Kronac сказал: Можно спросить, как у Вас это вышло? Для интереса убрал из проекта ПЛЛ, клок с пина напрямую подаю в ядро JESD, попробовал все клоки, какие есть на моей ARRIA 10, если клок не является трансиверным выделенным клоком (на рисунке синим выделены), то какой бы клок или стандарт я не использовал, Quartus не разрешает такую разводку... На аррии-5 я заводил клоки для JESD как на выделенные для этого клоковые входы, так и через PLL ПЛИС с любого другого его клока. Обязательное условие при этом - сделать отдельный pll для каждого ядра JESD. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Kronac 0 11 декабря, 2021 Опубликовано 11 декабря, 2021 · Жалоба 1 hour ago, Lmx2315 said: На аррии-5 я заводил клоки для JESD как на выделенные для этого клоковые входы, так и через PLL ПЛИС с любого другого его клока. Обязательное условие при этом - сделать отдельный pll для каждого ядра JESD. Интересно.. Ну я до этого пытался напрямую клок подать без ПЛЛ сразу в ядро с пина (пропустив через Clock_Source) . Сейчас попробовал этот вариант, пропустить клок через ПЛЛ и ничего не меняя с той же частотой подать на ядро JESD, но результат тот же, что и раньше.. (ядро JESD одно у меня) Возможно в Арии 10 что то поменялось в этом плане... =) 1 hour ago, Lmx2315 said: На аррии-5 я заводил клоки для JESD как на выделенные для этого клоковые входы, так и через PLL ПЛИС с любого другого его клока. Обязательное условие при этом - сделать отдельный pll для каждого ядра JESD. А какой тип ПЛЛ при этом у Вас был? может я не ту ПЛЛ поставил или не так настроил её? Я ставил стандартную IOPLL. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Lmx2315 5 12 декабря, 2021 Опубликовано 12 декабря, 2021 · Жалоба 18 часов назад, Kronac сказал: А какой тип ПЛЛ при этом у Вас был? может я не ту ПЛЛ поставил или не так настроил её? Я ставил стандартную IOPLL. Я везде использовал PLL intel FPGA IP. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
warrior-2001 0 13 декабря, 2021 Опубликовано 13 декабря, 2021 · Жалоба Трансиверы Arria V и Arria 10 - весьма разные вещи. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Kronac 0 13 декабря, 2021 Опубликовано 13 декабря, 2021 · Жалоба On 12/12/2021 at 11:51 AM, Lmx2315 said: Я везде использовал PLL intel FPGA IP. Посмотрел в Chip Planner Arria V и мою Arria 10. Действительно в старой арии не было высокоскоростных ATX PLL / fPLL. Были только обычные PLL которые были прям у трансиверов, что позволяло такой подход и можно было завести на клоки ПЛЛек и всё было хорошо. К сожалению у новых Arria 10 всё совсем иначе и работать с трансиверами или ATX PLL/fPLL можно исключительно используя высокоскоростные трансиверные клоки... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
RobFPGA 35 13 декабря, 2021 Опубликовано 13 декабря, 2021 · Жалоба 10 minutes ago, Kronac said: К сожалению у новых Arria 10 всё совсем иначе и работать с трансиверами или ATX PLL/fPLL можно исключительно используя высокоскоростные трансиверные клоки... Похоже что это не так Quote Intel® Arria® 10 Transceiver PHY User Guide Arria3.2. Input Reference Clock Sources 10 transceiver PLLs have five possible input reference clock sources, depending on jitter requirements: • Dedicated reference clock pins • Reference clock network • The output of another fPLL with PLL cascading (59) • Receiver input pins • Global clock or core clock (59) For the best jitter performance, Intel recommends placing the reference clock as close as possible, to the transmit PLL. For protocol jitter compliance at data rates > 10 Gbps, place the reference clock pin in the same triplet as the transmit PLL. ... Figure 175. Input Reference Clock Sources ... Note: • In Arria 10 devices, the FPGA fabric core clock network can be used as an input reference source for any PLL type. • To successfully complete the calibration process, the reference clocks driving the PLLs (ATX PLL, fPLL, CDR/CMU PLL) must be stable and free running at start of FPGA configuration. Otherwise, recalibration is necessary. Так что вам надо смотреть как правильно сконфигурить источник референс клока Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Yuri124 4 13 декабря, 2021 Опубликовано 13 декабря, 2021 · Жалоба А попробуйте написать производителю кита - в чем подвох - что на схеме этот нужный Вам клок обозначен, но никуда не подключен. Возможно глюк в описании. А может быть и не глюк, а ошибка в том ките, и в новой версии это поправят. может быть... Как-то у меня был глюк с Квартусом - при переводе проекта с одного чипа (китового) на более мелкий (реально используемый) вроде как проект скомпилировался, но не работал PCIe - не поступал на трансиверы клок с разъема PCIe, при этом об ошибках не сообщал. Помогло следующее - убрал в проекте назначения всех пинов этого интерфейса, перекомпилировал, потом снова назначил сигналы (клок) на нужные мне ноги (те же самые) - и после следующей комиляции заработало. Не может ли и здесь быть чего-то подобного - помнит с предыдущего проекта что-то, и нужно как-то сбросить (руками прибить)... Дать ему автоматом развести как хочет, а потом назначить этот клок опять на нужный вход. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Kronac 0 14 декабря, 2021 Опубликовано 14 декабря, 2021 · Жалоба On 12/13/2021 at 4:05 PM, RobFPGA said: Похоже что это не так Так что вам надо смотреть как правильно сконфигурить источник референс клока Спасибо большое. Прочитал мануал подробнее. Сначала получилось подать клок через каскадирование ПЛЛ-ек. Входной пин завёл на стандартную IOpll, её выход уже подал на fPLL. Подход интересный, но боюсь представить что станет с клоком, когда он пройдёт весь этот тракт.. Долго бился над тем, чтобы подать пин напрямую на вход fractional PLL. В мануале такая возможность действительно имеется, но Квартус отчаянно сопротивлялся =)... Потом уже в другом мануале (хэндбук на Аррию 10) нашёл, что мне нужно использовать между входным пином и fPLL "ALTCLKCTRL" и только после этого квартус съел это всё и компильнулся. Не знаю на сколько это работоспособно, но то, что это компилится уже радует. Теперь у меня есть запасной план, на случай если не будет трансиверного клока. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться