Делаем платки с EP1C12Q240, парой АЦП, одним ЦАП на борту с 2005 года. Штук 100 уже сделали. Прошивку под свои нужды пишет заказчик. Недавно возвращает этот заказчик одну плату со словами "Тут у нас на этой плате один из режимов не отрабатывает. Все работает, а этот режим нет. Похоже, что неработоспособна та часть архитектуры ПЛИС куда помещается часть прошивки, отвечающей за этот режим."
Взяло меня сомнение - возможно ли такое вообще?
Сталкивался ли кто с таким "умиранием по частям" и как его можно выявить?
DmitryR
Apr 28 2009, 07:04
Вопрос тут недавно обсуждался. ПЛИС проходят полное тестирование на производстве, поэтому неработоспособность ее или ее части может быть только следствием неправильного обращения (перегрева при пайке, воздействия запредельной статики etc.). Пытаться определять в вашем случае IMHO смысла нет: перепаять и забыть.
Boris_TS
Apr 28 2009, 07:06
Цитата(Гяук @ Apr 28 2009, 09:36)

Сталкивался ли кто с таким "умиранием по частям" и как его можно выявить?
Сталкивал со схожей проблемой: при одной из конфигураций системы ПЛИС, при запуске одной из задач сильно (более допустимого) просаживалось питание ядра - соответственно сбои.
Решено было заменой источника питания ПЛИС.
EvgenyNik
Apr 28 2009, 07:16
Если этот режим хоть как-то использует информацию с внешних пинов, которую не используют другие режимы - смотрите что с этими пинами.
Если этот режим увеличивает нагрузку на кристал - используется большое количество переключений и т.п. - смотрите пайку блокировочных конденсаторов. Отсутствие металлизации в некоторых п/о тоже не исключено, а сказывается (при дублировании ими друг друга) как раз при повышении количества ресурсов, работающих на высокой частоте.
Иногда запредельные тайминги (высокие частоты, слишком короткие импульсы) или асинхронный дизайн с гонкой сигналов по комбинаторике приводят к тому , что ряд микросхем из-за технологического разброса работают не так, как планировалось и не так, как большинство других, где совокупность параметров не даёт проявится этим эффектам.
Цитата(DmitryR @ Apr 28 2009, 11:04)

Пытаться определять в вашем случае IMHO смысла нет: перепаять и забыть.
Она под лаком

Кроме того есть другие подозрения - что дизайн у заказчика уж очень асинхронный
Цитата(Boris_TS @ Apr 28 2009, 11:06)

... при запуске одной из задач сильно (более допустимого) просаживалось питание ядра - соответственно сбои.
Питание не просаживается, все стабильно

Цитата(Евгений Николаев @ Apr 28 2009, 11:16)

Если этот режим хоть как-то использует информацию с внешних пинов, которую не используют другие режимы - смотрите что с этими пинами.
А вот это как раз похоже на правду. Будем искать.
один знакомый делился со мной похожей проблемой: всю голову сломал, почему отлаженный дизайн на одной из плисин не пашет. помог ему только чипскоп, выяснилось, что одна какая-то ячейка действительно была битая.
опять же повторяю, история была не со мной, а с одним моим знакомым, но человек он весьма грамотный.
Цитата
Цитата(Евгений Николаев @ Apr 28 2009, 11:16) *
Если этот режим хоть как-то использует информацию с внешних пинов, которую не используют другие режимы - смотрите что с этими пинами.
А вот это как раз похоже на правду. Будем искать.
У меня были случаи при работе с первыми Циклонами, что несколько ножек у микросхем (EP1C6Q240 и EP1C12Q240) оказывались нерабочими, причем не сразу, а через какое-то время. Ножки использовались как выходы, а там висел постоянно высокий уровень. Причины этого дела точно мы не выяснили. Из общего количества около 300 плат такое было на двух платах. Я специально делал пустой тестовый проектик и выводил поделенные такты на эти ножки для проверки.
Цитата(rsv @ Apr 28 2009, 13:33)

один знакомый делился со мной похожей проблемой: всю голову сломал, почему отлаженный дизайн на одной из плисин не пашет. помог ему только чипскоп, выяснилось, что одна какая-то ячейка действительно была битая.
было нечто похожее, но причина была в некачественной пайки земли на бгашном корпусе %)
murmel1
May 1 2009, 08:35
Добавлю свои 5 копеек.
Сам несколько раз неудачно пропаливал входные и выходные буфера на ПЛИСах, от циклона до стратикса 2 GX. После этого микросхема "в целом работает", но мертвый буфер всегда в одном состоянии. Палил и буферы на JTAGе. После этого ничего в ПЛИС залить уже нельзя, хотя она конфигурируется из флешки
Цитата(murmel1 @ May 1 2009, 12:35)

Добавлю свои 5 копеек.
Сам несколько раз неудачно пропаливал входные и выходные буфера на ПЛИСах, от циклона до стратикса 2 GX. После этого микросхема "в целом работает", но мертвый буфер всегда в одном состоянии. Палил и буферы на JTAGе. После этого ничего в ПЛИС залить уже нельзя, хотя она конфигурируется из флешки
Это все из опусов типа: И почему я не держал руки в карманах.
(Товарищ о серии говорил)
у нас был случай что циклончик один не стабильно работал. один блочек дизайна криво работал - ковыряния показали, что регистр, расположеный физически с используемой PLL не хотел переключаться. оказалось что именно та PLL, которая использовалась не корректно работала. выбрали другую PLL и проблема решилась. такой вот баг экземпляра.
Блин, дико извиняюсь, глюк нашел, был банален и я от радости и забеганности даже забыл отписаться.
Прав оказался
Евгений Николаев: банальная закоротка между двумя ногами, скрытая глубоко под корпусом и - вуаля - входной пин не переводится в нужное состояние и не включается по нему соответствующий режим.
Так что всем спасибо за советы и дележ опытом
Для просмотра полной версии этой страницы, пожалуйста,
пройдите по ссылке.