Vengin 0 10 сентября, 2016 Опубликовано 10 сентября, 2016 (изменено) · Жалоба Доброго времени суток. Имеется удалённый доступ к Arria V SoC Development Board. Собираю в Quartus 14.0, пытаюсь прошить FPGA. В JTAG цепочке 3 устройства: SOCVHPS -> FPGA -> CPLD. За основу прокета взят GHRD (Golden Hardware Reference Design), добавлены свои IP в QSys (и в частности используются 2 FPGA Hard Memory Controllers). Когда прошиваю FPGA *.sof файлом из GHRD (Golden Hardware Reference Design) - всё корректно. Когда пытаюсь прошить FPGA *.sof файлом своего проекта - процесс останавливается на 96%, и JTAG цепочка ломается (необходмо ресетать плату). JTAG Debugger рапортует: !Error: The TDI connection to the first detected device 5ASTFD5(G3|K3|K3ES)/.. might be shorted to VCC or is an open circuit !Error: The TCK and TMS connections to the device before the first detected device 5ASTFD5(G3|K3|K3ES)/.. might have a problem Пытаясь найти причины проблемы, удалось обнаружить только то, что как только из QSys подсистемы выкидываю HPS компонент - проблема исчезает, и FPGA программируется успешно. Перепробовал уже кучу модификаций и проектных настроек, но с HPS программирование фэйлится. При этом проект GHRD, в котором HPS компонент имеется, программируется корректно. Собственно вопрос: может есть у кого идеи, что не так? Сам я с HPS до этого не работал. Из мануалов вижу, что Boot Process там многоступенчатый, но вроде это больше относится к загрузке из Flash (а по JTAG можно как обычно FPGA залить и отлаживаться). Изменено 10 сентября, 2016 пользователем Vengin Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Vengin 0 10 сентября, 2016 Опубликовано 10 сентября, 2016 · Жалоба Продолжая копать в поисках причины проблемы, случайно обнаружил такой Warning в *.asm.rpt репорте Quartus Assembler-а (т.е. на этапе создания файла *.sof прошивки FPGA): Warning (11713): The configuration of the Hard Processor Subsystem (HPS) within this design has changed. The Preloader software that initializes the HPS requires an update. Using hps_isw_handoff/<name>/, run the Preloader Support Package Generator to update your Preloader software В этой папке снегерены какие-то *.c, *.h, *.xml файлы и *.hiof. Может ли это быть причиной проблемы? Пока ещё не совсем представляю как этот Preloader обновить (статически во Flash?), и нужно ли это будет делать каждый раз при изменении HPS компонента? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sonycman 0 10 сентября, 2016 Опубликовано 10 сентября, 2016 · Жалоба Продолжая копать в поисках причины проблемы, случайно обнаружил такой Warning в *.asm.rpt репорте Quartus Assembler-а (т.е. на этапе создания файла *.sof прошивки FPGA): Warning (11713): The configuration of the Hard Processor Subsystem (HPS) within this design has changed. The Preloader software that initializes the HPS requires an update. Using hps_isw_handoff/<name>/, run the Preloader Support Package Generator to update your Preloader software В этой папке снегерены какие-то *.c, *.h, *.xml файлы и *.hiof. Может ли это быть причиной проблемы? Пока ещё не совсем представляю как этот Preloader обновить (статически во Flash?), и нужно ли это будет делать каждый раз при изменении HPS компонента? Нет, это исходники для генерации загрузчика (прелоадера) (с помощью BSP-Editor, который входит в пакет SoC EDS). Да, его нужно обновлять каждый раз, когда вносятся изменения в HPS компонент. Но к ошибкам программирования по JTAG это не должно приводить. Вы ведь не пытаетесь загрузить систему с помощью загрузчика пока что. Если GHRD успешно прошивается, тогда возможно проблема в созданном вами компоненте HPS. Попробуйте взять за основу GHRD, и на его базе создать свою систему. Оставьте непосредственно HPS, удалите ненужные модули и добавьте свои. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Vengin 0 12 сентября, 2016 Опубликовано 12 сентября, 2016 (изменено) · Жалоба Если GHRD успешно прошивается, тогда возможно проблема в созданном вами компоненте HPS. Попробуйте взять за основу GHRD, и на его базе создать свою систему. Оставьте непосредственно HPS, удалите ненужные модули и добавьте свои. Да в общем-то всё так и делал. Добавли QSys подсистему из GHRD в свой проект и в неё добалял разрабатываемые компоненты. А позже (когда пытался устранить проблему) максимально приблизил все известные параметры к GHRD (и в QSys подситсеме, и в настройках Квартуса *.qsf файле). Пока ещё не испробованный вариант (из-за нехватки времени) - начать полностью с GHRD проекта, и поэтапно туда добалять компоненты своего проекта. пытаясь обнаружить/решить проблему этим способом. А вообще мне непонятно, разве можно так "настроить" HPS (или другие подсистемы), что FPGA даже не сможет прошиваться по JTAG? Я понимаю если после прошивки (в User Mode) уже всё не заведётся, но чтобы сам процесс прошивки сломался - это мне непонятно. Даже если какой-то reset/watchdog подвешивает HPS, разве это влияет на процез прошивки FPGA? Единственное что приходит в голову, это влияние HPS (он ведь даже присутствует отдельным элементом в JTAG цепочке), и как-то косвенно всё это взаимосвязано. Изменено 12 сентября, 2016 пользователем Vengin Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sonycman 0 12 сентября, 2016 Опубликовано 12 сентября, 2016 · Жалоба А вообще мне непонятно, разве можно так "настроить" HPS (или другие подсистемы), что FPGA даже не сможет прошиваться по JTAG? Да, всё это больше похоже на аппаратную проблему :05: Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Vengin 0 13 сентября, 2016 Опубликовано 13 сентября, 2016 · Жалоба Да, всё это больше похоже на аппаратную проблему :05: В смысле "аппаратную"? Проблемы с платой (с настройкой платы)? Но тогда ИМХО все проекты нельзя было бы прошить. А тут какие-то да, а какие-то нет... И уж если это какие-то "стахостические" аппаратные вещи, то (учитывая что работаю я с платой удалённо) обнаружить/решить это на практике маловероятно. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Wic 0 13 сентября, 2016 Опубликовано 13 сентября, 2016 · Жалоба В JTAG цепочке 3 устройства: SOCVHPS -> FPGA -> CPLD FPGA вторая в цепочки, возможно, что во время прошивки SOCVHPS начинает взаимодействовать с JTAG и тем самым сбивает процесс прошивки. Думаю где то здесь собака зарылась Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Vengin 0 13 сентября, 2016 Опубликовано 13 сентября, 2016 · Жалоба FPGA вторая в цепочки, возможно, что во время прошивки SOCVHPS начинает взаимодействовать с JTAG и тем самым сбивает процесс прошивки. Думаю где то здесь собака зарылась Гм. Мне казалось, что когда делается файл прошивки *.sof в Quartus-е, разве это не чисто прошивка FPGA (т.е. для 2-го устройства в цепочке)? А SOCVHPS прошивается не каким-то отдельным образом (т.е. компилится в DS-5 Development Studio) и там свой отдельный файл? Как я и говорил с HPS раньше не работал, поэтому могу ошибаться - учусь по ходу дела. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sonycman 0 13 сентября, 2016 Опубликовано 13 сентября, 2016 · Жалоба Гм. Мне казалось, что когда делается файл прошивки *.sof в Quartus-е, разве это не чисто прошивка FPGA Нет, если в прошивке есть HPS - он частично конфигурируется аппаратно. Выше правильно написали - в процессе прошивки встревает HPS и нарушает обмен. Надо копать, почему. В QSys в настройках HPS есть что нибудь, относящееся к JTAG? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
EugeneS 0 14 сентября, 2016 Опубликовано 14 сентября, 2016 · Жалоба Нет, если в прошивке есть HPS - он частично конфигурируется аппаратно. Выше правильно написали - в процессе прошивки встревает HPS и нарушает обмен. Надо копать, почему. В QSys в настройках HPS есть что нибудь, относящееся к JTAG? Терзает смутное чувство, что проблема связана с FPGA Manager System / Manager блоками, там и JTAG Host имеется Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sonycman 0 14 сентября, 2016 Опубликовано 14 сентября, 2016 · Жалоба Терзает смутное чувство, что проблема связана с FPGA Manager System / Manager блоками, там и JTAG Host имеется У меня плата с Cyclone V SoC - завелась с полоборота что с HPS, что без. Проект свой с нуля. Настройки HPS в QSys у ArriaV и CycloneV почти один в один - ничего особенного по части JTAG там нет. Непонятно, в общем. Попробуйте обновить Квартус, может бага какая-то. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Vengin 0 15 сентября, 2016 Опубликовано 15 сентября, 2016 · Жалоба Терзает смутное чувство, что проблема связана с FPGA Manager System / Manager блоками, там и JTAG Host имеется Вот только вопрос, как это настраивается. В QSys ничего такого не наблюдается. У меня плата с Cyclone V SoC - завелась с полоборота что с HPS, что без. Проект свой с нуля. Настройки HPS в QSys у ArriaV и CycloneV почти один в один - ничего особенного по части JTAG там нет. Непонятно, в общем. Попробуйте обновить Квартус, может бага какая-то. По-моему в QSys вообще никаких явных настроек HPS JTAG интрефейса нет. Мне тоже кажется, что всё должно работать. Попробую обновить до 14.1.1 (и ещё может в 15.1.0 собрать). Обидно будет конечно если это баг софта - столько времени потрачено. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Wic 0 16 сентября, 2016 Опубликовано 16 сентября, 2016 · Жалоба Vengin, если скинете проект могу собрать в 16.0 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
R6L-025 1 19 сентября, 2016 Опубликовано 19 сентября, 2016 · Жалоба У меня схожая проблема была, тоже кастомная плата на ArriaV, процесс фейлился в самом конце. Пытаясь затолкать в FPGA прошивку в виде SVF файла пришли к мнению что в самом конце происходит верификация залитой прошивки, и если что-то во время загрузки пошло не так (аппаратно) то процесс фейлится. Конкретно у меня была проблема в грязном питании. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Vengin 0 21 сентября, 2016 Опубликовано 21 сентября, 2016 · Жалоба У меня схожая проблема была, тоже кастомная плата на ArriaV, процесс фейлился в самом конце. Пытаясь затолкать в FPGA прошивку в виде SVF файла пришли к мнению что в самом конце происходит верификация залитой прошивки, и если что-то во время загрузки пошло не так (аппаратно) то процесс фейлится. Конкретно у меня была проблема в грязном питании. Ну тут всё-таки не кастомная плата, а весьма недешёвая Arria V SoC Development Board. Хотелось бы верить, что там проблем уровня "грязного питания" быть не должно. Если не удастся победить "программным" путём, будем копать глубже (по мере возможностей удалённого доступа). На данный момент плата временно недоступна, хардварный дебаг приостановлен, и идёт процесс дальнейшего девелопмента. Как будут какие-то подвижки - расскажу. Ну или если у кого есть ещё мысли/догадки/решения - милости прошу. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться