реклама на сайте
подробности

 
 
> Странная проблема конфигурирования Spartan-3, legacy input error
makc
сообщение Nov 8 2007, 19:26
Сообщение #1


Гуру
******

Группа: Админы
Сообщений: 3 621
Регистрация: 18-10-04
Из: Москва
Пользователь №: 904



Начал наладку новой платы с тремя Spartan-3 TQ-144 speedgrade 4 в последовательной цепочке. Конфигрурирует их микроконтроллер из подсоединенной к нему Flash-памяти. Конфигурирование ведется в режиме Slave Serial.

Суть проблемы в следующем: в некоторых случаях конфигурирование завершается неудачей (нет сигнала Done), в ряде случаев Done появляется, но одна из ПЛИС (вторая в цепочке и тольно она одна) не отвечает на запросы (она подключена к шине микроконтроллера и на чтение не отвечает). При этом в результате чтения регистра статуса ПЛИС через JTAG после обнаружения описанной ошибки конфигурирования выяснились два интересных симптома:
1. ПЛИС-2 (вторая в цепочке) выдает сигнал Done, но при этом у нее бит регистра статуса GHIGH = 0, в то время как должен быть 1 (GWE тоже 0).
2. ПЛИС-2 (вторая в цепочке) не выдает сигнал Done, а в ее регистре статуса установлен в 1 бит legacy input error, значение которого не совсем понятно.

Я изучил формы и уровни сигналов CCLK, DATA, PROG, DONE - все в пределах нормы. Частота CCLK - менее 1МГц. Пауза после перехода PROG из 0 в 1 около 10 мс, т.е. более чем достаточно для успешного начала конфигурирования.

В связи с вышеизложенным возникает вопрос - чем может быть вызвано появление "legacy input error" и нулевое значение GHIGH после конфигурации? Может-ли это быть связано (хотя по описанию ПЛИС связи нет) с использованием блоков DCM в проектах? Что еще можно попробовать и куда посмотреть?

PS: Настройки bitgen в ISE установлены в значения по-умолчанию.


--------------------
BR, Makc
В недуге рождены, вскормлены тленом, подлежим распаду. (с) У.Фолкнер.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
bms
сообщение Nov 9 2007, 13:56
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 203
Регистрация: 11-08-05
Пользователь №: 7 545



А Вы учли тот момент, что после загрузки самой конфигурации в выбраном Вами режиме нужно ещё дать N-клоков для того чтобы запустить процесс "startup"?

И ещё, несмотря на то, что конф. клок у Вас 1 МГц - проблемы могут быть всё равно, если Вы его вывели на все кристаллы из одной точки. Где-то здесь на форуме уже встречался товарищ с такой же ошибкой. Тоже удивлялся, что частота низкая, а загрузка идёт со сбоями. Проблема решилась тем, что он клок завёл на каждый ПЛИС отдельно, т.е. поставил буфер и размножил синхросигнал - сделал всё по правилам.

Люди часто не правильно понимают эту штуку, думают раз частота низкая - проблем не будет. Но важна ведь не частота, а ЧИСТЫЙ ФРОНТ на всех частотах! И на низких и на высоких. Раньше подобных проблем действительно не было - кристаллы были медленные и попросту не успевали реагировать на быстрый "дребезг" на фронтах. Сейчас входы у ПЛИС-ов очень быстрые, реагируют даже на такие "пички" на фронтах, которые не каждым осциллом увидишь.

Если у Вас клок "один передатчик - 4-ре приёмника", то проблема почти наверняка в этом (если конечно протокол загрузки верный).
Клок должен быть "один передатчик - один приёмник" и правильно согласованным к тому же. Очень много знаю пострадавших, которые пренебрегли этим несложным правилом.
Go to the top of the page
 
+Quote Post
makc
сообщение Nov 11 2007, 15:26
Сообщение #3


Гуру
******

Группа: Админы
Сообщений: 3 621
Регистрация: 18-10-04
Из: Москва
Пользователь №: 904



Цитата(bms @ Nov 9 2007, 16:56) *
А Вы учли тот момент, что после загрузки самой конфигурации в выбраном Вами режиме нужно ещё дать N-клоков для того чтобы запустить процесс "startup"?


Да, это есть. В другом устройстве такой же алгоритм конфигурирования работает нормально.

Цитата
И ещё, несмотря на то, что конф. клок у Вас 1 МГц - проблемы могут быть всё равно, если Вы его вывели на все кристаллы из одной точки. Где-то здесь на форуме уже встречался товарищ с такой же ошибкой. Тоже удивлялся, что частота низкая, а загрузка идёт со сбоями. Проблема решилась тем, что он клок завёл на каждый ПЛИС отдельно, т.е. поставил буфер и размножил синхросигнал - сделал всё по правилам.


Да, потолковал с разработчиком ПП, посмотрел трассировку - там все от одного источника. Цепь получается довольно длинная... sad.gif

Цитата
Люди часто не правильно понимают эту штуку, думают раз частота низкая - проблем не будет. Но важна ведь не частота, а ЧИСТЫЙ ФРОНТ на всех частотах! И на низких и на высоких. Раньше подобных проблем действительно не было - кристаллы были медленные и попросту не успевали реагировать на быстрый "дребезг" на фронтах. Сейчас входы у ПЛИС-ов очень быстрые, реагируют даже на такие "пички" на фронтах, которые не каждым осциллом увидишь.

Если у Вас клок "один передатчик - 4-ре приёмника", то проблема почти наверняка в этом (если конечно протокол загрузки верный).
Клок должен быть "один передатчик - один приёмник" и правильно согласованным к тому же. Очень много знаю пострадавших, которые пренебрегли этим несложным правилом.


Да, один передатчик и три приемника. Однако вот что странно: зацикливаю вызов функции загрузки кристаллов и наблюдаю, что первые два раза все кристаллы в цепочке успешно конфигурируются, а последующие попытки ни к чему не приводят (Done в нуле). При этом такое поведение стабильно, т.е. наблюдалось более десяти раз и каждый раз первые две попытки - успешно, остальные - нет. Если предположить, что проблема в "грязных" фронтах тактового сигнала конфигурирования ПЛИС, то почему стабильно первые два раза они "чистые", а потом становятся "грязными"?

В проектах ПЛИС используются блоки DCM. Может-ли проблема конфигурирования быть связана с ними (при учете того, что параметр STARTUP_WAIT для DCM = FALSE)?


--------------------
BR, Makc
В недуге рождены, вскормлены тленом, подлежим распаду. (с) У.Фолкнер.
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 24th July 2025 - 20:59
Рейтинг@Mail.ru


Страница сгенерированна за 0.01408 секунд с 7
ELECTRONIX ©2004-2016