|
Может ли FPGA частично "зависнуть" ?, чудеса, да и только ... |
|
|
|
Feb 20 2012, 10:55
|

Знающий
   
Группа: Свой
Сообщений: 648
Регистрация: 11-02-06
Из: Санкт-Петербург
Пользователь №: 14 237

|
Есть плата с FPGA Xilinx Spartan-3E-500, кристалл заполнен на 98%. Логика, зашитая в FPGA, управляется процессором ARM по параллельной ISA-подобной шине. "Прошивка" давно отлажена и обкатана на огромной серии плат и никаких проблем с ней никогда не было, всё работало без проблем. Но вот выпущен очередной релиз плат (другим производителем, но топология та же) , с которыми происходят странные вещи. На 80% плат прошивка в FPGA через какое-то время (от 15 мин до нескольких часов) частично перестаёт выполнять свои функции, как бы "зависает". Со стороны процессора всё выглядит ОК - регистры пишутся-читаются, команды отдаются, но ... логика FPGA не работает, причём только часть - другая (существенно большая часть) продолжает исправно молотить и выполнять, что требуется. Идентичный софт на идентичной плате другого производителя (с тем же блоком питания, если что ...) молотит без проблем сутками. Потребляемый ток всеми вариантами плат не отличается, перегревов нет, напряжения питаний в норме. Сигнал DONE наличествует как до, так и после сбоя. Я теряюсь в догадках - что тут может быть, куда копать и что смотреть ?
--------------------
Сделано в Китае. Упаковано в России.
|
|
|
|
|
 |
Ответов
|
Feb 20 2012, 12:57
|

Знающий
   
Группа: Свой
Сообщений: 648
Регистрация: 11-02-06
Из: Санкт-Петербург
Пользователь №: 14 237

|
Цитата(litv @ Feb 20 2012, 15:54)  в Chipscope то что видно? Чипскоп туда, видимо, не затолкнуть (98% заполнение), да и JTAG-a на плате нет. А на похожей плате, где JTAG есть - проблемы такой нет ... Цитата(iosifk @ Feb 20 2012, 16:03)  Скорее всего здесь в ПЛИСе автомат ловит наводку по входам или CDC сделано не корректно... И этот автомат становится в неизвестное или не описанное состояние из которого не прописан выход... Ну и далее он там и остается до следующего сброса... Обычное дело... Да, это я понимаю... Как отловить такие наводки ? CDC да, есть небольшой грешок (1.25 вместо 1.2), но ведь работает всё это добро на таких же платах. Начинку FPGA делал не я, исходники есть, но оставлю это на крайний случай. Она тоже проверена временем и перенесена на плату в бинарном виде. Цитата(des00 @ Feb 20 2012, 16:04)  я про входные данные. если они есть, то 99% асинхра в интерфейсах вылезла Из входных данных только управление по параллельной шине, подключенной к EBI процессора, в остальном, откисающий блок занимается тем, что перекачивает данные из SDRAM в последовательный ЦАП, управление простейшее - задаётся базовый адрес, длина, даётся команда старт взводом бита в регистре, всё - данные понеслись в ЦАП. В какой-то момент, вместо ожидаемых данных (клок+дата) тишина, после этого процессор может перезаписывать новый базовый адрес, взводить команду старт и всё что угодно - это ничего не помогает. Действительно, складывается впечатление, что именно этот автомат попал в какую-то мертвую точку. Но почему именно на этой серии плат - вот в чём основной вопрос ? Что с ними может быть не так (бракованые ПЛИС, стабилизаторы питания, кондесаторы) ?
--------------------
Сделано в Китае. Упаковано в России.
|
|
|
|
|
Feb 20 2012, 13:06
|
Вечный ламер
     
Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453

|
Цитата(Demeny @ Feb 20 2012, 06:57)  Но почему именно на этой серии плат - вот в чём основной вопрос ? Что с ними может быть не так (бракованые ПЛИС, стабилизаторы питания, кондесаторы) ? вы же сами сказали, была переразводка. например один сигнал управления, раньше был позже другого, а тут они поменялись %) Цитата(disel @ Feb 20 2012, 07:05)  А спидгрейт у плис такой же как и всех других плат, или изменился? иначе бы они старые прошивки не загрузили.
--------------------
|
|
|
|
Сообщений в этой теме
Demeny Может ли FPGA частично "зависнуть" ? Feb 20 2012, 10:55 des00 глючащий модуль порты на выводы плиса имеет ? Feb 20 2012, 10:59 Demeny Цитата(des00 @ Feb 20 2012, 14:59) глючащ... Feb 20 2012, 11:14  des00 Цитата(Demeny @ Feb 20 2012, 06:14) Да, и... Feb 20 2012, 12:04 litv в Chipscope то что видно? Feb 20 2012, 11:54 MrYuran Цитата(Demeny @ Feb 20 2012, 14:55) Я тер... Feb 20 2012, 12:02 iosifk Цитата(Demeny @ Feb 20 2012, 14:55) Но во... Feb 20 2012, 12:03 maksimp Цитата(iosifk @ Feb 20 2012, 16:03) И это... Feb 20 2012, 16:28    disel Цитата(des00 @ Feb 20 2012, 16:12) хмм, е... Feb 20 2012, 13:22  Demeny Цитата(des00 @ Feb 20 2012, 17:06) вы же ... Feb 20 2012, 13:59   vadimp61 Цитата(Demeny @ Feb 20 2012, 17:59) Когда... Feb 20 2012, 14:05 Builder Цитата(Demeny @ Feb 20 2012, 15:57) Да, э... Feb 21 2012, 06:24 disel А спидгрейт у плис такой же как и всех других плат... Feb 20 2012, 13:05 Shivers Я бы взял старую плату и перепаял с нее ПЛИС на но... Feb 20 2012, 14:05 ViKo Имел место случай, когда плата промывалась хрен зн... Feb 20 2012, 16:36 IEC Недавно выпаивал CPLD Alteta. Шилась, все работал... Feb 21 2012, 07:13 Shivers Цитата(IEC @ Feb 21 2012, 10:13) Недавно ... Feb 21 2012, 08:57 XVR Еще можете попробовать пересинтезировать проект (и... Feb 21 2012, 09:11 Demeny Цитата(maksimp @ Feb 20 2012, 20:28) Напр... Feb 21 2012, 13:12 des00 Цитата(Demeny @ Feb 21 2012, 08:12) Может... Feb 21 2012, 13:18  Demeny Цитата(des00 @ Feb 21 2012, 17:18) перехо... Feb 21 2012, 13:22   des00 Цитата(Demeny @ Feb 21 2012, 08:22) То, ч... Feb 21 2012, 13:26   VladimirB Цитата(Demeny @ Feb 21 2012, 16:22) То, ч... Feb 21 2012, 13:55 Джеймс Цитата(Demeny @ Feb 21 2012, 16:12) Может... Feb 21 2012, 13:34 XVR Цитата(Demeny @ Feb 21 2012, 17:12) Интер... Feb 21 2012, 15:53 Torpeda Цитата(Demeny @ Feb 21 2012, 17:12) Может... Feb 23 2012, 15:20 VslavX У меня на Циклоне 2 был случай - слетала PLL (выхо... Feb 21 2012, 15:20 alevnew Цитата(maksimp @ Feb 20 2012, 22:28) И то... Feb 24 2012, 05:59 Torpeda Цитата(Demeny @ Feb 20 2012, 13:55) ... п... Feb 24 2012, 13:27 dsmv Насчёт Spartan-3:
Первые партии микросхем позволя... Feb 24 2012, 13:41
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|