attaboy 0 21 декабря, 2021 Опубликовано 21 декабря, 2021 · Жалоба Есть отладочная плата ZC706 c ZYNQ-7000 XC7Z045 на борту и Vivado 2020.1. Нужно на этой плате проверить ref_design zc706_bist. Проблема в том, что ref_design сделан для Vivado 2015, где был SDK, и соответственно все скрипты из папки ready_for_download не работают. Как я понимаю в последних версиях Vivado на смену SDK пришел Vitis нужно как-то использовать его. Пока я в процессе изучения, кто-нибудь может объяснить, как перевести ref_design zc706_bist в вид, совместимый с Vivado 2020.1 (ну наверное любой версии с Vitis)? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
gosha-z 3 21 декабря, 2021 Опубликовано 21 декабря, 2021 · Жалоба А что такого там делают эти скрипты? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
nice_vladi 3 22 декабря, 2021 Опубликовано 22 декабря, 2021 · Жалоба 12 hours ago, attaboy said: Пока я в процессе изучения, кто-нибудь может объяснить, как перевести ref_design zc706_bist в вид, совместимый с Vivado 2020.1 (ну наверное любой версии с Vitis)? Почти все скрипты от Xilinx очень зависят от версии. Так что, единственный путь - ставить 2015.1 и разворачивать проект в ней. Потом, уже развернутый проект открывать в 2020+. И дальше Вивада сама подскажет, что делать. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
attaboy 0 22 декабря, 2021 Опубликовано 22 декабря, 2021 · Жалоба 2 hours ago, nice_vladi said: Почти все скрипты от Xilinx очень зависят от версии. Так что, единственный путь - ставить 2015.1 и разворачивать проект в ней. Потом, уже развернутый проект открывать в 2020+. И дальше Вивада сама подскажет, что делать. Да проект то и так открывается в 2020. И пересобирается до битстрима, после обновления ядер. Но столкнулся с проблемой, что нужен Vitis. А мне он до этого был не нужен, поэтому не устанавливал. А теперь, раз уж делать обновление, решил поставить последнюю версию - 2021.2. А тут ещё одно проблема - чтобы установить Vivado+Vitis 2021.2, нужно почти 200Гб дискового пространства! У меня в текущей конфигурации было несколько меньше. Хотелось по быстрому, без вникания в детали Цинков, проверить работоспособность платы, но получается как обычно. 10 hours ago, gosha-z said: А что такого там делают эти скрипты? Прошивают плату. Вот например вот этот скрипт: open_hw_manager connect_hw_server -url localhost:3121 current_hw_target [get_hw_targets */xilinx_tcf/Digilent/*] set_property PARAM.FREQUENCY 15000000 [get_hw_targets */xilinx_tcf/Digilent/*] open_hw_target current_hw_device [lindex [get_hw_devices] 1] refresh_hw_device [lindex [get_hw_devices] 1] create_hw_cfgmem -hw_device [lindex [get_hw_devices] 1] -mem_dev [lindex [get_cfgmem_parts {s25fl128s-1.8v-qspi-x8-dual_parallel}] 0] set_property PROGRAM.BLANK_CHECK 0 [ get_property PROGRAM.HW_CFGMEM [lindex [get_hw_devices] 1 ]] set_property PROGRAM.ERASE 1 [ get_property PROGRAM.HW_CFGMEM [lindex [get_hw_devices] 1 ]] set_property PROGRAM.CFG_PROGRAM 1 [ get_property PROGRAM.HW_CFGMEM [lindex [get_hw_devices] 1 ]] set_property PROGRAM.VERIFY 1 [ get_property PROGRAM.HW_CFGMEM [lindex [get_hw_devices] 1 ]] refresh_hw_device [lindex [get_hw_devices] 1] set_property PROGRAM.ADDRESS_RANGE {use_file} [ get_property PROGRAM.HW_CFGMEM [lindex [get_hw_devices] 1 ]] set_property PROGRAM.FILES {bist_app.mcs} [ get_property PROGRAM.HW_CFGMEM [lindex [get_hw_devices] 1]] set_property PROGRAM.BLANK_CHECK 0 [ get_property PROGRAM.HW_CFGMEM [lindex [get_hw_devices] 1 ]] set_property PROGRAM.ERASE 1 [ get_property PROGRAM.HW_CFGMEM [lindex [get_hw_devices] 1 ]] set_property PROGRAM.CFG_PROGRAM 1 [ get_property PROGRAM.HW_CFGMEM [lindex [get_hw_devices] 1 ]] set_property PROGRAM.VERIFY 1 [ get_property PROGRAM.HW_CFGMEM [lindex [get_hw_devices] 1 ]] program_hw_cfgmem -hw_cfgmem [get_property PROGRAM.HW_CFGMEM [lindex [get_hw_devices] 1 ]] Жалуется, что не найден fsbl. Хотя в директории есть файл zynq_fsbl.elf Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
attaboy 0 23 декабря, 2021 Опубликовано 23 декабря, 2021 · Жалоба Выяснилась проблема с платой - про прошивке PL части через JTAG не поднимается prog_done, соответственно выдается ошибка. Но при этом PS часть не сконфигурирована. Вопрос - а вообще можно прошивать через JTAG PL часть при несконфигурированной PS? Или нужно сначала сконфигурировать PS, а потом PL? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
des00 25 23 декабря, 2021 Опубликовано 23 декабря, 2021 · Жалоба 15 minutes ago, attaboy said: Выяснилась проблема с платой - про прошивке PL части через JTAG не поднимается prog_done, соответственно выдается ошибка. Но при этом PS часть не сконфигурирована. Вопрос - а вообще можно прошивать через JTAG PL часть при несконфигурированной PS? Или нужно сначала сконфигурировать PS, а потом PL? ЕМНП нет, там все на проц завязано. Был опыт с 45ым цинком. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
attaboy 0 23 декабря, 2021 Опубликовано 23 декабря, 2021 · Жалоба 1 minute ago, des00 said: ЕМНП нет, там все на проц завязано. Был опыт с 45ым цинком. На ZC706 как раз и стоит 45-й цинк. А зачем тогда на плате JTAG? Для отладки? Делал пример из UG940 - vivado-tutorial-embedded-design. Там в первом примере выполняется ряд шагов в Vivado, затем дизайн экспортируется в Vitis. Потом в Vitis ещё ряд настроек, и после этого бинарник прошивается через JTAG. Это происходит до конфигурирования процессора. И вот у меня до прошивки все нормально получается, а на этапе прошивки - ошибка. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
des00 25 23 декабря, 2021 Опубликовано 23 декабря, 2021 · Жалоба 52 minutes ago, attaboy said: На ZC706 как раз и стоит 45-й цинк. А зачем тогда на плате JTAG? Для отладки? Делал пример из UG940 - vivado-tutorial-embedded-design. Там в первом примере выполняется ряд шагов в Vivado, затем дизайн экспортируется в Vitis. Потом в Vitis ещё ряд настроек, и после этого бинарник прошивается через JTAG. Это происходит до конфигурирования процессора. И вот у меня до прошивки все нормально получается, а на этапе прошивки - ошибка. Для отладки. У меня была своя система на ПЛИС, проц не влиял на работу, только статистику читал. По привычке залил-посмотрел, не получалось отлаживаться. Не стартовала прошивка. Пришлось через проц все делать, т.е. проект с отладчиком заливался процем. Я еще удивлялся почему так сделано, но т.к. в проце и линуксе я как свинья в апельсинах, не углублялся. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
fguy 5 23 декабря, 2021 Опубликовано 23 декабря, 2021 (изменено) · Жалоба 2 часа назад, attaboy сказал: Вопрос - а вообще можно прошивать через JTAG PL часть при несконфигурированной PS? Или нужно сначала сконфигурировать PS, а потом PL? При отладке 7х цинков с сдк сначала загружается плис (можно отдельной командой из меню или включить галку в конфиге отладки), затем по команде начала отладки запускается скрипт конфигурирования проца (аналог работы фсбл-а) и далее уже запускается ваш код. Инициализация проца перед загрузкой плис не нужна, но она обязательно нужна (после или до по вкусу) если в плис используются такты с проца - без запуска скрипта инициализации или фсбл их не будет. Можно так же загрузить код в проц во внутренней памяти без запуска скрипта инициализации, но тогда вся периферия будет отключена и фактически можно будет только пошагово пройтись по строчкам кода. При загрузке с флэшки сначала загружается фсбл в проц и инициализирует периферию проца, затем фсбл грузит плис и напоследок загружает и запускает штатный процессорный код. Изменено 23 декабря, 2021 пользователем fguy Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
attaboy 0 24 декабря, 2021 Опубликовано 24 декабря, 2021 · Жалоба Собрал свой проект. Содержит процессорное IP-ядро и логику включения светодиода на AXI шине процессора. В Vivado вроде проект собирается нормально. Затем экспортирую hardware в Vitis через создание файла *.xsa. Создаю там новый Application Project. На этапе конфигурирования Application Project нужно указать процессор. Для XC7Z045 может быть несколько вариантов - нулевое ядро, первое ядро, или SMP. Но c моим xsa почему-то процессорные ядра не показываются. Похоже, что их там нет, по какой-то причине Vivado соптимизировало процессорное ядро (я так полагаю). Но просматривая Utilization reports в Vivado я не нашел там никакой информации о процессорном ядре. Можно ли где-нибудь в Vivado посмотреть процессорные ресурсы, которые были использованы при сборке прошивки? Или там отчеты только о PL части? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
esokol 0 25 декабря, 2021 Опубликовано 25 декабря, 2021 · Жалоба PS и PL части могут работать независимо друг от друга, битстрим и все отчеты "вивады" относится только к PL части. В "виваде" конфигурируется IP-ядро PS для генерации *.xsa файла, синтез и имплементация не влияют на этот файл, а *.xsa файл это zip архиф со скриптами и "си" кодом настроек перефирии процессора для загрузчика. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Alex77 4 25 декабря, 2021 Опубликовано 25 декабря, 2021 · Жалоба vivado никаким бесом не регулирует сколько процессоров. а вот vitis - он определяет на каком ядре проца что будет работать. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
fguy 5 27 декабря, 2021 Опубликовано 27 декабря, 2021 · Жалоба 24.12.2021 в 21:04, attaboy сказал: Создаю там новый Application Project. Прежде чем это делать вам нужно создать Platform Project на базе файла xsa - это аналог bsp в старом сдк. Если только осваиваете витис, то лучше для начала пройтись по туториалам с офсайта для освоения продукта. Вивады 2020 это промежуточные версии новой платформы витис и не лучшего качества - если у вас нет к ним никакой принципиальной привязки по купленным ядрам, то лучше перейти на последнюю 2021.2. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
attaboy 0 28 декабря, 2021 Опубликовано 28 декабря, 2021 · Жалоба 23 hours ago, fguy said: Прежде чем это делать вам нужно создать Platform Project на базе файла xsa - это аналог bsp в старом сдк. Если только осваиваете витис, то лучше для начала пройтись по туториалам с офсайта для освоения продукта. Вивады 2020 это промежуточные версии новой платформы витис и не лучшего качества - если у вас нет к ним никакой принципиальной привязки по купленным ядрам, то лучше перейти на последнюю 2021.2. Да, я так и сделал - перешел на последнюю версию, 2021.2. В принципе немного разобрался, собрал небольшой проект с работающей PLи PS частями. Обнаружил следующее: Vivado генерирует корректный xsa только из блокдизайна, а если просто вставить IP ядро процессорной части в текстовый топовый файл, то xsa генерируется с ошибкой. Можно ли обойтись без блокдизайна для генерации xsa? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
fguy 5 28 декабря, 2021 Опубликовано 28 декабря, 2021 · Жалоба 35 минут назад, attaboy сказал: Можно ли обойтись без блокдизайна для генерации xsa? Видимо это особенность вивады. Сталкивался с похожим эффектом на обычной плис без встроенных процов - если ядро ддр4 (имеет в составе микроблэйз) вставлять в топ вне бд, а в бд будет микроблэйз, то в сдк будет отображаться 2 микроблэйза. Я пользуюсь бд всегда, поэтому с такой проблемой практически не сталкиваюсь. Поищите на офсайте на форуме или в AR - может кто что нашел. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться