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

Отладочная плата Spartan3EStarterKit.
ISE WebPack 8.1

Возникла такая проблема.
Попробовал залить конфигурацию плис в PlatformFlash, с которой плис грузиться по включению питания. Все делал в соответствии с UserGuide на отладочную плату. И вот на последнем этапе непосредственно заливки во Flash возникает ошибка верификации. Хотя заливка проходит успешно. Но плис не грузиться.

Кто-нибудь с этим сталкивался?
Doka
Цитата(Titus @ Jul 21 2006, 14:41) *
Помогите, пожалуйста, разобраться!

Отладочная плата Spartan3EStarterKit.
ISE WebPack 8.1

Возникла такая проблема.
Попробовал залить конфигурацию плис в PlatformFlash, с которой плис грузиться по включению питания. Все делал в соответствии с UserGuide на отладочную плату. И вот на последнем этапе непосредственно заливки во Flash возникает ошибка верификации. Хотя заливка проходит успешно. Но плис не грузиться.

Кто-нибудь с этим сталкивался?


что значит "проходит успешно" ?? как ведет себя сигнал done_b после заливки??
вы 100% уверены в работоспособности заливаемой прошивки?


ЗЫ: вообще на Spartan3E (и на Spartan3EStarterKit) более перспективно бзать SPI-флеш для хранения битового потока плис.
вы не пробовали пойти по этому пути?

ЗЫЫ6 перепроверьте еще раз перемычки выбора метода загрузки плис на КИТе.
Koluntaev
А Вы не побовали загрузить непосредственно саму ПЛИС по JTAG (насколько я помню, на этом ките все в один JTAG chain объединено)? Это позволит убедиться в работоспособности ПЛИС. Хорошо бы еще гарантированно работающую прошивку попробовать, например какую-нибудь демку, идущую вместе с китом.
Titus
Проблема остается.
До того как попробовал перезаписать флэш, все работало как часы ( по включению питания грузиласть заводская флэш-конфигурация, по usb-jtag напрямую грузил плис). Как только презаписал флэш, все умерло. blink.gif
Перемычки все в порядке (master serial).
Теперь даже напрямую конфигурация заливается в плис, загорается done, но работать не хочет.
А через флэш вообще молчит, done не загорается.

Подозрения на стартовый тактовый сигнал - что-то с ним не то.

P/S/ Плиса сильно греется , когда пытается загрузиться с флэш.
alxlabs
Цитата(Titus @ Jul 24 2006, 13:29) *
Проблема остается.
До того как попробовал перезаписать флэш, все работало как часы ( по включению питания грузиласть заводская флэш-конфигурация, по usb-jtag напрямую грузил плис). Как только презаписал флэш, все умерло. blink.gif
Перемычки все в порядке (master serial).
Теперь даже напрямую конфигурация заливается в плис, загорается done, но работать не хочет.
А через флэш вообще молчит, done не загорается.

Подозрения на стартовый тактовый сигнал - что-то с ним не то.

P/S/ Плиса сильно греется , когда пытается загрузиться с флэш.

У меня было такое, былa плохо пропаянная флешка. Все работало пока грузил FPGA напрямую, попробовал записать флешку - облом на верифакации, потом все сдохло, FPGA жутко греется если грузиться с флеша и не работает, если грузиться напрямую. Флешка была XCF02S, FPGA - ХC3S200. Заменой флешки не вылечилось, но помогло заменить FPGA + флэшку sad.gif
Titus
Ситуация прояснилась!
Помогло считывание из flash загруженной конфигурации и сравнение с исходным.
Во flash окзались области памяти, которые не хотят записываться. Помогает повторная загрузка со 2-3 раза.

Теперь необходимо выяснить источник проблемы:

1. Либо битые ячейки памяти (но почему тогда со 2-3 раза все-таки грузиться)
2. Протокол закачки конфигурации во flash. Может что-то там.
Никто не в курсе, где можно найти этот протокол?

P/S/ ПЛИС сильно греется, потому что в конфигурационный регистр записывается битая конфигурация, которая неправильно конфигурирует входы-выходы.
Doka
Цитата(Titus @ Jul 25 2006, 10:33) *
Ситуация прояснилась!
Помогло считывание из flash загруженной конфигурации и сравнение с исходным.
Во flash окзались области памяти, которые не хотят записываться. Помогает повторная загрузка со 2-3 раза.

может там какая трабла с предварительным стиранием?

Цитата(Titus @ Jul 25 2006, 10:33) *
P/S/ ПЛИС сильно греется, потому что в конфигурационный регистр записывается битая конфигурация, которая неправильно конфигурирует входы-выходы.


кхм... не думаю так, если бы битая конф. всеже прописывалась, то это однозначно свидетельствовало о выходе части плис из строя (и Житаг при этом может вполне нормально показывать успешное конфигурирование)
думаю всеже этого не происходит, поскольку вендор принимает много мер по повышению надежности работы кристалла:
1) на этапах синтеза и раскладки в кристалл выползают ошибки и варнинги о том, что определенный сигнал имеет несколько источников
2) битовый поток (по кр.мере в Spartan3E), перед тем как плиска переведет кристалл в состоянии startUp, проверяется по CRC (см. ds312 ( Spartan-3E Complete Data Sheet)).
Koluntaev
Цитата(Doka @ Jul 25 2006, 14:06) *
не думаю так, если бы битая конф. всеже прописывалась, то это однозначно свидетельствовало о выходе части плис из строя (и Житаг при этом может вполне нормально показывать успешное конфигурирование)
думаю всеже этого не происходит, поскольку вендор принимает много мер по повышению надежности работы кристалла:
1) на этапах синтеза и раскладки в кристалл выползают ошибки и варнинги о том, что определенный сигнал имеет несколько источников
2) битовый поток (по кр.мере в Spartan3E), перед тем как плиска переведет кристалл в состоянии startUp, проверяется по CRC (см. ds312 ( Spartan-3E Complete Data Sheet)).

Несколько раз сталкивался с похожим эффектом. Так по ошибке в XCV600E загрузили битстрим от XCV400E. И ничего, done поднялся. ПЛИС не работала, естественно, и дико кипятилась. ПЛИС выжила, после загрузки нормального потока все заработало. Аналогично ведет себя и Spartan 2. Видимо CRC как-то кривовато считается.
Doka
Цитата(Koluntaev @ Jul 25 2006, 22:40) *
Несколько раз сталкивался с похожим эффектом. Так по ошибке в XCV600E загрузили битстрим от XCV400E. И ничего, done поднялся. ПЛИС не работала, естественно, и дико кипятилась. ПЛИС выжила, после загрузки нормального потока все заработало. Аналогично ведет себя и Spartan 2. Видимо CRC как-то кривовато считается.


будет ли использована проверка по CRC - это зависит от отпций в "Bitstream Generator".
по умолчанию она ,конечно, вкл. Но возможны два положения....
.
да и потом почему вы считаете, что контрольная сумма битового потока для XCV400E будет неправильно подсчитана кристаллом того же семейства (XCV600E)?
BSV
Иногда такая штука случается и с 18vXX, видел самолично. Причем как с PC3, так и с Platform-USB. Бывает, при программировании Verify не проходит, а если его потом запустить - проходит, бывает, что нужно два раза одно и то же записать со стиранием, чтобы нормально записалось.

Можно попробовать частоту TCK уменьшить в Impact'e.

По поводу загрузки чужого битстрима - было такое, в цепочку Spartan2e 300 грузились по ошибке прошивки от похожей цепочки 200 камней. Done, конечно, не взводился, но первая микросхема в цепочке грелась так, что ой-ой. После записи во флэш нужного содержимого все пришло в норму, без последствий.
Titus
Сейчас действительно помогает записать два раза подряд.

Цитата
Можно попробовать частоту TCK уменьшить в Impact'e.


Пробовал. Не помогает.
Titus
Работает .
Все починилось установкой последнего SP3 для ISE8.1 smile.gif
Doka
Цитата(Titus @ Jul 26 2006, 15:19) *
Работает .
Все починилось установкой последнего SP3 для ISE8.1 smile.gif


век живи - век удивляйся!!!
рад что у вас всё "ожило"

пока еще ожидаю заказанный Spartan-3E Starter Kit (HW-SPAR3E-SK-US)
поэтому возъму на заметку cool.gif
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.