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

Откуда взять clk для логического анализатора ILA c Zynq?

Пробую пример работы с ILA

CLK зависимый, пока регистры не инициализируются, генерации нет, выдаёт ошибку.

WARNING: [Labtools 27-3361] The debug hub core was not detected.

Resolution:

1. Make sure the clock connected to the debug hub (dbg_hub) core is a free running clock and is active.

2. Make sure the BSCAN_SWITCH_USER_MASK device property in Vivado Hardware Manager reflects the user scan chain setting in the design and refresh the device.  To determine the user scan chain setting in the design, open the implemented design and use 'get_property C_USER_SCAN_CHAIN [get_debug_cores dbg_hub]'.

For more details on setting the scan chain property, consult the Vivado Debug and Programming User Guide (UG908).

WARNING: [Labtools 27-3413] Dropping logic core with cellname:'Zynq_i/ila_0' at location 'uuid_DF5D93A22A4E59DE8D60AFA4B2F66593' from probes file, since it cannot be found on the programmed device.

 

Откуда взять CLK для PL, если на отладочной плате лишь один генератор, заведён на PS_CLK. Может его как то можно вытащить? Как заставить работать логический анализатор ILA?

ZedBoardCounter.png

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


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

Судя из картинки, клок у Вас должен синтезироваться магическим образом из воздуха.

Если что, в ядре Zynq нет генератора. Есть только PLL/MMCM, которая подстраивает частоту, опираясь на внешний опорный генератор, подключённый к ПЛИСине. Заведите клок, может тогда начнёт генерировать. А вообще запитывать ILA от ядра плохая идея: В ядре есть свои инструменты дебага и ядро может не стартовать/неактивно быть, в то время, когда нужно уже что-то дебагать

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


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

Тут две разных проблемы. Клок для PL должен быть тот, на котором PL взаимодействует с PS. Т.е. все правильно сделано. Но ILA туповат и не работает без free-running clock. Поэтому можно взять, конфигурационный, вытащив из примитива STARTUPE* (выход CFGMCLK). Но он будет не синхронен клокам в PS.

Напрямую PS_CLK в PL вроде не протащить.

 

 

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


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

57 минут назад, Nick_K сказал:

Судя из картинки, клок у Вас должен синтезироваться магическим образом из воздуха.

Если что, в ядре Zynq нет генератора. Есть только PLL/MMCM, которая подстраивает частоту, опираясь на внешний опорный генератор, подключённый к ПЛИСине. Заведите клок, может тогда начнёт генерировать. А вообще запитывать ILA от ядра плохая идея: В ядре есть свои инструменты дебага и ядро может не стартовать/неактивно быть, в то время, когда нужно уже что-то дебагать

Сообщили то, что в первом посте написано, без конкретного ответа. Откуда клок завести, если на плате один генератор для Zynq, на отдельную ножку со внешнего генератора, без проблем, но абсолютно не нужно. 

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


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

9 minutes ago, alexadmin said:

Напрямую PS_CLK в PL вроде не протащить.

а разве M_AXI_GPIO при подключении внешнего порта не пробросит тактовую акси во внешку?

UPD. Ааа, речь про то, что без инициализации цинка ничего не работает. Да, есть такое. ЕМНИП, там как минимум FSBL должен выполнится. 

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


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

Ну да, основной интерес откуда взять clk для PL, если Zynq как бы отдельно живёт. ILA, да, корявенький, он должен запуститься и ничего не показывать по идее. 

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

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


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

Гость vitzap
1 hour ago, Nick_K said:

Судя из картинки, клок у Вас должен синтезироваться магическим образом из воздуха.

Если что, в ядре Zynq нет генератора. Есть только PLL/MMCM, которая подстраивает частоту, опираясь на внешний опорный генератор, подключённый к ПЛИСине.

Опорная частота берется как раз с вывода PS_CLK. Автору скорей всего нужно активировать выход FCLK_CLK0: во-первых "поставить галочку", а во-вторых, выполнить в SDK код, который пишет эту "галочку" в нужный регистр. То есть пока программа не начала выполняться, такта не будет.

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


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

Только что, vitzap сказал:

Опорная частота берется как раз с вывода PS_CLK. Автору скорей всего нужно активировать выход FCLK_CLK0: во-первых "поставить галочку", а во-вторых, выполнить в SDK код, который пишет эту "галочку" в нужный регистр. То есть пока программа не начала выполняться, такта не будет.

Это понятно, галочки поставлены, Hello Word запущен, тут не запускается ILA, потому что ему независимое тактирование нужно. Опять же, хотелось бы тактировать логику в PL независимо от Zynq. 

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


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

Just now, ovn said:

Это понятно, галочки поставлены, Hello Word запущен, тут не запускается ILA, потому что ему независимое тактирование нужно. Опять же, хотелось бы тактировать логику в PL независимо от Zynq. 

про ILA странно, на запущенном проце, с тактированием от него, проблем с запуском не наблюдал. Может все же нет частоты там и проц не прогружен?

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


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

Гость vitzap
Just now, ovn said:

Это понятно, галочки поставлены, Hello Word запущен, тут не запускается ILA, потому что ему независимое тактирование нужно. Опять же, хотелось бы тактировать логику в PL независимо от Zynq. 

Для ILA не нужно независимого тактирования - ему просто нужен такт.

Попробуйте после старта программы сделать Refresh Target в Hardware Manager-е.

С другой стороны, если вам необходим независимый такт, то единственное решение - подать его на выводы PL.

 

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


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

14 минут назад, des00 сказал:

про ILA странно, на запущенном проце, с тактированием от него, проблем с запуском не наблюдал. Может все же нет частоты там и проц не прогружен?

Проц не запущен, генерации нет, пока в SDK не проинициализировались регистры PS, генерации не будет. А как мне тактировать чисто PL без PS в Vivado без SDK?

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

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


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

5 minutes ago, ovn said:

Проц не запущен, генерации нет, пока в SDK не проинициализировались регистры PS, генерации не будет. А как мне тактировать чисто PL без PS чисто в Vivado?

эмм, это как? если проц не запущен тогда что такое hello word и откуда там тактовая? Если проц не запущен, то вам уже ответили, что никак не затактировать PL с этого генератора. 

13 minutes ago, ovn said:

Это понятно, галочки поставлены, Hello Word запущен, тут не запускается ILA, потому что ему независимое тактирование нужно. Опять же, хотелось бы тактировать логику в PL независимо от Zynq. 

 

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


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

Гость vitzap
2 minutes ago, ovn said:

Проц не запущен, генерации нет, пока в SDK не проинициализировались регистры PS, генерации не будет. А как мне тактировать чисто PL без PS чисто в Vivado?

Насколько я понимаю, никак. Да и работа PL части без инициализации проца в "реальной жизни" неосуществима - загрузкой PL занимается проц. Вы же не будете в реальном изделии грузить ПЛИС по JTAG?

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


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

Только что, des00 сказал:

эмм, это как? если проц не запущен тогда что такое hello word и откуда там тактовая? Если проц не запущен, то вам уже ответили, что никак не затактировать PL с этого генератора. 

 

ILA в PL создаётся до Hello Word из SDK. Вот Вивада и ругается. 

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


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

5 minutes ago, ovn said:

ILA в PL создаётся до Hello Word из SDK. Вот Вивада и ругается. 

 может я туплю, но эта ошибка возникает когда вы загрузили битстрим, он стартанул и нет тактовой на ILA. Решается реконектом когда тактовая есть. Как оно вам сбивает исполнение проца, не доходит до меня(

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


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

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

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

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

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

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

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

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

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

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