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

Поставить LVDS25 в high density

Всем доброго дня.

Бьюсь второй день, победить проблему не могу. Есть диф. входы, в vivado 2018.2 подключены к IBUFGDS_DIFF_OUT. Случилась ошибка в плате, хочу перецепить входы навесным монтажом с банка  HP (там все ставиться и компилируется нормально, но из-за ошибки в плате использовать такой вариант размещения невозможно) в банк HD. Чип XCZU3CG-sfvc784. Хочу перетащить входы в банк 24 или 44, там можно подпаяться. Беру ногу клока (p) и пытаюсь поставить на пин AB11  IO_L8P_HDGC_AD4P_44. Вижу надпись IO Port n has mismatched polarity with AB11.

Ладно, пытаюсь поставить эту же ногу на отрицательный пин этой же пары AC11  IO_L8N_HDGC_AD4N_44. Получаю надпись The positive port (P-side) "clk_p" of a differential pair can not be placed on a negative package pin 'AC11' (IOBS). 

Вот как описан входной буфер:

IBUFGDS_DIFF_OUT # (
      .DIFF_TERM        (FALSE)
   )
   iob_clk_in (
      .I                (clk_p),
      .IB               (clk_n),
      .O                (clkin_p_i),
      .OB               (clkin_n_i)
   );

Это 7-1 deserializer от ксайлинса.

С линиями данных такая же беда. В списке пинов в IO планнере вообще нет пинов этих банков. В форумах везде пишут что LVDS25 размещают люди в HD банках.  Что за ограничение такое?

Не пойму, что ему надо. Подскажите пожалуйста.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Приветствую.

Согласно табл. 70 и 71 из файла

https://www.xilinx.com/support/documentation/data_sheets/ds925-zynq-ultrascale-plus.pdf

ISERDES/OSERDES в банках типа HD нет. В них можно расположить только  LVDS RX DDR или  LVDS RX SDR. Поэтому, наверное у Вас так происходит.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

6 часов назад, andrew_su сказал:

Приветствую.

Согласно табл. 70 и 71 из файла

https://www.xilinx.com/support/documentation/data_sheets/ds925-zynq-ultrascale-plus.pdf

ISERDES/OSERDES в банках типа HD нет. В них можно расположить только  LVDS RX DDR или  LVDS RX SDR. Поэтому, наверное у Вас так происходит.

Спасибо!

Это что, засада получается? Только плату переразводить?

А вручную десериализер рабочий реально сделать в банках 24,44 (имею ввиду тайминги)? 2 линии данных, скорость по линиям 240 мбит/с, клок 240/7 МГц.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Приветствую. 

2 hours ago, alexPec said:

Спасибо!

Это что, засада получается? Только плату переразводить?

А вручную десериализер рабочий реально сделать в банках 24,44 (имею ввиду тайминги)? 2 линии данных, скорость по линиям 240 мбит/с, клок 240/7 МГц.

 

На 240 Mbit/s на ultrascale? Можно, даже особо не напрягаясь. 

Удачи! Rob.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

22 часа назад, andrew_su сказал:

Приветствую.

Согласно табл. 70 и 71 из файла

https://www.xilinx.com/support/documentation/data_sheets/ds925-zynq-ultrascale-plus.pdf

ISERDES/OSERDES в банках типа HD нет. В них можно расположить только  LVDS RX DDR или  LVDS RX SDR. Поэтому, наверное у Вас так происходит.

Попробовал свой десериализер написать, в RTL все как надо работает. Пытаюсь скомпилировать все это в реальном чипе - получаю то же самое:

 

Phase 1.2 IO Placement/ Clock Placement/ Build Placer Device
INFO: [Timing 38-35] Done setting XDC timing constraints.
ERROR: [Place 30-743] IO/clock placer failed to collectively place all IOs and clock instances. This is likely due to design requirements or user constraints specified in the constraint file such as IO standards, bank/voltage/DCI/VREF specifications, together with the part and package being used for the implementation. Please check the above for any possible conflicts.
ERROR: [Place 30-681] Sub-optimal placement for a global clock-capable IO pin and MMCM pair. As a workaround for this error, please insert a BUFG in between the IO and the MMCM.
    my_deser/clk_in/IBUFCTRL_INST (IBUFCTRL.O) is provisionally placed by clockplacer on IOB_X1Y28
    my_deser/rx_mmcm_adv_inst (MMCME4_ADV.CLKIN1) is provisionally placed by clockplacer on MMCM_X0Y2

 

На входе на клок поставлен BUFGDS (т.к. вход дифференциальный, хочу LVDS25).

При этом после синтеза в IO planner по-прежнему нет пинов из банков 24, 44.

Сейчас то ему что надо, ведь ISERDES не использую, все на логике?

 

Вот десериализер:

my_deser.v

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

У HD-банков нет прямого подключения к MMCM. Вам предлагают явно подать сигнал на BUFG, а отттуда он уже уедет на MMCM. Есть подозрение, что ibufgds этого не делает, в темплейтах его вообще уже не осталось, равно как и в библиотеке примитивов под ultrascale. Попробуйте поставить ibufds+bufg.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

23 минуты назад, alexadmin сказал:

У HD-банков нет прямого подключения к MMCM. Вам предлагают явно подать сигнал на BUFG, а отттуда он уже уедет на MMCM. Есть подозрение, что ibufgds этого не делает, в темплейтах его вообще уже не осталось, равно как и в библиотеке примитивов под ultrascale. Попробуйте поставить ibufds+bufg.

Спасибо, вроде получилось. Пины появились, все скомпилировалось, буду пробовать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...