Linius
Apr 15 2013, 08:24
Здраствуйе
Есть следующая проблема:
при прошивке Spartan 6 (S6LX75TFGG484) по JTAG прошивка выполняется успешно
(с соотв сообщением в импакте и загоранием диода Done) но не вступает в действие (все ножки остаются в z состоянии).
В консоль вываливается следующее:
-- INFO:iMPACT - Current time: Чт 21. мар 20:08:30 2013
-- PROGRESS_START - Starting Operation.
-- Maximum TCK operating frequency for this device chain: 15000000.
-- Validating chain...
-- Boundary-scan chain validated successfully.
-- '1': Programming device...
-- LCK_cycle = NoWait.
-- LCK cycle: NoWait
-- done.
-- '1': Reading status register contents...
-- [0] CRC ERROR : 0
-- [1] IDCODE ERROR : 0
-- [2] DCM LOCK STATUS : 1
-- [3] GTS_CFG_B STATUS : 0
-- [4] GWE STATUS : 0
-- [5] GHIGH STATUS : 1
-- [6] DECRYPTION ERROR : 0
-- [7] DECRYPTOR ENABLE : 0
-- [8] HSWAPEN PIN : 1
-- [9] MODE PIN M[0] : 1
-- [10] MODE PIN M[1] : 0
-- [11] RESERVED : 0
-- [12] INIT_B PIN : 1
-- [13] DONE PIN : 0
-- [14] SUSPEND STATUS : 0
-- [15] FALLBACK STATUS : 0
-- INFO:iMPACT:2219 - Status register values:
-- INFO:iMPACT - 0010 0100 1100 1000
-- INFO:iMPACT:579 - '1': Completed downloading bit file to device.
-- INFO:iMPACT:188 - '1': Programming completed successfully.
-- LCK_cycle = NoWait.
-- LCK cycle: NoWait
-- INFO:iMPACT - '1': Checking done pin....done.
-- '1': Programmed successfully.
-- PROGRESS_END - End Operation.
-- Elapsed time = 7 sec.
Как видно из содержания статусного регистра, не установились биты
[3] GTS_CFG_B STATUS, [4] GWE STATUS, [13] DONE PIN
(Последний не устанавливается, но при этом ножка DONE_2, как ей и положено, переходит в z состояние, что позволяет зажечься через транзитстор светодиоду).
Как понятно по [3] и [4] все слетает на последнем этапе. Но почему?
Проверено питание (наличие на пинах, шумовая дорожка - все ОК)
Проверена схема подключения (уже упростил до подключения к FPGA только разьема JTAG и вывесил на PROGRAM_B и _ININ_B_2 подтяжки 300 ом к +3.3В).
Поигрался с Configuration_Rate, установками Startup_Options - Ничего не помогает.
Поделитесь опытом уважаемые форумчане, как бороться с этой проблемой
iosifk
Apr 15 2013, 08:29
Цитата(Linius @ Apr 15 2013, 12:24)

Поигрался с Configuration_Rate, установками Startup_Options - Ничего не помогает.
Поделитесь опытом уважаемые форумчане, как бороться с этой проблемой
Понижали скорость загрузки?
Осциллом смотрели форму импульсов?
BSDL файл обновляли?
Linius
Apr 15 2013, 08:37
[quote name='iosifk' date='Apr 15 2013, 10:29' post='1154843']
> Понижали скорость загрузки?
Да, я же говорил - менял Configuration_Rate от 2 до 13
> Осциллом смотрели форму импульсов?
Да, форма чистая, нет просадки. Расшифровать не могу - прибор не позволяет
> BSDL файл обновляли?
да
Mad Makc
Apr 15 2013, 08:56
а сколько на jtag-е у вас висит устройств? один спартан или ещё что-то?
Как подключён INIT и как он сeбя ведёт ?
Victor®
Apr 16 2013, 07:44
Цитата(Linius @ Apr 15 2013, 11:24)

Как видно из содержания статусного регистра, не установились биты
[3] GTS_CFG_B STATUS, [4] GWE STATUS, [13] DONE PIN
(Последний не устанавливается, но при этом ножка DONE_2, как ей и положено, переходит в z состояние, что позволяет зажечься через транзитстор светодиоду).
Как понятно по [3] и [4] все слетает на последнем этапе. Но почему?
Проверено питание (наличие на пинах, шумовая дорожка - все ОК)
Проверена схема подключения (уже упростил до подключения к FPGA только разьема JTAG и вывесил на PROGRAM_B и _ININ_B_2 подтяжки 300 ом к +3.3В).
Поигрался с Configuration_Rate, установками Startup_Options - Ничего не помогает.
Поделитесь опытом уважаемые форумчане, как бороться с этой проблемой
Резистор 330 Ом с DONE на VCCO_2 есть?
Все соответствующие питания присутствуют?
P.S.
Про DONE смотрите тут
http://forums.xilinx.com/t5/Spartan-Family...vices/m-p/80645
Linius
Apr 17 2013, 18:13
> Резистор 330 Ом с DONE на VCCO_2 есть?
Да. С ним я тоже экспериментировал (пробовал чуть больше - до 1К - безрезультатно)
>Все соответствующие питания присутствуют?
Да, на каждом пине, шум мормальный (так и на EvBoard) - я уже говорил
> Как подключён INIT и как он сeбя ведёт ?
Раньше, когда включал PlatformFlash - было 4.7К на Vcc
Сейчас, когда оставил только Спартан, а все снял - 300 на Vcc (как и рекомендовано)
Victor®
Apr 17 2013, 19:09
Цитата(Linius @ Apr 17 2013, 21:13)

> Резистор 330 Ом с DONE на VCCO_2 есть?
Да. С ним я тоже экспериментировал (пробовал чуть больше - до 1К - безрезультатно)
>Все соответствующие питания присутствуют?
Да, на каждом пине, шум мормальный (так и на EvBoard) - я уже говорил
> Как подключён INIT и как он сeбя ведёт ?
Раньше, когда включал PlatformFlash - было 4.7К на Vcc
Сейчас, когда оставил только Спартан, а все снял - 300 на Vcc (как и рекомендовано)
Спартан что-то потребляет?
Источники на какие токи рассчитаны?
Не проседает питание после "загрузки"?
На скольких платах это проявляется?
Покупали Спартаны у нормального дистра?
Нет ли каких-то подозрений на перемаркировку, реболлинг?
Linius
Apr 18 2013, 16:11
> Спартан что-то потребляет?
Потребляет - около 120мА (проверял - в EvBoard где-то столько же)
> Источники на какие токи рассчитаны?
Расчитаны на 3А каждое питание. Гонялись под нагрузкой - все ОК.
>Не проседает питание после "загрузки"?
Нет, не проседает. Ток меняется в пределах 10мА.
>На скольких платах это проявляется?
На трех платах
>Покупали Спартаны у нормального дистра?
Вроде да - всегда у них берем - вникогда проблем небыло. Я поначалу сам так думал (мол, нарвались на брак). Но сейчас купили для достоверности такие же кристалы у других людей, перепаяли - симптомы те же у всех трех плат.
>Нет ли каких-то подозрений на перемаркировку, реболлинг?
Да вроде нет. Смотрел на этот предмет - не к чему придраться
Попробовать в настройках битгена поменять местами стадии загрузки. На virtex5 подобное помогало решить одну похожую проблему
Linius
Apr 18 2013, 16:19
>... INIT и как он сeбя ведёт ?
В начальный момент все сигналы подтянуты к питанию
Далее - все падают в "0", инит держится в нуле а на остальных скачут биты.
Всамом конце инит делает несколько тычков и вместе с TDO возвращается в "1". Чуть позже в "1" возвращаются и остальные
Linius
Apr 19 2013, 17:48
>Попробовать в настройках битгена поменять местами стадии загрузки...
Очень интерестно. А можно поподробнее?
Сейчас под рукой нету ничего, чтоб скриншоты сделать, поэтому буду на словах. Вот тут:
http://www.xilinx.com/support/documentatio...uides/ug380.pdf На стр. 84 описана startup sequence , состоящая из 7 фаз. Каждая фаза этой последовательности, кроме последней , может быть поменяна местами друг с другом при помощи утилиты bitgen. ( стр 223 тут
http://www.xilinx.com/support/documentatio...ref.pdf#page222 или средствами грацического интерфейса ISE) . Можно посмотреть на какой стадии у вас свалилась конфигурация ( в начале обсуждения вы приводили состояние регистра статуса, в нем и видно, какая стадия прошла, а какая нет). Вот, и эту самую стадию попробовать переставить на последнее место. Может заработать, или просто прояснить ситуацию. В нашем случае в цепочке конфигурили три fpga от xilinx, конфигурация проходила у всех ( прям как в вашем случае), а стартовала только последняя ошитая плисина. Это похоже какой-то аппаратный баг. Плисины почему то не могут учуять отпускаэние пина done. Помогла установка стадии release done pin на последнее место, и все стало конфигуриться. По умолчанию эта стадия номер 4, а мы ее переставили на 6 место
Linius
Apr 29 2013, 18:19
Ура товарищи!!! Все заработало. Еще при первых пробах я пытался настраивать параметры генерации файла в StatUp Options (как я и указывал в первом посте) не зная что оно называется startup sequence (чисто экспериментально - ничего не читая). Перебрал все комбинации цифр опций DONE_cycle, GTS_cycle, GWE_cycle, CLK_cycle, настроек Enable internal DONE pipe и Drive DONE pin high. Но после совета от rsv (Отдельная ему благодарность) - начал копать здесь еще раз. Почитал указанный rsv источник, поэкспериментировал. И оказалось, что если в Property display level установить Adwanced становится доступной закладка Suspend/Wake options. Вот здесь имеются нужные sw_gwe_cycle и sw_gts_cycle которые нужно поменять так, чтобы они были последними в загрузке. И все!!! Вот, оказывается, как просто ларчик открывался то... Всем спасибо за участие. Считаю тему закрытой.
Lmx2315
Apr 29 2013, 19:37
QUOTE (Linius @ Apr 29 2013, 22:19)

И все!!! Вот, оказывается, как просто ларчик открывался то... Всем спасибо за участие. Считаю тему закрытой.
..ничего себе, дорогу осилит идущий.
Для просмотра полной версии этой страницы, пожалуйста,
пройдите по ссылке.