Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Проверка успешности реконфигурации
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Работаем с ПЛИС, области применения, выбор
egorman44
Здравствуйте многоуважаемые форумчане! Есть проект который использует MultiBoot. Хотелось бы узнать есть ли способ как-либо детектировать событие, когда ПЛИС хотела загрузиться с конфигурации 1 на конфигурацию 2 , но по каким-либо причинам это не получилось и вернулась на конфигурацию 1. Нашел такой регистр как STATUS. Вроде бы в нем присутствуют соответствующие флаги "Configuration Watchdog Timer expired" и "Post-configuration CRC check error", но к моему удивлению они уже установлены в лог.1 когда я их читаю после подачи питания, когда запускается конфигурация 1 , т.е. говорят о наличии ошибки. Подскажите может кто делал, в чем тут фокус ?
egorman44
У меня возникли подозрения, что я как то неправильно читаю либо интерпретирую прочитанное из регистра STAT. В регистре STAT должен содержаться режим конфигурации 3 бита, у меня выставлен Internal Master SPI что в бинарном виде выглядит как 3'b011 , но к сожалению в полученных от ICAP (16'hCF9F) данных, я не увидел нигде, ничего похожего на 3'b011. Принятые данные 16'hCF9F надо побайтно перевернуть получиться значение -> 16'F1F9, режим конфигурации располагается в 11:9 битах , но там нули. sad.gif
Кто-то может пробовал читать этот регистр через ICAP / SelectMAP ?
EugeneS
QUOTE (egorman44 @ Mar 23 2015, 12:25) *
Здравствуйте многоуважаемые форумчане! Есть проект который использует MultiBoot. Хотелось бы узнать есть ли способ как-либо детектировать событие, когда ПЛИС хотела загрузиться с конфигурации 1 на конфигурацию 2 , но по каким-либо причинам это не получилось и вернулась на конфигурацию 1. Нашел такой регистр как STATUS. Вроде бы в нем присутствуют соответствующие флаги "Configuration Watchdog Timer expired" и "Post-configuration CRC check error", но к моему удивлению они уже установлены в лог.1 когда я их читаю после подачи питания, когда запускается конфигурация 1 , т.е. говорят о наличии ошибки. Подскажите может кто делал, в чем тут фокус ?


STATUS регистр доступен через Impact.
Пример на сайте Xilinx: XTP104 - KC705 MultiBoot Design
troiden
Цитата(egorman44 @ Mar 23 2015, 12:25) *
Здравствуйте многоуважаемые форумчане! Есть проект который использует MultiBoot. Хотелось бы узнать есть ли способ как-либо детектировать событие, когда ПЛИС хотела загрузиться с конфигурации 1 на конфигурацию 2 , но по каким-либо причинам это не получилось и вернулась на конфигурацию 1. Нашел такой регистр как STATUS. Вроде бы в нем присутствуют соответствующие флаги "Configuration Watchdog Timer expired" и "Post-configuration CRC check error", но к моему удивлению они уже установлены в лог.1 когда я их читаю после подачи питания, когда запускается конфигурация 1 , т.е. говорят о наличии ошибки. Подскажите может кто делал, в чем тут фокус ?

Нечто подобное делалось для пятого Virtex. После включения питания грузилась резервная прошивка, она запускала загрузку боевой. Если происходил сбой по CRC или таймауту Watchdog, то грузилась обратно резервная. Чтобы система не зашла в бесконечный цикл, в резервной прошивке читался Boot History Status Register (BOOTSTS) через ICAP. В приложенном файле модуль, отвечающий за логику перезагрузки ПЛИСа. Может чем поможет sm.gif
egorman44
Цитата(EugeneS @ Mar 31 2015, 15:22) *
STATUS регистр доступен через Impact.
Пример на сайте Xilinx: XTP104 - KC705 MultiBoot Design


Мне конечно надо чтобы в полевых условиях это работало, где-то далеко от импакта sm.gif но можно сравнить с тем непонятным значением что я получаю, каждый раз как пытаюсь читать STAT reg.


Цитата(troiden @ Mar 31 2015, 15:37) *
Нечто подобное делалось для пятого Virtex. После включения питания грузилась резервная прошивка, она запускала загрузку боевой. Если происходил сбой по CRC или таймауту Watchdog, то грузилась обратно резервная. Чтобы система не зашла в бесконечный цикл, в резервной прошивке читался Boot History Status Register (BOOTSTS) через ICAP. В приложенном файле модуль, отвечающий за логику перезагрузки ПЛИСа. Может чем поможет sm.gif

Посмотрим !

Всем Спасибо!
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.