ScorPio
Jun 27 2012, 15:41
Микросхема индустриальная, несколько штук из сильно разных партий. Какие-то перестают включаться на минус 10, какие-то - на минус 20. Stratix 3 рядом чувствует себя замечательно (стартует и работает) и на -40.
После охлаждения и подачи питания:
1) модуль жрёт на ~0.2 А по 5 В меньше положенного
2) ПЛИС через JTAG не видится (сперва JTAG подключался между охлаждением и включением, потом практика показала, что и с ним охлаждать можно)
3) ножку nStatus не отпускает.
Если охлаждать уже включенную ПЛИС - не выключается.
Если работающую ПЛИС охладить и переключить питание - некоторые не запускаются даже при выключении на секунду, некоторые только если секунд на 10 выключить.
Если невключившуюся ПЛИС перестать охлаждать - стартует сама.
Питания ровные и не проседают. На плюсе всё работает нормально.
Куда можно копать, а чем может быть трабла?
seldim
Jun 27 2012, 17:53
В поставщике микросхем уверены?
Возможно проблемы еще с питанием. Может на климатике уходит одно из напряжений питания а в этих плисках вроде супервизор питания стоит. По симптомам похоже.
Охлаждение ПЛИС = охлаждение платы с ПЛИС?
Все питания непосредственно самой ПЛИС на осциллографе смотрели? Уровни, последовательность включения, форма в момент включения. Возможно, один из источников долго включается, пропадает на короткое время, или осциллирует в момент подачи питания на плату.
ScorPio
Jun 27 2012, 20:05
Цитата(seldim @ Jun 27 2012, 21:53)

В поставщике микросхем уверены?
Возможно проблемы еще с питанием. Может на климатике уходит одно из напряжений питания а в этих плисках вроде супервизор питания стоит. По симптомам похоже.
2 совершенно разные партии, закупались с дельтой в пару лет. 100% уверенности конечно нет, ибо барахло все могут подсунуть, но в свою ошибку верится больше, чем в такое совпадение..
Питание смотрел и тестером и осцилом - не проседает и не шумит - специально отметил это..
Цитата(Flood @ Jun 27 2012, 22:39)

Охлаждение ПЛИС = охлаждение платы с ПЛИС?
Все питания непосредственно самой ПЛИС на осциллографе смотрели? Уровни, последовательность включения, форма в момент включения. Возможно, один из источников долго включается, пропадает на короткое время, или осциллирует в момент подачи питания на плату.
Да, в термокамеру весь модуль запихивается, разумеется.
Питание смотрел на кондерах рядом с источником, но там дальше жирные плейны до ПЛИС (на шариках весьма проблематично смотерть")). Момент включения не важен - питания ровные и правильные, а ПЛИС стартует, когда температура доходит до приятной для неё (то есть к этому моменту все питания уже давно полностью установились).
В своё время была похожая трабла с 6м спартаном (тоже на климатике на минусе) - не грузился с флешки - оказались слишком большие резисторы на ножках, задающих откуда грузиться.. Тут же стадия пораньше...
Hoodwin
Jun 27 2012, 20:06
Еще у альтер внутренние weak pull-up, pull-down резисторы имеют довольно значительный разброс по температуре. При низкой температуре сопротивления уменьшаются, так что они могут перетянуть какой-нибудь внешний резистор, поставленный для настройки схемы, ну скажем, MSEL какой-нибудь, включенный через 10КОм, может вывалиться в область неопределенных уровней, выберет какую-нибудь левую схему загрузки и все. Поэтому стоит проверить все важные пины, которые Вы с помощью резисторов внешних (пере)определяли.
У меня была ситуация, когда DSP конфигурировался на шине данных резисторами в 10КОм, и эта шина была подключена к SDRAM и FPGA Cyclone I. Так вот, при комнате внешние pull-down резисторы в 10К не перетягивались внутриплисовскими pull-up-ами в 50-60К, а вот при минусе уже получалось соотношение 10К к 20К. В итоге DSP читал всякие левые настройки и не запускался как надо. После переделки резисторов на 2.4К все стало нормально.
ScorPio
Jun 27 2012, 20:12
Цитата(Hoodwin @ Jun 28 2012, 00:06)

Еще у альтер внутренние weak pull-up, pull-down резисторы имеют довольно значительный разброс по температуре. При низкой температуре сопротивления уменьшаются, так что они могут перетянуть какой-нибудь внешний резистор, поставленный для настройки схемы, ну скажем, MSEL какой-нибудь, включенный через 10КОм, может вывалиться в область неопределенных уровней, выберет какую-нибудь левую схему загрузки и все. Поэтому стоит проверить все важные пины, которые Вы с помощью резисторов внешних (пере)определяли.
У меня была ситуация, когда DSP конфигурировался на шине данных резисторами в 10КОм, и эта шина была подключена к SDRAM и FPGA Cyclone I. Так вот, при комнате внешние pull-down резисторы в 10К не перетягивались внутриплисовскими pull-up-ами в 50-60К, а вот при минусе уже получалось соотношение 10К к 20К. В итоге DSP читал всякие левые настройки и не запускался как надо. После переделки резисторов на 2.4К все стало нормально.
")Да, как раз написал, что на 6м спартане с таким сталкивались. Но тут до стадии конфигурации не доходит - nStatus не отпускает, то есть ощущение, что из POR не может выйти. Резисторы на подобных ножках 10к по доке поставлены - до которых было легко дотянуться мерил уровни - держатся, ПЛИСой не перетягиваются.. Завтра буду добираться до остальных, видимо"(
Hoodwin
Jun 27 2012, 20:20
А на nCE что подано?
Странно, что по JTAG не видится, это явно не попытка загрузки из несуществующего места. По-идее число мест, не дающих JTAG-у работать, должно быть совсем небольшим - их и копать в первую очередь. На ум приходят только питания (но они в норме) и какой-нибудь особо низкоуровневый сброс.
Конечно, можно предположить, что внутри себя ПЛИС неверно оценивает питающие напряжения и держится в POR, но это уж совсем какая-то клиника должна быть.
seldim
Jun 28 2012, 02:11
А плиска индустриальная?
Цитата(seldim @ Jun 27 2012, 21:11)

А плиска индустриальная?
кхм, самая первая фраза, в самом первом посте ТС.
Цитата(ScorPio @ Jun 27 2012, 18:41)

Микросхема индустриальная2) ПЛИС через JTAG не видится (сперва JTAG подключался между охлаждением и включением, потом практика показала, что и с ним охлаждать можно)
3) ножку nStatus не отпускает.
-40 легко проходит любая коммерция FPGA.
рестарт по ошибке включен по умолчанию. Должно крутиться.
Если в программере Auto Detect не отрабатывает, наверно jtag копать.
Посмотрите, подтянут ли TRST.
ScorPio
Jun 28 2012, 08:23
Цитата(Hoodwin @ Jun 28 2012, 00:20)

А на nCE что подано?
nCE через 10к подтянут на землю и там 0 держится,
Цитата(Flood @ Jun 28 2012, 01:37)

На ум приходят только питания (но они в норме)
Аналогично"(
Цитата(sazh @ Jun 28 2012, 10:48)

Посмотрите, подтянут ли TRST.
TRST подтянут по схеме и честные 3.3 держит с обеих сторон резистора..
Soflover
Jun 28 2012, 10:17
Цитата(ScorPio @ Jun 27 2012, 18:41)

Микросхема индустриальная, несколько штук из сильно разных партий. Какие-то перестают включаться на минус 10, какие-то - на минус 20. Stratix 3 рядом чувствует себя замечательно (стартует и работает) и на -40.
После охлаждения и подачи питания:
1) модуль жрёт на ~0.2 А по 5 В меньше положенного
2) ПЛИС через JTAG не видится (сперва JTAG подключался между охлаждением и включением, потом практика показала, что и с ним охлаждать можно)
3) ножку nStatus не отпускает.
Если охлаждать уже включенную ПЛИС - не выключается.
Если работающую ПЛИС охладить и переключить питание - некоторые не запускаются даже при выключении на секунду, некоторые только если секунд на 10 выключить.
Если невключившуюся ПЛИС перестать охлаждать - стартует сама.
Питания ровные и не проседают. На плюсе всё работает нормально.
Куда можно копать, а чем может быть трабла?
Может это просто плохо припаяно? Не пробовали проверять рентгеном или еще как-нибудь?
ScorPio
Jun 28 2012, 15:42
Цитата(Soflover @ Jun 28 2012, 14:17)

Может это просто плохо припаяно? Не пробовали проверять рентгеном или еще как-нибудь?
Паялось опять-таки в разных циклах на разных производствах.. На плюсе проходит тесты того же DDR, подключенного к ней - если бы всё на честном слове висело - там бы от дребезгов ошибки сыпались...
Ощущение, что помогает подъём напряжения банков 3,4,7,8.. От плейна переходные 0.5/0.25, по переходному на ножку, судя по всему..
wolfman
Jun 28 2012, 18:15
ScorPioСлучайно предохранителей нет всхеме?
У нас была фишка на минусе и плюсе предохранитель начинал чудить.
И проверте токи ваши dc-dc выдерживают?
ScorPio
Jun 29 2012, 06:30
Цитата(wolfman @ Jun 28 2012, 22:15)

ScorPioСлучайно предохранителей нет всхеме?
У нас была фишка на минусе и плюсе предохранитель начинал чудить.
И проверте токи ваши dc-dc выдерживают?
Нет, даже перемычек между DC/DC и остальной схемой нет - плейн подключается прямо к ножке DC/DC, вставленной в отверстие.. DC/DC с запасом - с другими прошивками модуль жрёт раза в полтора больше и на плюсе всё работает..
Насчет того, что по мере прогрева ПЛИС стартует: как это происходит?
Питание включается, старта нет, далее простое ожидание на поданном питании, никто ничего не трогает и через N минут включение; или по мере прогрева делается вкл/выкл, ресет и т.п., пока на очередном цикле не включится?
ScorPio
Jun 29 2012, 20:34
Цитата(Flood @ Jun 29 2012, 22:47)

Насчет того, что по мере прогрева ПЛИС стартует: как это происходит?
Питание включается, старта нет, далее простое ожидание на поданном питании, никто ничего не трогает и через N минут включение; или по мере прогрева делается вкл/выкл, ресет и т.п., пока на очередном цикле не включится?
1. Помещаем модуль в термокамеру, подключаем всё необходимое (но питание не подаём), устанавливаем -40 и ждём пока всё остынет и надежно промерзнет.
2. Подаем питание. Видим подозрительно низкое потребление. Убеждаемся, что по JTAGу тишина.
3. "Залазим" в камеру, оперативно проверяем все напряжения (убеждаемся, что они прекрасны).
4. Выключаем питание, перетыкаем JTAG в соседний третий стратикс, питание включаем - убеждаемся в работоспособности JTAGa и также через выключения питания возвращаемся ко второму. Убеждаемся в отсутвии изменений - JTAG ничего не видит.
5. Не выключая напряжения питания:
5.1) Просто ждём минут 10-15, периодически включая-выключая или просто оставляя включенным - ничего не меняется.
5.2) Не выключая питания меняем установку камеры на +. Показания датчика в камере начинают рости и в какой-то момент потребляемый ток прыгает. Контрольный тест по JTAGу показывает, что ПЛИС ожила..
В общем, подняли питание банков 3,4,7,8 с 1.8 до 1.86 (допуск - до 1.89) - работает. Текущая гипотеза - где-то на плате (переходных?) при морозе теряется (измеряем рядом с DC\DC).. По мне - притянуто за уши, но в это больше верится, чем в перемаркированные\полубракованные микросхемы..
Проверять напряжения, "залезая" в камеру, конечно, не особо удобно.
По поводу повышения напряжения питания - соответствует ли "подозрительно низкое потребление" обычному потреблению платы с незапрограммированной ПЛИС? Все ли хорошо с VCCPD?
Если в ПЛИС есть ненагруженные пины с внутренним pullup, реальное питание соответствующего банка косвенно можно измерить на них, сравнив показания в нормальных условиях и на холоде.
В общем, повышение питания IO с 1,8 до 1,86, с учетом того, что ваша ПЛИС должна работать и при 1,5В IO, выглядит неуютным решением.
wolfman
Jun 30 2012, 18:48
Цитата(ScorPio @ Jun 30 2012, 07:04)

3. "Залазим" в камеру, оперативно проверяем все напряжения (убеждаемся, что они прекрасны).
Это не спортивно, что мешает вытянуть провода из камеры?
Аналогично с JTAG.Так результаты будут точнее.
Цитата(ScorPio @ Jun 30 2012, 07:04)

Текущая гипотеза - где-то на плате (переходных?) при морозе теряется (измеряем рядом с DC\DC).. По мне - притянуто за уши, но в это больше верится, чем в перемаркированные\полубракованные микросхемы..
Надо измерять радом с ПЛИС.
ИМХО перемаркированная ревизия (кстати смотрели эрату ?) плис в брак.
Тут давеча под видом новых сыклонов 3 нам продали старые сыклоны 3 древней ревизии. Так вот, они не грузятся (в принципе не грузятся) если в проекте используется больше определенного процента блочков памяти (те которые М4К). Лечиться это ключиком в ква, но при этом времянка памяти проседает процентов на 20 и проект не укладывается во времянки. Так что ....
Перемаркировку, конечно, нельзя исключить, однако я не представляю, из чего их должны были перемаркировать, чтобы добиться блокирующей неработоспособности на -10 и -20 градусов. Обычно коммерческие грейды (которые 0 - +70) при такой температуре живут прекрасно. Разве что какой-то уж очень специальный брак. В проблему схематики или платы верится гораздо легче.
Цитата(Flood @ Jun 30 2012, 14:02)

однако я не представляю, из чего их должны были перемаркировать, чтобы добиться блокирующей неработоспособности на -10 и -20 градусов.
какие нить образцы из установочной партии, пролежали на складе лет 5, а тут видят партия чипов идет и решили ее разбавить этими чипами, накатав новую маркировку %) те сыклоны были 2008 года выпуска, где то лежали 4 года %)
Конечно, в перемаркировку как явление я верю, и даже приходилось с этим сталкиваться - чем старше и дороже чип, тем больше шансов нарваться на предприимчивых китайцев. ПЛИСки с их дикой разницей в цене между медленной коммерцией и быстрыми индастриалами, конечно, лакомый кусок для перемаркировки. Даже странно, что для таких дорогих компонентов разработчики не предусмотрели внесение копии маркировки в OTP.
Однако, неработоспособность именно ПЛИС на легком морозе не встречалась ни разу. На морозе чаще любят подглючивать аналоговые вещи, дурят конденсаторы в источниках питания, уплывают референсные напряжения в DC/DC и т.п.
У нас была партия из 100 штук EPM7128 брак не прошивались 8 из 10, процессоры ADSP2101 не работали так что цифра тоже бывает с душком. Теперь работаем только с официальными представителями.
Shivers
Jul 1 2012, 06:59
По моему опыту, скорее всего плохо пропаяно бга. На минусе у вас непропаянные шарики перестают контачить, происходит недозапитка схемы, и отваливается тот же житаг. Обычно диагностика выглядит так: если житаг не отваливается и питания хватает, гоняется тест boundary scan. Если видим что на минусе отваливаются i/o - микросхему на перепайку.
Есть и другой вариант, что у микросхему не срабатывает POR. На это косвенно указывает работа на повышенном напряжении. Диагностика - посмотрите, пытается ли микросхема считать содержимое флеши при включении на минусе. Или, замораживайте загруженную альтеру (под питанием т.е.), но градусов на 10 ниже.
А вообще, Сергей, заходите, если что. В соседний отдел)
Для просмотра полной версии этой страницы, пожалуйста,
пройдите по ссылке.