Jump to content

    

Поставить 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 банках.  Что за ограничение такое?

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

Share this post


Link to post
Share on other sites

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

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

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

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

Share this post


Link to post
Share on other sites
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 МГц.

 

Share this post


Link to post
Share on other sites

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

2 hours ago, alexPec said:

Спасибо!

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

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

 

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

Удачи! Rob.

 

Share this post


Link to post
Share on other sites
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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites
23 минуты назад, alexadmin сказал:

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

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

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this