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

deadmazay

Участник
  • Постов

    15
  • Зарегистрирован

  • Посещение

Репутация

0 Обычный

Информация о deadmazay

  • Звание
    Участник
    Участник
  1. Я имею в виду шлейф Serial Loopback из даташита. В этом случае и PCS, и PMA работают. На tx_coreclkin подаётся локальная частота, не из CDR. Это частота интерфейса между логикой и PCS. Её можно взять из передатчика, или прямо от генератора.
  2. Не понял вопроса. Он всё-таки передаёт, или не передаёт? Заворот post-CDR работает?
  3. А у меня эта кухня заработала уже в железе. То же всем спасибо, с Новым Годом!
  4. Дык получается на каждую тройку 2 ФАПЧа должно быть - если они подключаются как TXPLL0 и TXPLL1? Или всё-таки один ФАПЧ реконфигурируется? Или у ФАПЧа много выходов DPA? Я запитывал 2шт. FPLL от того же опорного клока, что и 8шт. RXCDR, то есть с одной выделенной ноги REFCLK
  5. Я детально не разбирался в циклоне 5, но на арии 5 нельзя от одного fPLL запустить больше 6 или 7 передатчиков. Я задействовал 2 fPLL на 12 трансиверов, по 6 передатчиков на каждый fPLL. Возможно даже, что от единственного REFCLK заработает. Можно включить трансиверы постоянно на 2488 Мбит в режиме LTD. А на 622 переключать в LTR и получать оверсэмплинг в 4 раза. Только ресет-контроллеру нужно не забыть об этом сказать, если он работает по сигналу rx_is_lockedtodata.
  6. По идее всё задействуются за счёт использования fPLL в качестве TX PLL. А для переключения скорости надо реконфигурировать (сменить делители) в RX PLL и TX PLL или в Central Clock Divider. fPLL - конфигурится отдельно, через её собственный реконфигуратор. RX PLL и делитель конфигурятся через общий реконфигуратор трансиверов, который работает с тройками. В арии 5 нельзя к тройке подключить 2 реконфигуратора - отдельные для трансиверов и PLL/CDR. В циклоне 5 скорее всего также. Частота fPLL должна быть равна половине скорости передачи. У fPLL есть выход DPA - к трансиверам подключается именно он. А протокол обмена какой? Если скорость меняется в 4 раза, то её можно и не переключать. На низкой скорости можно ставить приёмник в режим LTR и обрабатывать в режиме оверсэмплинга программно. Но, если нужно 8B/10B - это тоже придётся программно делать. Ну и заглядывай в Chip Planner, когда хоть что-то удаётся собрать. Увидишь, сколько и каких блоков задействовано.
  7. Я так понял из описания, что MIF можно игнорировать, если не используется реконфигурация. Контроллер кроме неё отвечает за калибровку, но для неё эта хрень тоже не требуется. В общем, раскидал я 24 трансивера, чтобы было 16 каналов на одной скорости и 8 - на другой. Получилась такая картина: - на одной стороне ПЛИС 12 одинаковых трансиверов на 1 Гбит/c, связанные через xN по 6. Вместе с 2 fPLL и 2 REFCLK. Тут всё хорошо. - на другой стороне 4 по 1 Гбит/с, связанные через xN, свой fFPLL и REFCLK - потом 2 по 3,1 Гбит/с, не связанные (x1), от отделньго fPLL - и завершает всё 6 шт по 3,1 Гбит/с по xN, от отдельного fPLL, REFCLK общий с предыдущей парой. Короче, внутри тройки квартус вполне себе разводит трансиверы на разной скорости - один связан с соседней тройкой по x6/xN, а 2 других имеют отдельный fPLL по линиям x1. Засада ещё осталась в этом самом контроллере конфигурации. Если контроллер один на всех, то всё ОК. Но у меня 8 каналов включены обязательно (местный XAUI), а 16 - к ним может даже REFCLK не прийти. Но связь по XAUI должна быть, чтобы это диагностировать. Соответственно восьмёрка должна калиброваться сразу при включении, а остальные 16 - когда REFCLK появится. И фигня получилась в том, что 2 контроллера реконфигурации по описанию не могут расшарить между собой тройку. Пока остановился на том, что они точно не могут работать от разных клоков. Потому что внутри всей этой трансиверной кухни есть некий, скрытый от пользователя, но передаваемый от контроллера калибровочный такт cal_clk, и он один на каждую сторону ПЛИС. И вроде бы калибровка скважности, которая мешает расшарить тройку, не обязательна на моих скоростях, но не отключается в визарде.
  8. Да, тоже Native PHY, PCS xN, PMA xN, 8B/10B, RateMatchFIFO. А что с этим делать? Warning (15104): Quartus II software detected a bonding design. Reconfiguration is not supported for Bonded designs and MIF is not created for this design. Оно вообще нужно? Всё компилится и без MIF-файлов. У альтеры написано, что эта ошибка возникает в версии <=12.0, а я в 13.1. Нужно ли этот варнинг исправлять, как там у них написано (сгенерить MIF для несвязанных трансиверов)?
  9. Ссылку неправильную дал. Правильная: https://www.altera.com/en_US/pdfs/literature/an/an676.pdf И обшибочка вышла: tx_analogreset(0)=pll_powerdown(0) без инверсии.
  10. Решилась проблемка! Спасибо всем, особенно Роману. Поставил 13.1, как у него. А вот уже 13.1 мне при компиляции один умный вещь сказал: - Не могу, - говорит, - слить свой лишний тактовый делитель с остальными, потому что у них ресеты разные. Это уже что-то. 12.1 и 17.1 ругались на гораздо большее число различий. Дальше я залез в код, сгенерённый мегафункцией Native PHY, и увидел следующую картину: В режиме "PCS bonded" квартус генерит кучу каналов и к ним дополнительный тактовый распределитель. Который, оказывается, сбрасывается ногой pll_powerdown. Все остальные блоки, с которыми квартус собрался слить этот распределитель, сбрасываются через tx_analogreset. И чтобы всё влезло, похоже нужно иметь tx_analogreset(0)=~pll_powerdown(0). И ещё убило - в коде этом так, невзначай, местами написано "// TODO - Examine resets"... В своём проекте на pll_powerdown я вообще забил - fPLL то у меня внешняя. А tx/rx_analog/digitalreset используются. Как только я все ресеты отключил, квартус сам автоматом заполнил мне всю левую сторону ПЛИС 12-ю трансиверами без вопросов. В общем осталось немного - восстановить ресеты и из 24-х сделать 8 на одной скорости и 16 на другой.
  11. Квартус 17.1 не смог развести даже одну группу из 6 xN, которую 12.1 разводил. Выругался на PCS bonding. После отключения последнего дал те же результаты, что 12.1 - хрен мне. Сам интел пока тоже молчит.
  12. PCS включён? Мне удалось все, группируя по 3 шт через x1, развести. Не не сгруппировать мне тройки так, чтобы 8 шт было на одной скорости и 16 шт на другой. Вроде и подобрал такую комбинацию через x1 и x6, что даташит разрешает развести тактовые, но не лезет. Уже квартус 17.1 поставил даже.
  13. Вот как здесь? https://www.altera.co.jp/content/altera-www...2012014_13.html Да, там 2 ФАПЧа на 2 скорости.
  14. Сейчас сижу и разбираюсь. Мне нужно включить все 24 трансивера в дуплексе на 24-трансиверной ArriaV. 8 шт. на 3,125 Гбит/с, и 16 шт. - на 2,5 Гбит/с. По описанию это можно сделать, если взять в качестве ФАПЧа передатчиков не CMU, а fPLL. Примерно как здесь: https://www.altera.co.jp/content/altera-www...2012014_13.html И вроде от одной fPLL можно 6 трансиверов запитать, но пока не получается - квартус (12.1) выставляет лишний распределитель TX-клока, и всё это не влезает.
×
×
  • Создать...