Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Проверка работоспособности ПЛИС
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Работаем с ПЛИС, области применения, выбор
Goose
Всем доброго времени суток,

Возникла необходимость понять почему проекты неправильно работают на одних платах, и правильно на других (вообще говоря идентичных)
virtex6,
значит есть проект, отлаженный (проверен на 3 платах с виртекс6vlx195, которые были собраны где-то на заводе)

но ситуация была такая, что вместо 195 виртекса на остальных платах впаяли виртекс6vlx130, и приходится их заменять. в общем решили делать все последовательно по одной. поменяли на одной плате, проект начинает глючить то когда нагревается плис, то когда охлаждается. поменяли еще на одной, другие глюки похожего типа.

(для внутрисхемной отладки использую Identify) тогда я взял и собрал проект без Identify, и вдруг он заработал на одной из двух плат.

может ли быть такое, что у кристалла вышли из строя некоторые блоки, и если их не использовать, то плис работает как надо?

можно ли каким-либо образом проверить (может есть jtag какие то тесты для плис) которые проверят, какие блоки работают,какие нет? чтобы исключить хотя бы брак кристалла?


litv
Удивительно читать. Проект отлажен на одной ПЛИС - поставили другую.
А отладили???
Какие вообще действия за волшебным словом проект - "отлажен".

Отлажен он у нас - мы продаем 200 плат в год - и все работают.
Для плат проводим термо и вибро тренировки.

Те Вы качания температуры и его влияние на быстродействие (причем любой микросхемы) никак со совей деятельностью не связываете??? Только с плохой фирмой xilinx?
Может Вы тайминги не проверяете (или вообще не умеете их задавать).
Проблемы бывают и плохих монтажников БЖА, и в плохих блоках питания и еще в тысяче причин ........

Работать начинайте . Осциллограф, чипскоп (слышали про такое?)

Тестировщики отдельных блоков Xilinx ..... fman.gif
dm.pogrebnoy
Цитата(litv @ Jan 17 2013, 16:57) *
Может Вы тайминги не проверяете


начинать нужно с этого.
Dmitriyspb
Цитата(Goose @ Jan 17 2013, 16:28) *
но ситуация была такая, что вместо 195 виртекса на остальных платах впаяли виртекс6vlx130, и приходится их заменять. в общем решили делать все последовательно по одной. поменяли на одной плате, проект начинает глючить то когда нагревается плис, то когда охлаждается. поменяли еще на одной, другие глюки похожего типа.


Все ошибаются - это можно понять. Но после того как установили другие кристалы на плату (не те что было задумано изначально) думать о том как бы все это заставить работать даже и не стоит!!!!!!!!!!!!!!! Это не профессионально. Пример из жизни:=)) Вы купили автомобиль марки BMW, а на него установлены двери от другого автомобиля, но той же серии,следовательно, двери нормально не закрываются и цветом еще другим будут!!! Так они и не должны закрываться, ведь двери не от этой машины. Вот собственно вы и занимаетесь тем, что пытаетесь подставляя костыли заставить двери закрываться как "родные".=))
Надеюсь пример поможет автору осознать не верный в корне подход!!

Цитата
может ли быть такое, что у кристалла вышли из строя некоторые блоки, и если их не использовать, то плис работает как надо?
можно ли каким-либо образом проверить (может есть jtag какие то тесты для плис) которые проверят, какие блоки работают,какие нет? чтобы исключить хотя бы брак кристалла?


Советую отказаться от этих предположений и заняться тем, что писалось до меня касательно таймингов и констрейнов. А лучше всего заняться тем, что вернуть родной для платы кристал и уже с ним заниматься отладкой - настройкой и т.д. и т.п. Замена ПЛИС будет не дороже затраченых денег на зарплату при отладки платы с левым кристалом.

Удачи! biggrin.gif



Torpeda
Цитата(Goose @ Jan 17 2013, 16:28) *
.... проект начинает глючить то когда нагревается плис, то когда охлаждается. поменяли еще на одной, другие глюки похожего типа....

1) Что такое глюки по Вашему? как вы их увидели и поняли что что-то не так?
2) Прошивка должна быть скомпилена под конкретную ПЛИС. Нельзя менять тип ПЛИС и не перекомпиливать проект.
3) У Вас симуляция с реальными задержками есть?
Из своего опыта скажу - небыло такого чтобы ПЛИС работала не так как на симуляции с задержками. Смысла в "отладке на плате" не вижу.
4) У Вас STA констрейны как заданы? Тайминг виолейшины есть?
5) Может у Вас температура плату коробит и неконтакт пинов выходит?
6) Ну и на счёт тестирования блоков ПЛИС...
Производитель проводит тестирование с ~100% фолт кавереджем всех выпускаемых кристалов.
Убить его можна разве что нарушением технологии монтажа.

Цитата(Dmitriyspb @ Jan 18 2013, 09:22) *
... после того как установили другие кристалы на плату (не те что было задумано изначально) думать о том как бы все это заставить работать даже и не стоит!!!!!!!!!!!!!!! Это не профессионально. .....

Ну....
Если есть правильные STA констрейны и проект перекомпилен без тайминг виолейшинов в другой кристал - не вижу проблем. Это-ж цифра......
Dmitriyspb
Цитата(Torpeda @ Jan 18 2013, 12:06) *
Ну....
Если есть правильные STA констрейны и проект перекомпилен без тайминг виолейшинов в другой кристал - не вижу проблем. Это-ж цифра......


Тогда в спецификации на автомонтаж можно указывать напротив FPGA - "..поставите что-нибудь из семейства Virtex6 в корпусе который подойдеёт.." biggrin.gif biggrin.gif biggrin.gif , а потом развлекаться biggrin.gif
Цитата
Это-ж цифра......
Goose
то что происходило до того как я начал заниматься проектом:
1) платы были разработаны для 195 кристаллов
2) отдел закупок купил китайские перемаркированные 130 кристаллы в том же корпусе
3) платы собрали в какой-то конторе
4) кристаллы так как в том же корпусе распознаются impact'ом и на такой плате я пробовал даже какой-то старый проект запускать ( я же не утверждаю что эта плата должна работать)
5) после этого были куплены уже нормальные 195 чипы, необходимо их припаять
6) завод перепаял на одой плате и оказалось что пол-плисы неприпаяно, решили паять сами (благо есть люди с большим опытом пайка BGA)

естественно я не пытался запустить проект собранный под другую плис=)

я пользуюсь внутрисхемным анализатором и осциллографом и прописываю констрейны.
но только частота всего 10 мгц,
"глюк", о котором я говорю отслеживаю внутрисхемным анализатором: оказывается что в какой-то момент времени (плата нагрелась или наоборот) Ip-ядро FIR-compiler (обычный ких фильтр) начинает работать не свойственно ему.
используется обычная ких реализация фильтра гаусса, так вот сигнал со входа (типичный) который в нормальном режиме сглаживается (как и должен) , становится похож на СИЛЬНО зашумленную синусоиду.

таким образом, получается что при каких-то внешних условиях (t) ip-ядро начинает работать некорректно. может ли это быть монтажная ошибка, если не очень хороший контакт на каком либо пине ( и изменяется с температурой)? или кристалл был перегрет во время пайки (для этого спрашиваю может ли быть такое и как это проверить)?

опять таки на платах спаянных не нами не было обнаружена какого рода ошибка ни разу

проект "отлажен", это значить на рабочих тестах не было обнаружено ни одной ошибки в работе ни при какой смене температур на существенно большом интервале времени.

я только не понял зачем пытаться пристыдить человека) я ж спрашиваю конкретно, есть ли такие средства)

Torpeda
Цитата(Goose @ Jan 18 2013, 13:34) *
естественно я не пытался запустить проект собранный под другую плис=)
я пользуюсь внутрисхемным анализатором и осциллографом и прописываю констрейны.
но только частота всего 10 мгц,

"глюк", о котором я говорю отслеживаю внутрисхемным анализатором: оказывается что в какой-то момент времени (плата нагрелась или наоборот) Ip-ядро FIR-compiler (обычный ких фильтр) начинает работать не свойственно ему.

проект "отлажен", это значить на рабочих тестах не было обнаружено ни одной ошибки в работе ни при какой смене температур на существенно большом интервале времени.


ОК
исходные данные поняты так:
1) Проект перекомпилен с правильными STA констрейнами без виолейшинов для впаянной FPGA в BGA корпусе. Так?
(Кста. понижение частоты хоть до 1Гц не спасает от тайминг виолейшинов если они есть.)
2) внутрисхемный эмулятор видит что на температуре цифра начинает функционировать по доругому. Так?

Воможные причины:
3) Учитывая сложную логистику пайки BGA sm.gif подозреваю что отваливается часть пинов питания, а значит цифра работать коррестно не может.
Рентгеном качество пайки проверяли? Ну или boundary scan тестом может контакт проверили (Хотя по питанию не выйдет) ?
4) Проверить 100% внутреннюю структуру ПЛИС может только производитель...
Но...
Можно косвенно, пытаясь прошить какой-то проект что занимает 100% площади и его работоспособность оценить внешним тестером... при этом тест кавередж - неизвестен.
Можно в конкретно вашу цифровую схему встроить тестовые структуры как в ASIC, сгенерить ATPG (если умеете) и прогонять их при производстве....При этом вы получите хоть какуюто гарантию соответствия кристала нетлисту...

Вопрос:
5) Повторюсь, проект в симуляции тоже отлажен? Особенно с реальными задержками?
yuri_d
Если у Вас перемаркированные кристаллы, то дальше и думать не о чем.

Не приходила ли в голову мысть почему они перемаркированы? Полагаю, что эти кристаллы не прошли выходной контроль (говоря по другому неисправны), далее предприимчивые китайцы взяли из с помойки и поместили в корпус с тем же количеством выводов. Ну а на самом корпусе могут написать чего угодно.

Вам нужно вернуть ПЛИС на фирму, где их купили и потребовать компенсировать затраты на монтаж/демонтаж. После этого поставить нормальные кристаллы и далее пробовать.
Dmitriyspb
Цитата(Goose @ Jan 18 2013, 13:34) *
я только не понял зачем пытаться пристыдить человека) я ж спрашиваю конкретно, есть ли такие средства)

Все нормально!

Думаю тут лучше первым делом убедиться на 100% в том что кристал установлен именно так как это должно быть! Для этого есть ренген.
Самим устанавливать BGA корпуса можно, но лучше не стоит. А потом уже ковырять проект.

Как-то там хитро там у вас всё=)) Китайские кристалы, брак при установки корпусов....
bogaev_roman
Цитата(Goose @ Jan 18 2013, 13:34) *
я пользуюсь внутрисхемным анализатором и осциллографом и прописываю констрейны.
но только частота всего 10 мгц,
"глюк"...

Если Вы описываете правильно все констрейны и временных ошибок нет и при этом мощность и питание рассчитано верно (и на тестах все работает), то дело в самих плисинах. А описанная Вами ситуация очень похожа на то, что временные ошибки все-таки есть (и низкая частота в 10МГц ни о чем не говорит) или напряжение ниже, чем требуется.
Torpeda
Цитата(Dmitriyspb @ Jan 18 2013, 12:24) *
Тогда в спецификации на автомонтаж можно указывать напротив FPGA - "..поставите что-нибудь из семейства Virtex6 в корпусе который подойдеёт.." biggrin.gif biggrin.gif biggrin.gif , а потом развлекаться biggrin.gif


А как-же IP коры на Verilog напр. писанные в разных ПЛИС (заранее неизвестных) работают? Что смущает-то?
Flood
С одной стороны, топикстартер перегружает тему лишними данными, с другой - комментаторы отвечают, не разобравшись в получившейся каше.

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

С другой стороны - всего 3 экземпляра рабочих плат еще не показатель работоспособности проекта. Особенно если ПЛИС на них из одной партии, а на не рабочих платах - из другой.

Вопрос в сторону: правильно ли я понял, что у Вас были 130-ые, перемаркированные в 195 (иначе не понятна логика закупщика)? Как увидели перемаркирование?

Насчет битых кристаллов, по-моему, ухудшение временных характеристик не свойственно перегретым кристаллам. Из наиболее явных изменений у подбитого чипа должно наблюдаться изменение потребляемого тока.
polyakovav
Был похожий случай со спартанами, когда подняли тактовую. Потребление изменилось, и на некоторых платах источники питания ядра перешли в пакетный режим - выросли пульсации до 0.2В при нормальном среднем. Поведение было почти такое же - на шине данных битый синус sm.gif
Goose
Цитата(Torpeda @ Jan 18 2013, 11:06) *
1) Что такое глюки по Вашему? как вы их увидели и поняли что что-то не так?
2) Прошивка должна быть скомпилена под конкретную ПЛИС. Нельзя менять тип ПЛИС и не перекомпиливать проект.
3) У Вас симуляция с реальными задержками есть?
Из своего опыта скажу - небыло такого чтобы ПЛИС работала не так как на симуляции с задержками. Смысла в "отладке на плате" не вижу.
4) У Вас STA констрейны как заданы? Тайминг виолейшины есть?
5) Может у Вас температура плату коробит и неконтакт пинов выходит?
6) Ну и на счёт тестирования блоков ПЛИС...
Производитель проводит тестирование с ~100% фолт кавереджем всех выпускаемых кристалов.
Убить его можна разве что нарушением технологии монтажа.


Ну....
Если есть правильные STA констрейны и проект перекомпилен без тайминг виолейшинов в другой кристал - не вижу проблем. Это-ж цифра......



смотрите, про перемаркированные кристаллы речь не идет, на них я почти ничего не делал, всмысле этого проекта (не собирал ни разу для них ничего, просто сказал о них, чтобы объяснить почему мы перепаиваем кристаллы, а платы разработаны именно для 195-х), поэтому тип кристалла я нигде не меняю, а с самого начала собираю под 195.

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

а глюк был конкретно такой (правда уже писал) что FIR корка с типичными входными воздействиями выдает совершенно некорректные выходные. причем это появляется в случайные моменты (например, может работать несколько часов без сбоев, но при перезапуске может быстро выдать ошибки) на неработающей плате. соответственно на других платах ни разу такого не наблюдалось.

насчет временных констрейнов, можете сказать где почитать ? потому что я задаю период основного клока и честно говоря не понимаю на какие сигналы надо накладывать временные ограничения на такой скорости.

в пайке с большой вероятностью все в порядке, так как уже и кристалл после этого снимали, смотрели, все шарики как один пропаяны. седня еще на рентген отнесем.

в общем прошу помощи по STA констрейнам.

еще такой вопрос, когда проводится моделирование с реальными задержками, то нужно пытаться сравнить вэйвформы и из этого исходить в выставлении STA-констрейнов?

кстати начисто сожженная плиса, может распознаваться Boundary Scan'ом - замечательное зрелище) и даже шьется как то)


Цитата(Flood @ Jan 18 2013, 19:56) *
С одной стороны, топикстартер перегружает тему лишними данными, с другой - комментаторы отвечают, не разобравшись в получившейся каше.

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

С другой стороны - всего 3 экземпляра рабочих плат еще не показатель работоспособности проекта. Особенно если ПЛИС на них из одной партии, а на не рабочих платах - из другой.

Вопрос в сторону: правильно ли я понял, что у Вас были 130-ые, перемаркированные в 195 (иначе не понятна логика закупщика)? Как увидели перемаркирование?

Насчет битых кристаллов, по-моему, ухудшение временных характеристик не свойственно перегретым кристаллам. Из наиболее явных изменений у подбитого чипа должно наблюдаться изменение потребляемого тока.


согласен, я плохо описал тему, стараюсь исправиться)

правильно поняли насчет перемаркировки. увидели перемаркированные Impact'ом.

еще вопрос: до какой температуры надо нагреть чип при пайке (по даташиту 220 градусов), чтобы в нем что-то отгорело или попортилось?
Dmitriyspb
Цитата(Torpeda @ Jan 18 2013, 19:47) *
А как-же IP коры на Verilog напр. писанные в разных ПЛИС (заранее неизвестных) работают? Что смущает-то?


Причем тут IP коры?

А если о них говорить, то блоки созданные по средствам IP генератора в САПРе ISE ПЛИС ф. Xilinx компилируются далеко не под всеми семействами ПЛИС.

Цитата(Goose @ Jan 23 2013, 09:40) *
еще вопрос: до какой температуры надо нагреть чип при пайке (по даташиту 220 градусов), чтобы в нем что-то отгорело или попортилось?


Я совсем не против тех вопросов, которые вы задаёте, НОООО в чём их смысл??????????????????????? biggrin.gif Вы же сами в тех. описании нашли температуру 220 град.

Цитата
чтобы в нем что-то отгорело или попортилось?


Это как? Отгорело и попортилось=))))))))))))))))))))))))))))) Что вам эта температура поможет преодолеть?=)

P.S. В будущем лучше разрабатывать платы как пишется в книжках или хотябы стараться сделать это похоже. Множество вопросов отойдёт. И старайтесь покупать кристаллы у официальных дистребюйторов актуальные семейства на момент покупки.
Torpeda
Цитата(Goose @ Jan 23 2013, 09:40) *
Я задаю период основного клока и честно говоря не понимаю на какие сигналы надо накладывать временные ограничения на такой скорости.
в пайке с большой вероятностью все в порядке...
в общем прошу помощи по STA констрейнам.

1) Если Вы 100% уверены в контактах BGA, особенно питания и клока то характер вашего сбоя всётаки очень похож на тайминг виолейшины.
...иначе правильно часами оно-бы врядли работало с плохой пайкой.

2) Если вы задали только максимальную частоту, то скажите какой источник клока вы используете?
Какая его номинальная частота, скважность, розбросс частоты при изменении температуры+питания? Наихудшая комбинация этих факторов соответствует тому что вы задали?
3) Как Вы задавали розброс напряжения питания и диапазон температур при компиляции проекта?
Эти диапазоны соответствуют вашим реальным условиям? В.т.ч гарантирует ли вам это источник питания? Проверили это?

Ну и по STA ....
4) Задание максимального клока в принципе неявно для пользователя задаёт самые жесткие требования по таймингам.
Если при этом никаких тайминг эроров нет, то должно всё быть ОК.
5) Проблемы с таймингами могут возникнуть если у вас не чисто синхронный дизайн....
- сколько у вас клоковых доменов (источников клока)?
- как внешние сигналы вы привязываете к внутреннему клоку?
- если вы работаете с интерфейсом (аля паралельный порт), то как вы привязываете его сигналы к внутреннему клоку, и учитываете ли вы задержки что при этом возникают?
6) ну и почитать:
http://www.altera.com/literature/hb/qts/qt...&WT.oss=STA
Советую сразу учится правильно, и задавать STA констрейны в SDC формате.

Dmitriyspb
Цитата(Torpeda @ Jan 23 2013, 11:54) *
6) ну и почитать:
http://www.altera.com/literature/hb/qts/qt...&WT.oss=STA
Советую сразу учится правильно, и задавать STA констрейны в SDC формате.


технология Virtex ф. Xilinx
Torpeda
Цитата(Dmitriyspb @ Jan 23 2013, 14:32) *
технология Virtex ф. Xilinx

А что, STA в Альтере от Virtex ф. Xilinx принципиально отличается особенно в плане задания констрейнов в SDC формате?
Dmitriyspb
Цитата(Torpeda @ Jan 23 2013, 16:41) *
А что, STA в Альтере от Virtex ф. Xilinx принципиально отличается особенно в плане задания констрейнов в SDC формате?


Принципиальных отличий не нужно.....досточно просто отличий cool.gif
Torpeda
Цитата(Dmitriyspb @ Jan 23 2013, 17:33) *
Принципиальных отличий не нужно.....досточно просто отличий B)

А пример SDC тайминг констрейна в Ксайлинксе и Альтере привести можете?
ну в котором видно это простое отличие?
Flood
Цитата(Goose @ Jan 23 2013, 09:40) *
а глюк был конкретно такой (правда уже писал) что FIR корка с типичными входными воздействиями выдает совершенно некорректные выходные. причем это появляется в случайные моменты (например, может работать несколько часов без сбоев, но при перезапуске может быстро выдать ошибки) на неработающей плате. соответственно на других платах ни разу такого не наблюдалось.


А ПЛИС использует какие-нибудь внешние (синхронные) интерфейсы или переходы клоков внутри проекта?
Например, может ли быть такое, что от включения к включению фазы разных тактовых частот встают друг относительно друга в случайном положении?

Цитата(Goose @ Jan 23 2013, 09:40) *
правильно поняли насчет перемаркировки. увидели перемаркированные Impact'ом.


Прикольно sm.gif Нет случаем качественных фотографий перемаркированных чипов? Маркировка идеальная, или видно китайщину?


Цитата(Goose @ Jan 23 2013, 09:40) *
еще вопрос: до какой температуры надо нагреть чип при пайке (по даташиту 220 градусов), чтобы в нем что-то отгорело или попортилось?


http://www.xilinx.com/support/documentatio...tes/xapp427.pdf

Кроме того, если по каким-то причинам приходится использовать бушные кристаллы, реболл и повторную пайку при возможности лучше делать по свинцовой технологии. Гораздо больше шансов сохранить чип в добром здравии, особенно при ручной пайке.
Goose
Проблема решилась!=)

Сначала обнаружили, что плис начинает ловить глюк с неправильной работой корки ких-фильтра не только сама в случайные моменты, но и когда дотрагиваешься пальцем до конденсаторов висящих на ее цепях, начали искать конкретные кондеры на каких это дело случается, оказалось, что это разделительные конденсаторы в цепи основного клока (и единственного в проекте), то есть при касании видимо плиса получала некоторую помеху на клоке и больше не возвращалась в рабочий режим ( рабочий всмысле именно ip-ядра не начинали больше работать правильно), цепь клока LVDS, начал проверять как я его обрабатываю и в глобальном буфере диф клока не был указан необходимый согласующий резистор (терминатор), а внешнего на плате нет. После выставления параметра DIFF_TERM в TRUE касание пальцев прекратило влиять на зависания и они исчезли и в случайные моменты.

Всем большое спасибо!

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

про STA констрейны буду читать.



По перемаркированным кристаллам, опустили в ацетон, и верхний слой краски сошел, и под надписью vlx195 обнаружилась vlx130=)
Flood
Шикарное фото! Они их что, покрасили серебряной краской? biggrin.gif
А вообще, цель такой перемаркировки мне не понятна. Неужели так много выиграли на разнице между реальными 130 и поддельными 195?
drum1987
Ну бегло по efind килобакс разница между нимиsm.gifкраска под металл...так сразу и не поймешь, разве что ногтем если царапать, то чувствуется что мягкая
Flood
Цитата(drum1987 @ Jan 27 2013, 15:39) *
так сразу и не поймешь, разве что ногтем если царапать, то чувствуется что мягкая


И вам тоже такие попадались?
Надо же, не зря Xilinx на лазерную маркировку перешли. Хотя, если надо будет, китайцы и от нее средство найдут.
drum1987
Мы в одной конторе работаем...я эти микросхемы и пересаживал. В пятницу делали рентген 3х рандомно выбранных плат, и чел сказал что все отлично село, так что Goose не в том глазу бревно искал twak.gif
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.