blackfin 23 24 января, 2020 Опубликовано 24 января, 2020 · Жалоба 53 minutes ago, Flood said: Можно ли получить единый домен для всех портов уже на уровне PHY, или они будут группироваться по-квадово? Если можно для всех, то достаточно ли для этого синхронизированных внешних рефклоков? Для SGMII можно с помощью одного MMCM подключить 19 LVDS пар Rx к одному банку IO. То есть, к двум банкам IO можно подключить 19 GbE PHYs. См. XAPP523. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Flood 13 24 января, 2020 Опубликовано 24 января, 2020 · Жалоба 17 минут назад, blackfin сказал: Для SGMII можно с помощью одной MMCM подключить 19 LVDS пар Rx к одному банку IO. То есть, к двум банкам IO можно подключить 19 GbE PHYs. См. XAPP523. Спасибо! Правда, мой вопрос касался использования и тактирования встроенного PHY (MGT). Т.к. не было реальных проектов более чем на 4 порта, до сих пор точно не знаю, как получить общий клок между различными квадами. И, отдельно, между не смежными квадами, использующими разные внешние входы refclk. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
syoma 1 27 января, 2020 Опубликовано 27 января, 2020 · Жалоба On 1/24/2020 at 6:02 PM, Flood said: Спасибо! Правда, мой вопрос касался использования и тактирования встроенного PHY (MGT). Т.к. не было реальных проектов более чем на 4 порта, до сих пор точно не знаю, как получить общий клок между различными квадами. И, отдельно, между не смежными квадами, использующими разные внешние входы refclk. А зачем вам это надо? То есть просто, чтобы не возиться с CDC логикой или есть какие-то другие причины? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
new123 0 27 января, 2020 Опубликовано 27 января, 2020 · Жалоба On 1/24/2020 at 8:02 PM, Flood said: Т.к. не было реальных проектов более чем на 4 порта, до сих пор точно не знаю, как получить общий клок между различными квадами а вы 4 на альтере поднимали? и как общий клок сделали? или просто корку 40g использовали? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Flood 13 27 января, 2020 Опубликовано 27 января, 2020 · Жалоба 3 часа назад, syoma сказал: А зачем вам это надо? То есть просто, чтобы не возиться с CDC логикой или есть какие-то другие причины? Главным образом - для понимания (корректности) схемы тактирования. В пределах одного квада более-менее понятно, в т.ч. потому что есть примеры. А вот для межквадовых ситуаций - не вполне понятно. И в особенности - для случаев с внешним фанаутом рефклока (когда портов так много, что внутренний не достает). Ну а на практике - как правило, удобнее иметь общий тактовый домен. 3 часа назад, new123 сказал: а вы 4 на альтере поднимали? и как общий клок сделали? или просто корку 40g использовали? Увы, реально поднимал только на Xilinx. На альтере наверняка свои особенности. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
syoma 1 27 января, 2020 Опубликовано 27 января, 2020 · Жалоба 6 minutes ago, Flood said: И в особенности - для случаев с внешним фанаутом рефклока (когда портов так много, что внутренний не достает). Вроде, это должна быть достаточно экзотическая ситуация. Во всех платах, с которыми мы работаем, для каждого QUADа доступен свой RefClk от внешнего программируемого генератора, позволяющего получить любую нужную частоту 125/156,25Мгц. Также частенько все это дело выводится через FMC и там тоже есть свои RefCLK линии со своими генераторами. Поэтому у нас необходимость тактирования какого либо квада от соседнего возникала только в экзотическом случае, когда надо было получать разные скорости и протоколы в пределах одного квада и для этого как назло нужны были разные частоты опорников. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Flood 13 27 января, 2020 Опубликовано 27 января, 2020 · Жалоба 59 минут назад, syoma сказал: Вроде, это должна быть достаточно экзотическая ситуация. Во всех платах, с которыми мы работаем, для каждого QUADа доступен свой RefClk от внешнего программируемого генератора, позволяющего получить любую нужную частоту 125/156,25Мгц. При этом у вас в каждом кваде свой частотный домен? Или даже в каждом канале? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
blackfin 23 27 января, 2020 Опубликовано 27 января, 2020 · Жалоба 2 hours ago, Flood said: При этом у вас в каждом кваде свой частотный домен? Или даже в каждом канале? CDC делается в каждом GTH независимо от других: Quote The GTH transceiver RX datapath has two internal parallel clock domains used in the PCS: The PMA parallel clock domain (XCLK) and the RXUSRCLK domain. To receive data, the PMA parallel rate must be sufficiently close to the RXUSRCLK rate, and all phase differences between the two domains must be resolved. The GTH transceiver includes an RX elastic buffer to resolve differences between the XCLK and RXUSRCLK domains. См: UG576, page 268. UPD: Quote These rules must be observed when sharing a reference clock to ensure that jitter margins for high-speed designs are met: • The number of Quads above the sourcing Quad must not exceed two. • The number of Quads below the sourcing Quad must not exceed two. • The total number of Quads sourced by an external clock pin pair (MGTREFCLKN/MGTREFCLKP) must not exceed five Quads (or 20 transceivers).The maximum number of transceivers that can be sourced by a single clock pin pair is 20. Designs with more than 20 transceivers require the use of multiple external clock pins to ensure that the rules for controlling jitter are followed. When multiple clock pins are used, an external buffer can be used to drive them from the same oscillator. См: UG576, page 36. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
syoma 1 27 января, 2020 Опубликовано 27 января, 2020 · Жалоба 47 minutes ago, Flood said: При этом у вас в каждом кваде свой частотный домен? Или даже в каждом канале? И так и так. И все это асинхронно к PCIe. Причем во многих QUADах частота-то одна и та же 125МГц, но MGTREFCLK запитан от разных тактовых генераторов или от разных каналов одного и того же генератора. Поэтому мы специально рассчитываем что эти клоки могут быть асинхронными, да и все. Хотя генератор на плате, может, их и синхронно генерит. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
quest 2 3 февраля, 2020 Опубликовано 3 февраля, 2020 · Жалоба Белый Кролик вам не подходит? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
dsmv 0 3 февраля, 2020 Опубликовано 3 февраля, 2020 · Жалоба On 1/24/2020 at 7:21 PM, Flood said: Вопрос чуть в сторону - при реализации 20-и портов что происходит с частотными доменами портов? Можно ли получить единый домен для всех портов уже на уровне PHY, или они будут группироваться по-квадово? Если можно для всех, то достаточно ли для этого синхронизированных внешних рефклоков? Интересно как для 1Гбит (CPLL), так и для случая 10Гбит (QPLL). Напрашивается решение - каждый quad работает на своей частоте tx и rx, но вся логика соединения между портами работает на одной частоте. Если точнее - частота tx - одна на quad, частота rx - у каждого порта своя. Дело в том, что кодировка 64/66 которая используется в 10G не предполагает выравнивания скорости потока внутри GTH. Поэтому принятые данные от GTH поступают на частоте, которая восстановлена из входного сигнала. Работать с 20-ю частотами конечно невозможно, поэтому надо перейти на одну частоту. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
syoma 1 3 февраля, 2020 Опубликовано 3 февраля, 2020 · Жалоба 6 hours ago, quest said: Белый Кролик вам не подходит? Если я правильно Вас понял, то это обыкновенная гигабитщина на Virtex-6. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
RobFPGA 30 3 февраля, 2020 Опубликовано 3 февраля, 2020 · Жалоба Приветствую! 18 minutes ago, syoma said: Если я правильно Вас понял, то это обыкновенная гигабитщина на Virtex-6. Может тогда посмотреть на VPX варианты, например типа ComEth4582a Ethernet matrix. Удачи! Rob. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Flood 13 3 февраля, 2020 Опубликовано 3 февраля, 2020 · Жалоба 35 минут назад, dsmv сказал: Если точнее - частота tx - одна на quad, частота rx - у каждого порта своя. Дело в том, что кодировка 64/66 которая используется в 10G не предполагает выравнивания скорости потока внутри GTH. В GTx есть Elastic Buffer, который позволяет работать с одной и той же частотой на TX и RX (для случая Ethernet, вроде, для эластика используется IFG). Вопрос не в этом. Вот как делается общий TX clock для квада? Берется выход TX clock от одного GT и раздается на входы (как минимум, TX клока) всех каналов в кваде. В одном кваде единый источник этой частоты - в стандартном случае это результат деления частоты QPLL. Вопрос - а можно ли так раздать и для каналов в соседних квадах? Если можно, то почему (т.е. какие условия нужно выполнить, наверное, как минимум должен быть один и тот же источник GT refclk), и сколько квадов можно так затактировать, а если нельзя, то тоже - почему? В документации я не нашел прямого ответа на этот вопрос. Обычно все тонкости с раздачей частоты заканчиваются обсуждениями внутри квада. А вот что между квадами - ссылок не нашел, ни на пример реализации, ни на запрет. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
new123 0 5 февраля, 2020 Опубликовано 5 февраля, 2020 · Жалоба On 2/3/2020 at 8:00 PM, Flood said: В альтере кстати, в ее ip core есть настройка, либо пользуешься выдаваемым коркой клоком для забирания данных, либо в корку можно подать свой клок. Так можно посадить все в один клоковый домен. В трансиверах все равно на выходе стоит компенсанционное FIFO, которое компенсирует не совпадение частот. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться