реклама на сайте
подробности

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> странный сбой, сбой данных в триггере
spashok2
сообщение Jan 8 2008, 16:16
Сообщение #1


Участник
*

Группа: Новичок
Сообщений: 23
Регистрация: 7-02-05
Пользователь №: 2 475



Подскажите пожалуйста, если кто сталкивался вот с каким вопросом.
Разработал устройство на Spartan 2 достаточно долгое время оно корерктно работало.
Некоторое время назад заказчик поменял завод, где он заказывает печатные платы.
Так вот на этих новых платах устройство стало работать со сбоями.
Сбой смешной - сбоит 1 бит на 256 кб.

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

Суть устройства - сбор данных с PCI шины.

Начал изучать причину сбой, устаносил что данные бьются в одном из триггеров.
Я поставил компаратор на входе и выходе триггера и передаю в устройство заданный шаблон и смотрю на оссциллографе. Так вот на входе триггера данные корректны - на выходе нет. Бьется один из битов!

Заполненоость кристалла 99%. Установил требуемые констейны, при разводке получаю сообщение что они не выполнены. От требуемых отличаются более чем в 2,5 раза. Плюс тригер с которого данне идут на триггер, где и наблюдается сбой, тактирован второй частотой, которая заведена НЕ через GCLK.

Это все конечно ошибки и достаточно грубые. Про метастабильность я знаю.
Но ведь данные бьются в тригере на входе которого они корректные задолго до момента защелкивания. Я все никак не могу понять причину этого. Как такое может быть.

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

Вот такой интересный момент - новая печатная плата - значительно качественней предыдущей.

Если кто-то может что-то подсказать по этому поводу, буду очень признателен.
Go to the top of the page
 
+Quote Post
litv
сообщение Jan 9 2008, 05:32
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 401
Регистрация: 6-10-04
Из: Воронеж
Пользователь №: 806



Делают же люди платы да еще PCI! Такое часто бывало даже у тех у кого ВСЕ констрейны выполнялись, и один клок у тактового. У Вас все еще хуже. Вообще дело мертвое. Надо переходить например на Sparatan 3e. Правильно делать тактовые входы.
Теперь два пути .
1) размещать этот триггер во Flooplаnner пока не заработает.
2) ставить констрейны только на цепи окружающие этот триггер.
3) Попробовать синтез в Synplify Pro - это если все делали раньше в XST.
Go to the top of the page
 
+Quote Post
andrew_b
сообщение Jan 9 2008, 06:10
Сообщение #3


Профессионал
*****

Группа: Свой
Сообщений: 1 975
Регистрация: 30-12-04
Из: Воронеж
Пользователь №: 1 757



Цитата(spashok2 @ Jan 8 2008, 19:16) *
Плюс тригер с которого данне идут на триггер, где и наблюдается сбой, тактирован второй частотой, которая заведена НЕ через GCLK.
Если этот сигнал пропущен через тактовый буфер, то скорее всего дело не в этом.
Go to the top of the page
 
+Quote Post
EvgenyNik
сообщение Jan 9 2008, 07:14
Сообщение #4


Знающий
****

Группа: Свой
Сообщений: 597
Регистрация: 24-05-06
Из: г. Чебоксары
Пользователь №: 17 402



Ставлю на:
Изменилось волновое сопротивление (производитель плат другой) в цепях тактирования и в сигнале клока появилась "колебанка", которая иногда воспринимается, как двойной фронт.
У Вас и без того потеря времени, как я понимаю, но попробуйте логикой запретить триггеру защёлкиваться через малое время после предыдущего защёлкивания.


--------------------
Почему разработчики систем повышенной надёжности плохо справляются с простыми проектами? :)
Go to the top of the page
 
+Quote Post
mse
сообщение Jan 9 2008, 07:43
Сообщение #5


Знающий
****

Группа: Свой
Сообщений: 709
Регистрация: 3-05-05
Пользователь №: 4 693



Не понял...Изменился производитель или топология? Если топология, то пусть тупо копируют эталонную и не парятся, бо лучшее - враг хорошего. А вот если поменяли Резонит на Тепро, например, то тут точно, надо в консерватории менять чего-нить. ;О)
Go to the top of the page
 
+Quote Post
spashok2
сообщение Jan 9 2008, 08:57
Сообщение #6


Участник
*

Группа: Новичок
Сообщений: 23
Регистрация: 7-02-05
Пользователь №: 2 475



Изменился только производитель. Топология осталась та же.
Т.е. визуально платы - точные копии.
Элементы точно ни при чем, т.к. полностью менял.
Кстати spartanы тоже менял, т.к. предположил что дело в бракованной серии.
Перейти на spatan 3e нет возможности, т.к. заказчик уже закупил достаточно большое число spartan 2 для этого изделия. Новых плат тоже около 1000. Т.е. надо как-то решить вопрос в рамках существующих условий.
Я просто не могу понять ЧТО может быть причиной такого поведения.
Я думал помехи, но используются 99% IO остальные - посажены на землю.
В общем пока еще проблема не решена, в данный момент пробую Ваши предложения (Большое спасибо за них).
Go to the top of the page
 
+Quote Post
AsJohnAs
сообщение Jan 9 2008, 09:09
Сообщение #7


Частый гость
**

Группа: Свой
Сообщений: 125
Регистрация: 14-07-05
Из: Санкт-Петербург
Пользователь №: 6 793



Ну может дейстивительно попробывать переместить этот сигнал на другой тригер... (в UCF с помощью LOC) Или еще один вариант если как было сказано сигнал меняется не очень быстро указать в UCF что эта нога медленная.
Вообщем тут надо долго эксперементировать....
Go to the top of the page
 
+Quote Post
spashok2
сообщение Jan 9 2008, 09:18
Сообщение #8


Участник
*

Группа: Новичок
Сообщений: 23
Регистрация: 7-02-05
Пользователь №: 2 475



Я тут для эксперимента вторую тактовую (ну которая через обычный порт заведена) завел через свободный тактовый вход. А сам проект не трогал. Только вывод переназничил.
Вероятность возникновения ошибки уменьшилась значительно.
Стала 1 бит на 150 Гб!!! Но ошибка не исчезла.
Т.е. вот это некореркное тактирование очень сильно влияет.
Но беда в том, что изменять топологию платы нельзя.
Буду экпериментировать с тем, что есть.
Go to the top of the page
 
+Quote Post
EvgenyNik
сообщение Jan 9 2008, 10:22
Сообщение #9


Знающий
****

Группа: Свой
Сообщений: 597
Регистрация: 24-05-06
Из: г. Чебоксары
Пользователь №: 17 402



Цитата
Изменился только производитель. Топология осталась та же.

Значит в той топологии уже что-то было на грани, а сейчас по микронам эта грань преодолелась.


--------------------
Почему разработчики систем повышенной надёжности плохо справляются с простыми проектами? :)
Go to the top of the page
 
+Quote Post
DmitryR
сообщение Jan 9 2008, 11:29
Сообщение #10


Профессионал
*****

Группа: Свой
Сообщений: 1 535
Регистрация: 20-02-05
Из: Siegen
Пользователь №: 2 770



Цитата(spashok2 @ Jan 9 2008, 11:57) *
Я просто не могу понять ЧТО может быть причиной такого поведения.

Причин может быть масса. Для того и придуманы правила дизайна, чтобы таких гемморов не случалось.
Теперь что делать: обобщим мысль предыдущего оратора.
Берем разводку ПЛИС, что на старой плате работает, а на новой - нет. Ставим старые детали на новую плату, рядом кладем старую плату, подаем одинаковые воздействия и поножечно сравниваем сигналы на ПЛИС. Находим различия, от них пляшем.
Go to the top of the page
 
+Quote Post
LeonY
сообщение Jan 9 2008, 11:57
Сообщение #11


Знающий
****

Группа: Админы
Сообщений: 689
Регистрация: 24-06-04
Из: South Africa
Пользователь №: 164



Цитата(DmitryR @ Jan 9 2008, 13:29) *
Причин может быть масса. Для того и придуманы правила дизайна, чтобы таких гемморов не случалось.
Теперь что делать: обобщим мысль предыдущего оратора.
Берем разводку ПЛИС, что на старой плате работает, а на новой - нет. Ставим старые детали на новую плату, рядом кладем старую плату, подаем одинаковые воздействия и поножечно сравниваем сигналы на ПЛИС. Находим различия, от них пляшем.

Попробовать можно, но гарантии результатов - никакой. В таких ситуациях почти ничего предсказать нельзя. К примеру совет "и поножечно сравниваем сигналы на ПЛИС" при тыканьи осцилографом может иметь 2 эффекта и оба отрицательных: 1) "старая-работающая" плата может перестать работать; 2) "новая-неработающая" плата заработает;

С эффектом, аналогичным второму недавно столкнулся - отлаживали NIOS софт для SPI. При отладке, ессесно, подоткнули логический анализатор. Все успешно отладили, отключили анализатор - все умерло. Тыкаешь осцилографом (благо ножек мало) - пашет, убираешь - мертвое. Одно только выявили - чего-то неправильно на сигнале даннах от памяти к FPGA. Стали играться - вешать конденсаторы (не помогло), PullUp (не помогло), а вот PullDown - помогло. Как PullDown может имитировать осцилограф - не понимаю, но работает crying.gif


--------------------
"В мире есть две бесконечные вещи: Вселенная и человеческая глупость. За Вселенную, впрочем, поручиться не могу". (С)

А. Эйнштейн.
Go to the top of the page
 
+Quote Post
mse
сообщение Jan 9 2008, 12:20
Сообщение #12


Знающий
****

Группа: Свой
Сообщений: 709
Регистрация: 3-05-05
Пользователь №: 4 693



Ну, блин...Попробуй наоборот, добиться неработоспособности, тыкаясь в разные места. Мож это как-то поможет определиться?
И этта...был случай - сваяли образец. Испытали, всё путём. Готовим ещё - швах. Оказалось, что пользовали электролиты одного производителя, а потом - другого. Оказалось, что у первого обычные электролиты имели характеристики, близкие к low ESR. А у второго - честные обычные. Хотя что там Кетай, что там. ;О)
Go to the top of the page
 
+Quote Post
spashok2
сообщение Jan 9 2008, 12:29
Сообщение #13


Участник
*

Группа: Новичок
Сообщений: 23
Регистрация: 7-02-05
Пользователь №: 2 475



Большое спасибо за такое количество советов. Еще поизучаю проблему.
Будут новые данные - напишу.
Go to the top of the page
 
+Quote Post
sazh
сообщение Jan 9 2008, 12:57
Сообщение #14


Гуру
******

Группа: Свой
Сообщений: 2 435
Регистрация: 6-10-04
Из: Петербург
Пользователь №: 804



Цитата(spashok2 @ Jan 8 2008, 19:16) *
Суть устройства - сбор данных с PCI шины.

Начал изучать причину сбой, устаносил что данные бьются в одном из триггеров.
Я поставил компаратор на входе и выходе триггера и передаю в устройство заданный шаблон и смотрю на оссциллографе. Так вот на входе триггера данные корректны - на выходе нет. Бьется один из битов!

Заполненоость кристалла 99%. Установил требуемые констейны, при разводке получаю сообщение что они не выполнены. От требуемых отличаются более чем в 2,5 раза. Плюс тригер с которого данне идут на триггер, где и наблюдается сбой, тактирован второй частотой, которая заведена НЕ через GCLK.

Это все конечно ошибки и достаточно грубые. Про метастабильность я знаю.
Но ведь данные бьются в тригере на входе которого они корректные задолго до момента защелкивания. Я все никак не могу понять причину этого. Как такое может быть.

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

Вот такой интересный момент - новая печатная плата - значительно качественней предыдущей.

Если кто-то может что-то подсказать по этому поводу, буду очень признателен.


Так ведь это ни о чем не говорит.
Какие частоты. констрейны чего. В мегагерцах или наносекундах. Какова разрядность регистра.
Почему сбоит один бит этого регистра.
Почему от разводки зависит. (Если клок на входе не коротит в новой плате)
Приведите описания этой части схемы.
Go to the top of the page
 
+Quote Post
spashok2
сообщение Jan 9 2008, 14:29
Сообщение #15


Участник
*

Группа: Новичок
Сообщений: 23
Регистрация: 7-02-05
Пользователь №: 2 475



Первая чатота 70 Мг. Вторая 33Мгц.
Констейн задан общий в виде 70 Мгц (соответвует ~14 нс). После разводки получил сообщение что реальное значние ~ 28нс.
Регистр 32 разряда.
Почему сбоит один бит - это и есть суть вопроса.
Мое предположение - особенность разводки внутри кристалла линии именно этого бита.
Почему зависит от разводки - пока еще сам не понял.
Go to the top of the page
 
+Quote Post

2 страниц V   1 2 >
Reply to this topicStart new topic
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 19th June 2025 - 07:06
Рейтинг@Mail.ru


Страница сгенерированна за 0.01449 секунд с 7
ELECTRONIX ©2004-2016