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

deadmazay

Участник
  • Публикаций

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

  • Посещение

Репутация

0 Обычный

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

  • Звание
    Участник
  1. Цитата(spectr @ May 11 2018, 14:52) Если включить заворот post-CDR, то да, работает. Но в этом случае работает только PMA-часть трансивера, PCS не задействуется. Если же заворот выключить и руками завернуть параллельные шинки rx на tx (ну или просто подать константу), то не работает - на выходе ничего нет. Кстати, а какой частотой (каким значением) должен тактироваться передающий тракт (tx_coreclkin)? Такой же, которую выдает CDR после восстановления? Как-то не очень ясен этот момент. Есть подозрение что проблема в этом. Я имею в виду шлейф Serial Loopback из даташита. В этом случае и PCS, и PMA работают. На tx_coreclkin подаётся локальная частота, не из CDR. Это частота интерфейса между логикой и PCS. Её можно взять из передатчика, или прямо от генератора.
  2. Цитата(spectr @ May 11 2018, 11:53) Проблема с передачей - передатчик вообще ничего не передаёт. Совсем. Если включить pre- и post-CDR завороты, то на передающие пины данные выводятся, что говорит о том что уровень PMA работает нормально и проблема где-то выше - в PCS части. Измерительный прибор данные видит и успешно восстанавливает частоту. Не понял вопроса. Он всё-таки передаёт, или не передаёт? Заворот post-CDR работает?
  3. А у меня эта кухня заработала уже в железе. То же всем спасибо, с Новым Годом!
  4. Цитата(spectr @ Dec 29 2017, 12:39) 3 блока, каждый состоящий из: - FPLL с частотой 311.04 - Трансивер в дуплексном режиме (External PLL - 2 штуки, TXPLL0=622.08, TXPLL1=2488.32, у обоих TXPLL - Bonding x1) 1 общий блок Transceiver Reconfiguration Controller (9 каналов, сгруппированные в 3 группы по 3 канала) Дык получается на каждую тройку 2 ФАПЧа должно быть - если они подключаются как TXPLL0 и TXPLL1? Или всё-таки один ФАПЧ реконфигурируется? Или у ФАПЧа много выходов DPA? Цитата(spectr @ Dec 29 2017, 12:39) FPLL питаются двумя клоками - один питает одну, второй клок питает оставшиеся две FPLL (а каждая FPLL в свою очередь питает по 3 канала каждого трансивера (точнее 6 каналов, т.к. 3 канала по 2 скорости)). Опорный клок для RXCDR - один общий. 5. Запитать 3 FPLL от одного клока не получилось - пришлось задействовать две клоковые ножки. Я запитывал 2шт. FPLL от того же опорного клока, что и 8шт. RXCDR, то есть с одной выделенной ноги REFCLK
  5. Цитата(spectr @ Dec 28 2017, 13:23) Что получается: При количестве каналов от 1 до 6 - всё собирается отлично. При количестве каналов от 7 до 8 получаю ошибку фиттера Я детально не разбирался в циклоне 5, но на арии 5 нельзя от одного fPLL запустить больше 6 или 7 передатчиков. Я задействовал 2 fPLL на 12 трансиверов, по 6 передатчиков на каждый fPLL. Возможно даже, что от единственного REFCLK заработает. Цитата(spectr @ Dec 28 2017, 11:45) Протокол STM-4/16 (622.08/2488.32), соответственно мне нужен режим LTD (LTR и оверсемплинг, получается, что не подходит). Можно включить трансиверы постоянно на 2488 Мбит в режиме LTD. А на 622 переключать в LTR и получать оверсэмплинг в 4 раза. Только ресет-контроллеру нужно не забыть об этом сказать, если он работает по сигналу rx_is_lockedtodata.
  6. Цитата(spectr @ Dec 21 2017, 13:20) Так удалось кому-нибудь в итоге сделать двухскоростные трансиверы? Да так чтобы все задействовались. Я много чего попробовал, но - безрезультатно. А как-то сообщество молчит. То ли никто этого не делал, то все шифруются )) https://electronix.ru/forum/index.php?showt...=140385&hl= https://www.alteraforum.com/forum/showthrea...&highlight= По идее всё задействуются за счёт использования 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. Цитата(bogaev_roman @ Dec 11 2017, 17:46) Использую контроллер реконфигурации один на все линии в логическом канале - в настройке interface bundles задается кол-во линий, остальное не выделено, т.е. без всякой реконфигурации PLL. Я так понял из описания, что 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. Цитата(bogaev_roman @ Dec 8 2017, 18:29) Включен, протокол базовый 10/8. Вы правильно подключили на внешнюю pll клоки? На каждый логический канал (группу) требуется одна pll, внешний клок на специальную клоковую ногу (каждому триплету соответствует собственная нога, если объединение, скажем, по шести линиям, то любую из двух ног. Нельзя из триплета взять две линии под один канал, а оставшуюся под другой (при настройках, которые я выше описал). Что за ошибка? Каким образом Вы объединяете линии, какие настройки трансивера? ЗЫ. Самое главное забыл - тип трансивера - native, в документации было прописано, что только в нем можно заточить внешнюю pll(уже с полгода прошло, так что пишу по памяти, может для некотрых семейств по-другому или версийй). Да, тоже 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. Цитата(DeadMazay @ Dec 7 2017, 17:04) Вот как здесь? https://www.altera.co.jp/content/altera-www...2012014_13.html Да, там 2 ФАПЧа на 2 скорости. Ссылку неправильную дал. Правильная: https://www.altera.com/en_US/pdfs/literature/an/an676.pdf И обшибочка вышла: tx_analogreset(0)=pll_powerdown(0) без инверсии.
  10. Цитата(bogaev_roman @ Dec 7 2017, 17:42) Вы удивитесь, но 13.1. Сейчас на 17.0 перехожу, но буду ли переводить проект на него, не знаю - там многие корки обновлений потребуют. Решилась проблемка! Спасибо всем, особенно Роману. Поставил 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. Цитата(bogaev_roman @ Dec 7 2017, 15:10) Заводил все свои 36 трансиверов на arriaV в следующем режиме - группы по 3/6 в одном логическом канале, native, Bounding mode xN, external pll (number=1, clock network = xN). Частота 1250, все работает как надо. PCS включён? Мне удалось все, группируя по 3 шт через x1, развести. Не не сгруппировать мне тройки так, чтобы 8 шт было на одной скорости и 16 шт на другой. Вроде и подобрал такую комбинацию через x1 и x6, что даташит разрешает развести тактовые, но не лезет. Уже квартус 17.1 поставил даже.
  13. Цитата(spectr @ Dec 7 2017, 16:57) Отличная тема. А вот скажите, удалось ли кому запустить эти с%%ные трансиверы в режиме реконфигурации скорости? Вот как здесь? https://www.altera.co.jp/content/altera-www...2012014_13.html Да, там 2 ФАПЧа на 2 скорости.
  14. Цитата(bogaev_roman @ Dec 7 2017, 15:10) Заводил все свои 36 трансиверов на arriaV в следующем режиме - группы по 3/6 в одном логическом канале, native, Bounding mode xN, external pll (number=1, clock network = xN). Частота 1250, все работает как надо. Версия квартуса какая?
  15. Цитата(R6L-025 @ Mar 4 2017, 16:17) Если кто-то сталкивался с такими ограичениями на размещения трансиверов - напишите, может еще кому-то поможет в схожей ситуации Сейчас сижу и разбираюсь. Мне нужно включить все 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-клока, и всё это не влезает.