карамболь 0 6 апреля, 2023 Опубликовано 6 апреля, 2023 · Жалоба Здравствуйте. Такая проблема. Заказали 4 платы у одной не слишком порядочной конторы. оплатили стоимость комплектующих, изготовление плат и монтаж. Из 4-х плат работает только одна. В остальных 3-х проблема одинаковая - заливаю HelloWorld из шаблона SDK Vitis, прошивка в ПЛИС грузится успешно (появляется сигнал Done), заливается FSBL и все, тишина. Питания все и клоки проверил, сравнил с референсной рабочей платой - все хорошо. В чем может быть проблема ? Может сталкивались с таким поведением. Привожу лог из SDK Info: tcfchan#4 closed xsct% initializing 0% 0MB 0.0MB/s ??:?? ETA 5% 1MB 2.2MB/s ??:?? ETA 10% 1MB 1.9MB/s ??:?? ETA 15% 2MB 1.8MB/s ??:?? ETA 20% 3MB 1.8MB/s ??:?? ETA 24% 4MB 1.7MB/s ??:?? ETA 29% 5MB 1.7MB/s 00:07 ETA 35% 6MB 1.7MB/s 00:06 ETA 39% 7MB 1.7MB/s 00:06 ETA 44% 8MB 1.7MB/s 00:06 ETA 50% 9MB 1.7MB/s 00:05 ETA 55% 10MB 1.7MB/s 00:04 ETA 60% 11MB 1.7MB/s 00:04 ETA 66% 12MB 1.7MB/s 00:03 ETA 71% 13MB 1.7MB/s 00:03 ETA 75% 13MB 1.7MB/s 00:02 ETA 81% 14MB 1.7MB/s 00:02 ETA 86% 15MB 1.7MB/s 00:01 ETA 90% 16MB 1.7MB/s 00:01 ETA 95% 17MB 1.7MB/s 00:00 ETA 100% 18MB 1.7MB/s 00:10 Downloading Program -- D:/Vivado_Projects/MyProject_2/MyProject/MyProject.sdk/vcu/export/vcu/sw/vcu/boot/fsbl.elf section, .text: 0xfffc0000 - 0xfffd071f section, .init: 0xfffd0740 - 0xfffd0773 section, .fini: 0xfffd0780 - 0xfffd07b3 section, .note.gnu.build-id: 0xfffd07b4 - 0xfffd07d7 section, .rodata: 0xfffd0800 - 0xfffd1fb7 section, .sys_cfg_data: 0xfffd1fc0 - 0xfffd2837 section, .mmu_tbl0: 0xfffd3000 - 0xfffd300f section, .mmu_tbl1: 0xfffd4000 - 0xfffd5fff section, .mmu_tbl2: 0xfffd6000 - 0xfffd9fff section, .data: 0xfffda000 - 0xfffdb3d7 section, .sbss: 0xfffdb3d8 - 0xfffdb3ff section, .bss: 0xfffdb400 - 0xfffdd73f section, .heap: 0xfffdd740 - 0xfffddb3f section, .stack: 0xfffddb40 - 0xfffdfb3f section, .dup_data: 0xfffdfb40 - 0xfffe0f17 section, .handoff_params: 0xfffe9e00 - 0xfffe9e87 section, .bitstream_buffer: 0xffff0040 - 0xfffffc3f 0% 0MB 0.0MB/s ??:?? ETA 88% 0MB 0.2MB/s ??:?? ETA 100% 0MB 0.2MB/s 00:00 Setting PC to Program Start Address 0xfffc0000 Successfully downloaded D:/Vivado_Projects/MyProject_2/MyProject/MyProject.sdk/vcu/export/vcu/sw/vcu/boot/fsbl.elf Info: Cortex-A53 #0 (target 9) Stopped at 0xffff0000 (Reset Catch) _vector_table() at asm_vectors.S: 206 206: b _boot xsct% Info: Breakpoint 8 status: target 9: {Address: 0xfffcd6d0 Type: Hardware} xsct% Info: Cortex-A53 #0 (target 9) Running 11:08:19 INFO : Disconnected from the channel tcfchan#4. 11:08:21 INFO : Connected to target on host '127.0.0.1' and port '3121'. 11:08:21 INFO : Processor 'psu_cortexa53_0' will be used for running fsbl 'D:/Vivado_Projects/MyProject_2/MyProject/MyProject.sdk/vcu/export/vcu/sw/vcu/boot/fsbl.elf' 11:08:21 INFO : Jtag cable 'JTAG-ONB4 251633007191A' is selected. 11:08:21 INFO : 'jtag frequency' command is executed. 11:08:21 INFO : Sourcing of 'C:/Xilinx/Vitis/2019.2/scripts/vitis/util/zynqmp_utils.tcl' is done. 11:08:21 INFO : Context for 'APU' is selected. 11:08:22 INFO : System reset is completed. 11:08:25 INFO : 'after 3000' command is executed. 11:08:25 INFO : 'targets -set -filter {jtag_cable_name =~ "JTAG-ONB4 251633007191A" && level==0} -index 0' command is executed. 11:08:36 INFO : FPGA configured successfully with bitstream "D:/Vivado_Projects/MyProject_2/MyProject/MyProject.sdk/hello/_ide/bitstream/MyBlockDesign_wrapper.bit" 11:08:36 INFO : Context for 'APU' is selected. 11:08:47 INFO : Hardware design information is loaded from 'D:/Vivado_Projects/MyProject_2/MyProject/MyProject.sdk/vcu/export/vcu/hw/MyBlockDesign_wrapper.xsa'. 11:08:47 INFO : 'configparams force-mem-access 1' command is executed. 11:08:47 INFO : Context for 'APU' is selected. 11:08:47 INFO : Boot mode is read from the target. 11:08:47 INFO : Context for processor 'psu_cortexa53_0' is selected. 11:08:47 INFO : Processor reset is completed for 'psu_cortexa53_0'. 11:08:48 INFO : The application 'D:/Vivado_Projects/MyProject_2/MyProject/MyProject.sdk/vcu/export/vcu/sw/vcu/boot/fsbl.elf' is downloaded to processor 'psu_cortexa53_0'. 11:08:48 INFO : 'set bp_8_48_fsbl_bp [bpadd -addr &XFsbl_Exit]' command is executed. 11:09:48 WARN : Exit breakpoint of FSBL (XFsbl_Exit) is not hit within allocated wait time of '60' seconds. Note: To wait for a fixed amount of time specify the FSBL function as empty in launch configuration. Use 'IDE_FSBL_BP_HIT_WAIT_TIME' environment variable in launch configuration to modify the wait time (seconds). Reason: timeout: target has not halted 11:09:48 INFO : 'bpremove $bp_8_48_fsbl_bp' command is executed. 11:09:53 INFO : ----------------XSDB Script---------------- connect -url tcp:127.0.0.1:3121 source C:/Xilinx/Vitis/2019.2/scripts/vitis/util/zynqmp_utils.tcl targets -set -nocase -filter {name =~"APU*"} rst -system after 3000 targets -set -filter {jtag_cable_name =~ "JTAG-ONB4 251633007191A" && level==0} -index 0 fpga -file D:/Vivado_Projects/MyProject_2/MyProject/MyProject.sdk/hello/_ide/bitstream/MyBlockDesign_wrapper.bit targets -set -nocase -filter {name =~"APU*"} loadhw -hw D:/Vivado_Projects/MyProject_2/MyProject/MyProject.sdk/vcu/export/vcu/hw/MyBlockDesign_wrapper.xsa -mem-ranges [list {0x80000000 0xbfffffff} {0x400000000 0x5ffffffff} {0x1000000000 0x7fffffffff}] configparams force-mem-access 1 targets -set -nocase -filter {name =~"APU*"} set mode [expr [mrd -value 0xFF5E0200] & 0xf] targets -set -nocase -filter {name =~ "*A53*#0"} rst -processor dow D:/Vivado_Projects/MyProject_2/MyProject/MyProject.sdk/vcu/export/vcu/sw/vcu/boot/fsbl.elf set bp_8_48_fsbl_bp [bpadd -addr &XFsbl_Exit] con -block -timeout 60 bpremove $bp_8_48_fsbl_bp ----------------End of Script---------------- Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
карамболь 0 6 апреля, 2023 Опубликовано 6 апреля, 2023 · Жалоба Оказалось, что зависает в функции psu_ddr_phybringup_data. Если закомментировать инициализацию DDR, то дальше все работает Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
alexPec 3 7 апреля, 2023 Опубликовано 7 апреля, 2023 · Жалоба Если одна все-таки работает, то я бы первым делом на рентгене посмотрел, все ли пропаяно в части DDR-FPGA. Ну и плата то по уму сделана? Все эти волновые сопротивления дорожек на внутренних, внешних слоях, опорные плейны, выравнивание - с этим все ок? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
карамболь 0 7 апреля, 2023 Опубликовано 7 апреля, 2023 · Жалоба 1 hour ago, alexPec said: Если одна все-таки работает, то я бы первым делом на рентгене посмотрел, все ли пропаяно в части DDR-FPGA. Ну и плата то по уму сделана? Все эти волновые сопротивления дорожек на внутренних, внешних слоях, опорные плейны, выравнивание - с этим все ок? Плата сделана хорошо. Предыдущая партия вся рабочая. В этой версии заменили чип питания. Но одна плата с ним прекрасно работает. Дальнейшие поиски показали, что FSBL виснет на проверке содержимого регистра PGSR0 (DDR_PHY). В регистре 0х80С000FF. Т.е установлены биты ошибок QSGERR и WLAERR. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
gosha-z 2 7 апреля, 2023 Опубликовано 7 апреля, 2023 · Жалоба Какие чипы памяти, ширина шины и как в PS прописана. Насчет обратной совместимости надо аккуратнее быть. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
карамболь 0 8 апреля, 2023 Опубликовано 8 апреля, 2023 (изменено) · Жалоба 22 hours ago, gosha-z said: Какие чипы памяти, ширина шины и как в PS прописана. Насчет обратной совместимости надо аккуратнее быть. я не занимался трассировкой, но общался с конструктором. Была проблема с препрегами, в итоге, заменили на другой и переразвели плату. соответственно некоторые дорожки сделали шире. Конструктор грамотный, знает, что делает. Смущает, что одна плата из 4-х завелась без лишних танцев Изменено 8 апреля, 2023 пользователем карамболь Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
HardEgor 68 8 апреля, 2023 Опубликовано 8 апреля, 2023 · Жалоба В 06.04.2023 в 15:10, карамболь сказал: Заказали 4 платы у одной не слишком порядочной конторы. оплатили стоимость комплектующих, изготовление плат и монтаж. Сравнить надписи и внешний вид ПЛИС и ddr, они все должны быть из одной серии. Если всё ок, то сделать тестовую прошивку и выявить не рабочий модуль или пин. По хорошему надо осциллографом пройти по всем доступным дорожкам(между ПЛИС и ddr) на плате и сравнит рабочий и нерабочий. Как вариант - выпаять ddr на рабочей и не рабочей платах, потыкать осциллографом и сравнить Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
карамболь 0 8 апреля, 2023 Опубликовано 8 апреля, 2023 · Жалоба 3 minutes ago, HardEgor said: Сравнить надписи и внешний вид ПЛИС и ddr, они все должны быть из одной серии. Если всё ок, то сделать тестовую прошивку и выявить не рабочий модуль или пин. По хорошему надо осциллографом пройти по всем доступным дорожкам(между ПЛИС и ddr) на плате и сравнит рабочий и нерабочий. Как вариант - выпаять ddr на рабочей и не рабочей платах, потыкать осциллографом и сравнить а можно как-нибудь программно локализовать проблему ? Я пробовал читать регистры DDR_PHY_DXхGSR0, но у них у всех 6-й бит = 0 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
gosha-z 2 8 апреля, 2023 Опубликовано 8 апреля, 2023 · Жалоба 59 minutes ago, карамболь said: я не занимался трассировкой, но общался с конструктором Я не о трассировке платы, а об используемых чипах памяти и настройках DDR контроллера для них. Не все Speed Bins поддерживаются более быстрыми чипами. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
карамболь 0 8 апреля, 2023 Опубликовано 8 апреля, 2023 (изменено) · Жалоба 3 minutes ago, gosha-z said: Я не о трассировке платы, а об используемых чипах памяти и настройках DDR контроллера для них. Не все Speed Bins поддерживаются более быстрыми чипами. дело в том, что чипы не менялись. Этих плат уже много и все запустились без проблем. Конфигурация контроллера памяти тоже не менялась. И в последней партии одна плата из 4-х работает Изменено 8 апреля, 2023 пользователем карамболь Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
карамболь 0 8 апреля, 2023 Опубликовано 8 апреля, 2023 · Жалоба вот, что на форуме откопал Quote We have noticed that the On FPGA PS Side DQ9 ball was missing. Steps followed: Bypassed DDR Calibration steps of Data and VREF Training in psinit.c file By bypassing training steps, Directly write and read back of memory address and observed that DQ9 bit is not changing On observing through microscope, DQ9 ball was missing получается, что можно читать и писать в память, если закомментировать в FSBL калибровку DDR ? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
alexPec 3 9 апреля, 2023 Опубликовано 9 апреля, 2023 · Жалоба В 08.04.2023 в 17:02, карамболь сказал: вот, что на форуме откопал получается, что можно читать и писать в память, если закомментировать в FSBL калибровку DDR ? Как-то это неправильно. Может в качестве эксперимента, но оставлять-то так все равно нельзя. Я бы первым делом все таки рентген сделал. Если нет доступа к рентгену, то попробовал бы пропаять еще раз чипы. У меня были такие случаи, что какая-нибудь нога (в моем случае альтера с 673 ногами) была не пропаяна, несмотря на то, что все платы устанавливались на одном установщике, м/с были из одной партии, паялось все на конвейерной печи подряд. Я хорошенько наталкивал под BGA какой-нибудь ядреный флюс, типа AMTECH NC-559, и ставил на прогрев под конвекционной головкой (около 280 градусов) с нижним подогревом. После такой процедуры большинство подобных проблем лечилось. При последующем прогоне на климатике от -35 до +70 проблемы не возникало. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
карамболь 0 9 апреля, 2023 Опубликовано 9 апреля, 2023 · Жалоба 19 minutes ago, alexPec said: Как-то это неправильно. Может в качестве эксперимента, но оставлять-то так все равно нельзя. Я бы первым делом все таки рентген сделал. Если нет доступа к рентгену, то попробовал бы пропаять еще раз чипы. У меня были такие случаи, что какая-нибудь нога (в моем случае альтера с 673 ногами) была не пропаяна, несмотря на то, что все платы устанавливались на одном установщике, м/с были из одной партии, паялось все на конвейерной печи подряд. Я хорошенько наталкивал под BGA какой-нибудь ядреный флюс, типа AMTECH NC-559, и ставил на прогрев под конвекционной головкой (около 280 градусов) с нижним подогревом. После такой процедуры большинство подобных проблем лечилось. При последующем прогоне на климатике от -35 до +70 проблемы не возникало. сначала попробую читать/писать... может удастся локализовать проблемный чип или трассу. Потом на рентген Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
карамболь 0 10 апреля, 2023 Опубликовано 10 апреля, 2023 · Жалоба Bypassed DDR Calibration steps of Data and VREF Training in psinit.c file By bypassing training steps, Directly write and read back of memory address and observed that DQ9 bit is not changing у меня вызывает исключение, попытка записи в DDR Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
карамболь 0 10 апреля, 2023 Опубликовано 10 апреля, 2023 · Жалоба прочитал регистры и обнаружил, что DX6RSR2 = 1 и DX7RSR2 = 1 т.е. проблема с последним чипом. Пересобрал проект на 32 бита DDR, но FSBL никак не изменился, также виснет. Т.е. независимо от битности DDR, контроллер все равно проверяет калибровку, как для 64 бит ? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться