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

XILINX 2018 ILA ядро не видит тактовый клок, при его наличии.

ILA подключаются через некий dbg_hub, посмотрите после синтеза какая частота на него заведена. Я на него завёл стабильну частоту от генератора в 300Mhz и проблема исчезла.

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


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

9 minutes ago, likeasm said:

ILA подключаются через некий dbg_hub, посмотрите после синтеза какая частота на него заведена. Я на него завёл стабильну частоту от генератора в 300Mhz и проблема исчезла.

Vivado в констрейнах автоматом добавляет всегда эти строчки: 

set_property C_CLK_INPUT_FREQ_HZ 300000000 [get_debug_cores dbg_hub]
set_property C_ENABLE_CLK_DIVIDER false [get_debug_cores dbg_hub]
set_property C_USER_SCAN_CHAIN 1 [get_debug_cores dbg_hub]
connect_debug_port dbg_hub/clk [get_nets clk]

Я их не трогал, но особо и не разбирался что они значат и для чего..

image.png.72bc17e488a90650f0b8fc91750b706e.png

Вот мои клоки.  dbg_hub у меня ставится 30 МГц автоматом. Как им пользоваться подскажете? Для чего он?

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


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

1 minute ago, likeasm said:

Спасибо.

42 minutes ago, likeasm said:

ILA подключаются через некий dbg_hub, посмотрите после синтеза какая частота на него заведена. Я на него завёл стабильну частоту от генератора в 300Mhz и проблема исчезла.

Правильно ли я понял, если в команде:

connect_debug_port dbg_hub/clk [get_nets <clock_net_name>]

Я поставлю вместо clock_net_name 300МГц из стабильных клоков на ПЛИС, проблема должна уйти?

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


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

24 minutes ago, Kronac said:

Спасибо.

Правильно ли я понял, если в команде:

connect_debug_port dbg_hub/clk [get_nets <clock_net_name>]

Я поставлю вместо clock_net_name 300МГц из стабильных клоков на ПЛИС, проблема должна уйти?

set dbg_core_name u_ila_0
set dbg_core_clk "clk_mgmt/inst/clk_out1"

connect_debug_port ${dbg_core_name}/clk [get_nets [list ${dbg_core_clk}]]

В одном отладчике (dbg_hub) может быть несколько ядер (dbg_core). У каждого ядра своя тактовая частота, которую нужно подключить к портут ${dbg_core_name}/clk

 

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


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

У меня ушла, после добавления в проект ddr4 mig с частотой в 300Mhz. dbg_hub сам зацепил эту частоту на себя, и проблема ушла. Попробуйте прописать хуже не будет.

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


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

3 minutes ago, likeasm said:

У меня ушла, после добавления в проект ddr4 mig с частотой в 300Mhz. dbg_hub сам зацепил эту частоту на себя, и проблема ушла. Попробуйте прописать хуже не будет.

Что то вот пытался сейчас сделать так.. 

set_property C_CLK_INPUT_FREQ_HZ 3000000000 [get_debug_cores dbg_hub]

set_property C_ENABLE_CLK_DIVIDER false [get_debug_cores dbg_hub]
set_property C_USER_SCAN_CHAIN 2 [get_debug_cores dbg_hub]
connect_debug_port dbg_hub/clk [get_clocks -of_objects [get_pins g4_U_0/ddr4/inst/u_ddr4_infrastructure/gen_mmcme3.u_mmcme_adv_inst/CLKOUT0]]

 

Не вышло что то.. ругается =)

image.thumb.png.6047c7f4e77cae693155585a7081769f.png

Изменено пользователем Kronac

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


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

10 minutes ago, likeasm said:

3GHz похоже не помещается в разрядную сетку integer, убавьте до 300MHz.

упс.. точно, не посчитал нули... Там изначально стояло "300000000", я недолго думая, что это 30МГц, добавил ноль))

 

Мне просто после синтеза показывало, что у меня dbg_hub/clk 30 МГц..

Изменено пользователем Kronac

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


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

В UG908, table 6, определены все требования к тактовым сигналам для отладчика. dbg_hub_clock должен быть стабилен во время обнаружения отладчика, это понятно. А вот по поводу dbg_core_clock остаются некоторые вопросы - этот тактковый сигнал должен быть активен только во время измерений. Но вот под измерениями понимают все действия, которые используют get и set. А при загрузке битстима в GUI, при наличии отладчика, происходит автоматический опрос ядер отладчика и вывод их портов в окна wave.

dbg.png

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


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

57 minutes ago, attaboy said:

В UG908, table 6, определены все требования к тактовым сигналам для отладчика. dbg_hub_clock должен быть стабилен во время обнаружения отладчика, это понятно. А вот по поводу dbg_core_clock остаются некоторые вопросы - этот тактковый сигнал должен быть активен только во время измерений. Но вот под измерениями понимают все действия, которые используют get и set. А при загрузке битстима в GUI, при наличии отладчика, происходит автоматический опрос ядер отладчика и вывод их портов в окна wave.

dbg.png

Это понятно. Но в таком случае, проблема должна быть решена перезапуском vivado или рефрешем соединения? Либо ядро просто уходит в блок и больше не опрашивается?

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


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

8 minutes ago, Kronac said:

Это понятно. Но в таком случае, проблема должна быть решена перезапуском vivado или рефрешем соединения? Либо ядро просто уходит в блок и больше не опрашивается?

У меня соединено так:

Debug.thumb.png.cf68a751864baeee8c56c7dd4c4455f4.png

А как у вас соеденены 2 ila плохо работающие?

 

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


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

Я вам советую сделать частотомер внутри ПЛИС и подключить его к клоковым ресурсам фабрики. Просто в момент подачи сброса на внешнюю PLL, клок от неё гулял +/- 100MHz на таком частотомере. Что там реально на выходе PLL, я не анализировал. Если прикинуть, что такая же муть летит к вам в ПЛИС на dbg_hub, то ничего хорошего не будет.

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


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

On 3/19/2021 at 12:22 PM, _4afc_ said:

результат этих волшебных слов - некое закрытое ядро в проекте или текст в xdc?

может у вас ядро для другого камня или часть цепей в него с другого клока идёт?

Да, текст в xdc.

On 3/19/2021 at 3:06 PM, Kronac said:

упс.. точно, не посчитал нули... Там изначально стояло "300000000", я недолго думая, что это 30МГц, добавил ноль))

 

Мне просто после синтеза показывало, что у меня dbg_hub/clk 30 МГц..

Помогло?

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


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

On 3/19/2021 at 7:18 AM, gosha said:

У меня аналогичная ситуация: Выдает ошибку:

  1. когда частота ILA < 15 МГц
  2. Когда PLL медленно заводится

Второй случай обошел:


BUFGMUX (I0.(clk_ext),  I1.(clk_from_pll),  S(pll_locked), .O(ila_clk)),

который коммутируется pll_locked.

 

Ну в общем удалось мне побороть проблему. Но не одним способом а используя сразу несколько.

1. Поставил BUFGMUX запитав как один из источников клока частоту, которая есть на ПЛИС в момент старта.

2. После этого сильно посыпались тайминги, забить на межклоковые переходы в xdc не удалось, потому что у меня стали биться сами данные JESD только на том канале, на котором я смотрел через ИЛА.. Долго с этим разбирался.

3. Использовал настройки Debug Hab, как было описано выше. 

Только используя все эти советы и некоторые танцы с бубном, я смог привести к тому виду, когда оба ILA корректно работают, не пропадают и при этом не ломают данные на которые я хочу смотреть =)

Всем спасибо за советы!

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


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

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

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

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

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

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

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

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

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

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