Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Почему ПЛИС может не прошиваться?
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Работаем с ПЛИС, области применения, выбор
Mihey yxNet
Здравствуйте, какая причина может быть у следующей проблемы и как лечить:

Cyclone III (c пока ещё пустой последовательной флешкой и в активном режиме загрузки, если это имеет значение, хотя не должно) пытаюсь прошить через USB Blaster по JTAG.

JTAG Debugger при тесте видит устройство и говорит, что JTAG работает.
SignalTap и Programmer видят ПЛИС и позволяют начать загрузку. Строка состояния конфигурации зависает на 0%, пока идёт подсоединение, потом сразу становится неактивной как после успешной загрузки (других значений, в том числе 100% не показывает).

Информационное окно квартуса говорит, что конфигурация прошла успешно!!!
Потребление возрастает.

Но SignalTap говорит, инстанс не найден и требует сконфигурировать ПЛИС.
Загрузка флешки, соответственно, тоже невозможна - после "успешной конфигурации" ПЛИС вылезает ошибка "FlashLoader IP не найден".
EvgenyNik
Цитата(Mihey yxNet @ Dec 23 2010, 17:02) *
Загрузка флешки, соответственно, тоже невозможна - после "успешной конфигурации" ПЛИС вылезает ошибка "FlashLoader IP не найден".

Так Вы конфигурационное ППЗУ через JTAG-порт ПЛИС хотите прошить?
Mihey yxNet
Цитата(Евгений Николаев @ Dec 23 2010, 17:05) *
Так Вы конфигурационное ППЗУ через JTAG-порт ПЛИС хотите прошить?


Для начала - просто прошить ПЛИС через JTAG.
Затем - да, ППЗУ тоже надо будет. И это не будет проблемой, если ПЛИС будет прошиваться нормально - в ПЛИС прошивается альтеровский загрузчик и через него шьётся флешка.

Проблема как раз в том, что прошивка ПЛИС посылается и в теории успешно, но фактически в ней не сохраняется.
Apast
Цитата(Mihey yxNet @ Dec 24 2010, 09:54) *
Для начала - просто прошить ПЛИС через JTAG.
Затем - да, ППЗУ тоже надо будет. И это не будет проблемой, если ПЛИС будет прошиваться нормально - в ПЛИС прошивается альтеровский загрузчик и через него шьётся флешка.

Проблема как раз в том, что прошивка ПЛИС посылается и в теории успешно, но фактически в ней не сохраняется.

Возможно, проблема в том что после успешной прошивки ПЛИС вы что-то делаете с ногами конфигурации ( JTAG, если этовозможно, к сожалению сам пользую XILINX) и она сбрасывается. Раз у вас стоит загрузочная флеш значит есть еще один канал загрузки не JTAG, со своими ногами.
У меня с XILINX иногда тоже случаются такие траблы, особенно в начале проекта, если забываеш правильно описать загрузочные ножки.
vadimuzzz
Цитата(Mihey yxNet @ Dec 23 2010, 20:02) *
Но SignalTap говорит, инстанс не найден и требует сконфигурировать ПЛИС.

после заливки sof Scan Chain в сигналтапе делали? что пишет?
Mihey yxNet
Цитата(vadimuzzz @ Dec 24 2010, 10:10) *
после заливки sof Scan Chain в сигналтапе делали? что пишет?


Всё тоже самое: само устройство видит, можно повторить процедуру - с тем же результатом.
vadimuzzz
Цитата(Mihey yxNet @ Dec 24 2010, 14:11) *
Всё тоже самое: само устройство видит, можно повторить процедуру - с тем же результатом.

сверху в статусном окне сигналтап что пишет (после Scan chain): "Ready to acquire" или "Program to continue"?
Mihey yxNet
Цитата(vadimuzzz @ Dec 24 2010, 11:29) *
сверху в статусном окне сигналтап что пишет (после Scan chain): "Ready to acquire" или "Program to continue"?


После такой "успешной" конфигурации пишет "Program the device to continue".
При попытке всё-таки подсоединиться говорит "JTAG communication error",
а Квартус сообщает "Error: Can't find the instance. Download a design with SRAM Object File containing this instance."

Т.е. по всем показателям ПЛИС не прошит или прошит не тем, чем должен.
vadimuzzz
Цитата(Mihey yxNet @ Dec 24 2010, 14:41) *
Т.е. по всем показателям ПЛИС не прошит или прошит не тем, чем должен.

ну, второе отмести легко - перекомпилить и зашить еще раз. а с первым - надо сигналы посмотреть осциллографом, сигнатуру чипа в программере почитать
Mihey yxNet
Цитата(vadimuzzz @ Dec 24 2010, 11:46) *
ну, второе отмести легко - перекомпилить и зашить еще раз. а с первым - надо сигналы посмотреть осциллографом, сигнатуру чипа в программере почитать


По осциллографу - сигналы проходят.
А что и как можно посмотреть в программере? Он из данных выдаёт только проверочную сумму и пользовательский код. Или можно что-то ещё вывести?
vadimuzzz
Цитата(Mihey yxNet @ Dec 24 2010, 15:30) *
По осциллографу - сигналы проходят.
А что и как можно посмотреть в программере? Он из данных выдаёт только проверочную сумму и пользовательский код. Или можно что-то ещё вывести?

да нет, я и имел в виду смотреть сигналы в момент чтения сигнатуры. ну, раз уровни, фронты в норме, то косяк не здесь. а что в Assignments/Settings SignalTap II Logic Analizer ?
Mihey yxNet
Цитата(vadimuzzz @ Dec 24 2010, 12:43) *
да нет, я и имел в виду смотреть сигналы в момент чтения сигнатуры. ну, раз уровни, фронты в норме, то косяк не здесь. а что в Assignments/Settings SignalTap II Logic Analizer ?


Файл stp подключён нужный. Больше там ничего нет.

Можно ли как-то регулировать настройки стандарта напряжения для JTAG? Или с USB-Blaster'ом только 2,5? А то в других проектах Квартус ругался на попытки сменить напряжение 1го банка, а в этом молчит.
На что-нибудь влияют величины внешних подтягивающих резисторов?
vadimuzzz
Цитата(Mihey yxNet @ Dec 24 2010, 17:12) *
Файл stp подключён нужный. Больше там ничего нет.

попробуйте его удалить и создать заново. иногда бывают глюки с путями.
Цитата
Можно ли как-то регулировать настройки стандарта напряжения для JTAG? Или с USB-Blaster'ом только 2,5? А то в других проектах Квартус ругался на попытки сменить напряжение 1го банка, а в этом молчит.
На что-нибудь влияют величины внешних подтягивающих резисторов?

нет, там должно быть VCCA(2.5)
Serhiy_UA
к Mihey yxNet

Хотелось бы узнать, чем все закончилось....

За одно и вопросы:
1. Если использовался SFL, то подключался ли его модуль из SFL_bb.v в главный модуль проекта?
2. Были ли сделаны назначения выводов FPGA в части интерфейса ASMI через Pin Planner?
3. Был ли при программировании через JTAG задан для FPGA режим "serial configuration mode"?

IceCreamMan
Я так понял у автора стоит разъём програмирования соединённый с jtag ПЛИС, и флешка через DCLK,DATA,nCS,ASDI. Тогда это случай на странице 9-60 handbook.

Цитата
The SFL design is a JTAG-based in-system programming solution for Altera serial
configuration devices. The SFL is a bridge design for the Cyclone III device family
that uses its JTAG interface to access the EPCS JTAG Indirect Configuration Device
Programming (.jic) file and then uses the AS interface to program the EPCS device.


Для прошивки в режиме JTAG не во флеш используется sof файл, а для прошивки флешки через AS мост jic-файл(тот что надо из sof конвертировать отдельно). Я что-то в обсуждении не увидел этих обстоятельств.
Mihey yxNet
Цитата(IceCreamMan @ Jan 1 2011, 10:28) *
Я так понял у автора стоит разъём програмирования соединённый с jtag ПЛИС, и флешка через DCLK,DATA,nCS,ASDI. Тогда это случай на странице 9-60 handbook.

Для прошивки в режиме JTAG не во флеш используется sof файл, а для прошивки флешки через AS мост jic-файл(тот что надо из sof конвертировать отдельно). Я что-то в обсуждении не увидел этих обстоятельств.



Да, именно так и соединено (та же схема и на 8-42). И да, если напрямую ПЛИС JTAGом грузить, то sof-файл. Если флешку через ПЛИС, то jic-файл (но до него по сути дело не доходит, потому что сначала надо в плис прогрузить SFL, а он так же как и пользовательские sof-проекты в ПЛИСе не остаётся, хотя должен).
Спасибо за уточнение. Действительно, стоило сразу схемку показать, не думал, что могут возникнуть разночтения.


Цитата(Serhiy_UA @ Dec 30 2010, 11:25) *
к Mihey yxNet

Хотелось бы узнать, чем все закончилось....

За одно и вопросы:
1. Если использовался SFL, то подключался ли его модуль из SFL_bb.v в главный модуль проекта?
2. Были ли сделаны назначения выводов FPGA в части интерфейса ASMI через Pin Planner?
3. Был ли при программировании через JTAG задан для FPGA режим "serial configuration mode"?



Проблема с проектом пока не решена, просто я отсутствовал.

1. Вот этот момент требует пояснения. О чём речь?
Конкретно флешку обычно загружаю через Программер - нахожу свою микросхему, указываю для неё тип флешки, указываю какой jic надо в неё залить - "Factory default enchanced SFL image" добавляется в качестве прошивки ПЛИС автоматически. В свой проект SFL не вношу.

2. да

3. Режим AS задаётся пинами MSEL[2..0]. Сейчас перешёл даже на режим JTAG (т.е. флешка вообще игнорируется), хотя через JTAG-входы ПЛИС должен программироваться независимо от режима.
Если прошивать через программер, то указывается JTAG mode (тут см. пункт 1)
Но у меня есть подозрение что речь о чём-то другом.


В целом повторюсь, на всякий случай. Проблема не во флешке и её загрузке, она упоминалась только для точного описания ситуации, сейчас установлен режим загрузки только через JTAG - эффект тот же: сам ПЛИС не конфигурируется.
Reanimator++
Если плис не конфигурируется по JTAG надо проверять плату.
Я первый раз когда плис конфигурировал все пытался от нее CONF_DONE добиться (недели две), а потом нашел соплю с CONF_DONE на землю...

- Проверяем монтаж под микроскопом, прозваниваем лапки тестером на соседей, проверяем питание.
- Проверяем наличие подтягивающих резисторов на нужных конфигурационных лапах (nConfig, Conf_Done). Может ее в повтор конфигурации nConfig уводит после заливки?
- Делаем минимальный проект поднимающий какую-нить лапу или транслирующий на нее клок чтобы можно было легко проконтролировать работу ПЛИС осциллографом. Выставляем Conf_Done в проекте чтобы поднималась тоже, а не была User_I/O.
- Заливаем .sof, смотрим. Если не заливается проверяем что JTAG правильно включен.
Docent86
Какой именно CYCIII используете?
У нас был EP3C10E144 - тоже долго не могли прошить, потом оказалось что забыли прицепить площадку на брюхе к земле, использовали память EPC4 прошивали USB-Blaster'ом по Activ Serial (.pof файл), а для быстрой отладки по JTAG зашивали только CYC (.sof файл). Питание полное д.б. 1.2, 3.3, 2.5. Еще посмотрите конфигурацию управляющих ног MSEL0, MSEL1.. Ну и монтаж повнимательней, тоже много висяков найти можно
PVL
Как у Альтеры все сложно... у ксилинкса выбираешь *.bit файл и нажимаешь program.
ysmat
не заливаеться циклон EP3C25E144 с внешней флешки M25P16
постоянно идет клок 33Mgц и данные
сигналы по форме нормальные
msel0 = 0
msel1 = 1
msel2 = 0
может ли такое быть из за не пропаяного днища
через JTAG все нормально прошиваеться
_Anatoliy
Цитата(ysmat @ Feb 4 2013, 16:09) *
не заливаеться циклон EP3C25E144 с внешней флешки M25P16
постоянно идет клок 33Mgц и данные
сигналы по форме нормальные
msel0 = 0
msel1 = 1
msel2 = 0
может ли такое быть из за не пропаяного днища
через JTAG все нормально прошиваеться

В основном из за не пропаяного днища (Pad) это и бывает.
ysmat
как оказалось днище не причем
вероятней всего была плохая запись в флешку
через плисину по JTAG прошил и все заработало
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.