Pull to refresh

Comments 22

1. После переразводки платы «неисправные» ПЛИСы были перепаяны на новую плату? Нельзя исключать то, что всё могло заработать и ПЛИСы не были убиты/неисправны и т.д.

2. Такое ощущение, что у вас SRAM память конфигурации бьётся в процессе работы. Уверен, вы в курсе, что такое SEU (Single event upset), но заряжённая частица из космоса — не ваш случай. Тем не менее в 7-ой серии Xilinx есть внутренний контроллер Soft Error Mitigation Controller, который следит за контрольной суммой конфигурационной SRAM в процессе работы ПЛИС. Было бы очень интересно на проблемной плате вставить этот блок в дизайн и проследить за его поведением. Если проблема в изменении памяти SRAM, то он это отловит. Если инвертируется битик конфигурации, отвечающий за таблицу истиности LUT, получится логический сбой, то же самое и со всем остальным.

3. Вы уверены, что мощности источника питания VCCINT и VCCBRAM хватает на всех режимах работы? Пиковое потребление может быть и выше озвученных 15А в переходных режимах. Чтобы это отловить нужен чувствительный токовый пробник, а не медленный амперметр.
UFO just landed and posted this here
Согласен. Хотя иногда сложные проблемы имеют простые, легкие для понимания неправильные решения:)
1. Неисправные ПЛИС больше не использовались.
2. Это интересно, сказать честно, я не знал о возможности контролировать состояние SRAM, в которой хранится конфигурация. Этот проект завершен, но в будущих проектах возможно это будет полезно. Спасибо.
3. Питание было проконтролировано осциллографом и проблем замечено не было, думается что этого достаточно. К тому же, характер повреждений такой, что после повреждения уже ничего не восстанавливается. А в описанном случае скорее всего случались бы ошибки одноразовые и восстанавливающиеся.
А как измеряется температура кристалла?
Только внутренним встроенным датчиком через чипскоп.
Очень интересно, особенно про тестирование SLICE и BRAM
Изучение схемы показало, что на пин M12 VCCADC подается питание 3.3 В. Это нарушает предельно допустимые значения для кристалла, которое составляет для этого пина 2.0 В, номинал 1.8 В. Необходимо либо переразвести плату и подключить этот пин к 1.8 В, либо уменьшить питание 3.3 В до 1.8 В. Но тогда требуется переключить сигнал CFGBVS_0 подключить на GND. Также это может изменить другие режимы, поэтому, кажется, лучше переразвести.

Хм. Действительно, вы подали в 2 раза большее напряжение на пин. Возникает вопрос: почему вы после этого продолжили искать другие ошибки и тестировать память? Часто ли у вас такие вот грубые нарушения рекомендуемых условий эксплуатации, что называтеся, «прокатывают»? Спрашиваю не троллинга ради, мне действительно интересно, насколько свято надо бдить графу max в Voltage characteristics
Я не являюсь разработчиком схемы, меня попросили как эксперта найти и исправить проблему. Изначально правильность схемы считалась фактом, поэтому я начал не с этого. Самое на мой взгляд интересное тут, вот что: Вот Вы часто наблюдали, как ведут себя FPGA с неправильным питанием? Я впервые. На моей практике FPGA одни из самых надежных компонентов и выходят из строя в последнюю очередь. И то, что выходят из строя компоненты FPGA вокруг места с неправильным питанием для меня удивительно и очень интересно. Когда я понял, что питание неправильное, как раз и стало интересно проверить, что именно внутри не работает. А как проверить, если просто не работает и все. FPGA не имеет дисплея, не может сама сообщить, где проблема. Получилось интересное исследование.
Исследование, конечно, интересное. Даже иногда завидно, что у людей хватает времени и внимания довести такое исследование до конца. Большое спасибо за статью.
Это зависит от того, какие транзисторы стоят в схеме в уязвимом месте. Типовые напряжения, на которые рассчитываются транзисторы разных типов, содержащиеся в кристалле — это 1.2, 1.8, 3.3, 5 В. При этом запас по напряжению обычно не очень большой. Например, для семейства техпроцессов 180 нм одной из популярных фабрик на транзисторы, имеющие номинальное питание 1.8 В, запрещено подавать больше, чем 1.98 В (+10%), в противном случае фабрика не гарантирует ресурс микросхем. Опыт говорит, что на коротких дистанциях такие транзисторы пробиваются где-то на 2.5 В, не позже. И чипов я на испытаниях пожег довольно много, в том числе выясняя, при каких напряжениях и посему именно они ломаются.
Так как проблем на длинных временах работы вы тоже скорее всего не хотите, то могу, как разработчик микросхем, порекомендовать вам бдить цифры, записанные в absolute maximum ratings, максимально свято.
С другой стороны, схемы ввода-вывода, рассчитанные на питание 3.3 В, часто делают на пятивольтовых транзисторах, и там бывает можно подать побольше без вреда для транзисторов. Но так как пользователь не может знать, как именно устроен чип, смотрите рекомендацию выше.
Что-то у меня такие статьи вызывают только скепсис.
Что значит поиск «внутренних деффектов ПЛИС»? Какие еще такие деффекты?
Далее по статье читаю, что схема платы имела деффект по питанию — и что это? Разве это деффект ПЛИС?
Думаю ксилинкс на вас может в суд подать за нанесение урона имиджу.
Да вроде всё логично — схемотехнические ошибки привели к возникновению дефекта внутри ПЛИС и автор статьи выяснил, какой именно дефект появился.
Ну так статью тогда назвать «Поиск деффектов платы с ПЛИС».
Все очень просто, первый сезон был действительно про дефект в плис. А тут меня пригласили как эксперта найти в чем дело. Плисы уже дефектные, нужно было выяснить постфактум, что произошло. Это как исследование катастроф.
ПЛИСы не были дефектными ни в какой момент времени, они работали точно так, как должны были. Дефектными были разработчики платы, которые подали на микросхемы недопустимое напряжение и спалили их. Срок службы 2-3 недели вместо 15 лет — это типичная картина пробоя подзатворного диэлектрика при длительном перенапряжении.
Не ошибается тот кто ничего не делает.
Это, разумеется, так. Но валить вину с больной головы разработчиков, допустивших ошибку, на здоровую голову производителя микросхемы — это неправильно.
Не обязательно все читали «первый сезон». IMHO, вам имеет смысл превозмочь себя, и добавить в начало этой статьи несколько человеческих слов, а не начинать как бы минуту назад прерванный разговор узких специалистов.
Спасибо. Вы правы. Действительно каждый пост должен быть законченным и независимым. Учту это в будущем.

Хмм, интересно. У нас были подозрения на неисправную память BRAM в Virtex-7, но Xilinx нам сказали — либо ПЛИС работает, либо нет. На этом мы успокоились и по-моему в конце концов нашли причину в неправильно подключенном клоке где-то в прошивке.


А Вы можете поделиться исходниками тестов BRAM — насколько с помощью них делать прошивки и легко ли портируются они под другие чипы?

Конечно, для этого и пишу. В тексте есть две ссылки на проекты для SLICE и для BRAM, написанные в Vivado на VHDL.
Sign up to leave a comment.

Articles