Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: NIOS не всегда стартует при заливке sof
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Работаем с ПЛИС, области применения, выбор
Barbarossa
Использую в плисине NIOS, загрузку программы выполняю из EPCS.
При этом наблюдаю следующую картину - при включении питания NIOS всегда стабильно стартует. Но если я потом заливаю в ПЛИС sof-файл через JTAG, то NIOS стартует не всегда, а всего лишь примерно в половине случаев.
Я не понимаю, в чем разница, и есть определенное беспокойство, не будет ли происходить отказов и при включении питания. Хотя я такого ни разу не наблюдал, но странности в поведении настораживают.
Может, кто сталкивался с подобным, и объяснит суть происходящего? rolleyes.gif
Stewart Little
Цитата
загрузку программы выполняю из EPCS.

Правильно ли я понял, что у Вас изменяется аппаратная часть проекта, а программная остается неизменной?

Делаете ли Вы сброс процессора после загрузки sof-файла?
Можно сделать, для гарантии, чтобы отпускание INIT_DONE дергало ниосовский сброс.
Barbarossa
Цитата(Stewart Little @ Sep 22 2016, 13:44) *
Правильно ли я понял, что у Вас изменяется аппаратная часть проекта, а программная остается неизменной?

Делаете ли Вы сброс процессора после загрузки sof-файла?
Можно сделать, для гарантии, чтобы отпускание INIT_DONE дергало ниосовский сброс.


Меняется только то, что снаружи фрагмента, собранного в QSYS. Сброс я подаю от locked PLL. Вроде как он должен сидеть в нуле, пока частота PLL не стабилизируется. И если проблема в неправильном сбросе, я все равно не понимаю, в чем разница - старт по включению питания или по переконфигурации ПЛИС.
А как добраться до состояния INIT_DONE?
Stewart Little
Цитата(Barbarossa @ Sep 22 2016, 19:27) *
...Сброс я подаю от locked PLL. ...
А как добраться до состояния INIT_DONE?

Если используется locked от PLL, то смысла в INIT_DONE нет.
Предложение такое - сделайте, чтобы сброс мог осуществляться и от захвата PLL, и, например, от внешней кнопки. И тогда проверяйте, в сбросе дело, или нет.
Какая у Вас тактовая частота процессора?
Возможно, что при добавлении чего-то в проект вне Qsys-системы изменяется размещение и разводка, и сплывают вся временнЫе параметры.
LjgicLock, как я понял, Вы не используете. А что TimeQuest сообщает после изменения проекта?
Barbarossa
Цитата(Stewart Little @ Sep 23 2016, 13:21) *
Если используется locked от PLL, то смысла в INIT_DONE нет.
Предложение такое - сделайте, чтобы сброс мог осуществляться и от захвата PLL, и, например, от внешней кнопки. И тогда проверяйте, в сбросе дело, или нет.
Какая у Вас тактовая частота процессора?
Возможно, что при добавлении чего-то в проект вне Qsys-системы изменяется размещение и разводка, и сплывают вся временнЫе параметры.
LjgicLock, как я понял, Вы не используете. А что TimeQuest сообщает после изменения проекта?

Попробую сброс извне, мысль хорошая.
Частота процессора 100 МГц, по времянке все нормально, отрицательных слэков нет. Logic Lock действительно не использую, но вроде и необходиомости нет, ПЛИС не очень забита и по времянке все хорошо.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.