alexPec 2 19 мая, 2019 Опубликовано 19 мая, 2019 · Жалоба Всем доброго дня. Бьюсь второй день, победить проблему не могу. Есть диф. входы, в 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 банках. Что за ограничение такое? Не пойму, что ему надо. Подскажите пожалуйста. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
andrew_su 1 19 мая, 2019 Опубликовано 19 мая, 2019 · Жалоба Приветствую. Согласно табл. 70 и 71 из файла https://www.xilinx.com/support/documentation/data_sheets/ds925-zynq-ultrascale-plus.pdf ISERDES/OSERDES в банках типа HD нет. В них можно расположить только LVDS RX DDR или LVDS RX SDR. Поэтому, наверное у Вас так происходит. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
alexPec 2 19 мая, 2019 Опубликовано 19 мая, 2019 · Жалоба 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 МГц. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
RobFPGA 27 19 мая, 2019 Опубликовано 19 мая, 2019 · Жалоба Приветствую. 2 hours ago, alexPec said: Спасибо! Это что, засада получается? Только плату переразводить? А вручную десериализер рабочий реально сделать в банках 24,44 (имею ввиду тайминги)? 2 линии данных, скорость по линиям 240 мбит/с, клок 240/7 МГц. На 240 Mbit/s на ultrascale? Можно, даже особо не напрягаясь. Удачи! Rob. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
alexPec 2 20 мая, 2019 Опубликовано 20 мая, 2019 · Жалоба 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 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
alexadmin 0 20 мая, 2019 Опубликовано 20 мая, 2019 · Жалоба У HD-банков нет прямого подключения к MMCM. Вам предлагают явно подать сигнал на BUFG, а отттуда он уже уедет на MMCM. Есть подозрение, что ibufgds этого не делает, в темплейтах его вообще уже не осталось, равно как и в библиотеке примитивов под ultrascale. Попробуйте поставить ibufds+bufg. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
alexPec 2 20 мая, 2019 Опубликовано 20 мая, 2019 · Жалоба 23 минуты назад, alexadmin сказал: У HD-банков нет прямого подключения к MMCM. Вам предлагают явно подать сигнал на BUFG, а отттуда он уже уедет на MMCM. Есть подозрение, что ibufgds этого не делает, в темплейтах его вообще уже не осталось, равно как и в библиотеке примитивов под ultrascale. Попробуйте поставить ibufds+bufg. Спасибо, вроде получилось. Пины появились, все скомпилировалось, буду пробовать. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться