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

 
 
> Проверка работоспособности FPGA, Есть ли стандартный способ проверить FPGA?
Gothard
сообщение Aug 18 2010, 05:57
Сообщение #1


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

Группа: Свой
Сообщений: 127
Регистрация: 16-02-07
Из: Долгопрудный
Пользователь №: 25 406



Доброго времени суток!
Недавно возникла проблема на одной из плат и есть подозрение, что конкретный плис (Xilinx) частично неработоспособный.
В данный момент собираюсь сделать загрузку для диагностики сего явления, но возник вопрос - может есть какой-то стандартный способ? Например подключить JTAG и запустить утилиту, осуществляющую проверку FPGA на функциональность (типа заводской).
Понимаю, что в большинстве случаев сам дурак оказываешься и вероятность, что проблема с самим FPGA очень низка, но чем черт не шутит....

Если у кого-то были такие проблемы, поделитесь опытом пожалуйста 1111493779.gif

P.S. Питание проверял - на мой взгляд удовлетворительно. Да и плис, стоящий рядом и кормящийся от тех же источников, работает. Синхросигналы нормальные.
Подозрения на плис появились после того как первая загрузка для диагностики не работала (порт данных оставался в 3-м состоянии), а вторая загрука (были выведены некоторые внутренние сигналы на контрольные точки (т.е. наружу FPGA)) заработала в полной мере. Причем первая загрузка не работает стабильно, а вторая стабильно работает. Обе загрузки нормально работают на другой плате.
Go to the top of the page
 
+Quote Post
2 страниц V   1 2 >  
Start new topic
Ответов (1 - 20)
DW0
сообщение Aug 18 2010, 06:55
Сообщение #2


Участник
*

Группа: Свой
Сообщений: 73
Регистрация: 9-08-10
Из: Украина
Пользователь №: 58 828



обратите внимание на отчеты по максимальным частотам, так бывает что одна ПЛИС немного шустрее другой, и на одной работает, другой нет.
если Вы выводите что-то на тестовые пины и проект начинает работать, то это свидетельствует о том, что произошла компиляция по другому, и это два абсолютно разных проекта и работают по разному.
еще важно заполнение, если более 70% то могут быть тоже проблемы на больших частотах
Go to the top of the page
 
+Quote Post
Gothard
сообщение Aug 18 2010, 07:09
Сообщение #3


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

Группа: Свой
Сообщений: 127
Регистрация: 16-02-07
Из: Долгопрудный
Пользователь №: 25 406



Цитата(DW0 @ Aug 18 2010, 10:55) *
обратите внимание на отчеты по максимальным частотам, так бывает что одна ПЛИС немного шустрее другой, и на одной работает, другой нет.
еще важно заполнение, если более 70% то могут быть тоже проблемы на больших частотах

Загрузка диагностики практически пустая, частота только 25 МГц, тайминги выполняются, никаких DCM.

Цитата(DW0 @ Aug 18 2010, 10:55) *
если Вы выводите что-то на тестовые пины и проект начинает работать, то это свидетельствует о том, что произошла компиляция по другому, и это два абсолютно разных проекта и работают по разному.

Вот это и наводит на мысли, что какой-то путь в ППВМ не работает. Возможно, что цепь во втором проекте провелась по другому (рабочему) пути и выходные буфера стали открываться, к примеру....
Go to the top of the page
 
+Quote Post
des00
сообщение Aug 18 2010, 07:54
Сообщение #4


Вечный ламер
******

Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453



Цитата(Gothard @ Aug 18 2010, 01:09) *
Вот это и наводит на мысли, что какой-то путь в ППВМ не работает. Возможно, что цепь во втором проекте провелась по другому (рабочему) пути и выходные буфера стали открываться, к примеру....

если корпус бга проверьте пропайку шаров.


--------------------
Go to the top of the page
 
+Quote Post
AJIEKCEu
сообщение Aug 18 2010, 07:58
Сообщение #5


Местный
***

Группа: Свой
Сообщений: 314
Регистрация: 7-12-05
Пользователь №: 11 917



Цитата(des00 @ Aug 18 2010, 11:54) *
если корпус бга проверьте пропайку шаров.

Не совсем понятно, чем это поможет. Потому что:
1. Исходный проект - стабильно не работает.
2. Тестовый проект состоящий из исходного + некоторые дополнительные ноги _НА ВЫХОД_ - стабильно работает.

То есть количество и расположение управляющих/значимых ног не изменилось. Но при этом одна загрузка стабильно работает, а другая - стабильно не работает.
Go to the top of the page
 
+Quote Post
DW0
сообщение Aug 18 2010, 08:05
Сообщение #6


Участник
*

Группа: Свой
Сообщений: 73
Регистрация: 9-08-10
Из: Украина
Пользователь №: 58 828



а кто является источником тактовой частоты? через PLL она пропущена???
Go to the top of the page
 
+Quote Post
DS
сообщение Aug 18 2010, 08:07
Сообщение #7


Гуру
******

Группа: СуперМодераторы
Сообщений: 3 096
Регистрация: 16-01-06
Из: Москва
Пользователь №: 13 250



Цитата(AJIEKCEu @ Aug 18 2010, 11:58) *
Не совсем понятно, чем это поможет. Потому что:


Питание / земля не до всех ног, например, доходит.


--------------------
Не бойтесь тюрьмы, не бойтесь сумы, не бойтесь мора и глада, а бойтесь единственно только того, кто скажет - "Я знаю как надо". А. Галич.
Go to the top of the page
 
+Quote Post
Gothard
сообщение Aug 18 2010, 08:15
Сообщение #8


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

Группа: Свой
Сообщений: 127
Регистрация: 16-02-07
Из: Долгопрудный
Пользователь №: 25 406



Цитата(DS @ Aug 18 2010, 12:07) *
Питание / земля не до всех ног, например, доходит.

Да, это мог бы быть вариант. Но питание ядра единое, а загрузка стала работать при том, что основной внешний интерфейс не поменялся, так что сомнительно что дело в этом (если только что-то (в смысле питание) куда-то не перетекло при подключении дополнительных ног).
Хотя проверить и правда не помешает. Вот только BGAшный корпус глазами не посмотреть, придется пока подождать с этим.

А насчет стандартного способа проверки плиса на функциональность - выходит глухо?
Хотелось бы иметь возможность удостоверится, что дело не в плисе.
Go to the top of the page
 
+Quote Post
MrYuran
сообщение Aug 18 2010, 08:16
Сообщение #9


Беспросветный оптимист
******

Группа: Свой
Сообщений: 4 640
Регистрация: 26-12-07
Из: Н.Новгород
Пользователь №: 33 646



Цитата(Gothard @ Aug 18 2010, 11:09) *
Загрузка диагностики практически пустая, частота только 25 МГц, тайминги выполняются, никаких DCM.

А боевая?
Пост-роут тайминг аналайз проводили? Нету узких мест?


--------------------
Программирование делится на системное и бессистемное. ©Моё :)
— а для кого-то БГ — это Bill Gilbert =)
Go to the top of the page
 
+Quote Post
Gothard
сообщение Aug 18 2010, 08:19
Сообщение #10


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

Группа: Свой
Сообщений: 127
Регистрация: 16-02-07
Из: Долгопрудный
Пользователь №: 25 406



Цитата(DW0 @ Aug 18 2010, 12:05) *
а кто является источником тактовой частоты? через PLL она пропущена???

Нет, частота подается с другого плиса через размножители. А исходно - с кварцевого генератора. Судя по тому, что от нее работает GigabitPHY, вполне удобоваримая smile.gif, да и на осциллограмме претензий нет

Цитата(MrYuran @ Aug 18 2010, 12:16) *
А боевая?
Пост-роут тайминг аналайз проводили? Нету узких мест?

До боевой дело еще не дошло - остановились на внутреннем тесте связей при наладке ячейки. После чего делал дополнительные загрузки диагностики, дальше вы знаете smile.gif
Go to the top of the page
 
+Quote Post
des00
сообщение Aug 18 2010, 08:40
Сообщение #11


Вечный ламер
******

Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453



Цитата(AJIEKCEu @ Aug 18 2010, 02:58) *
Не совсем понятно, чем это поможет. Потому что:

я месяц просидел над платой, в вопросах почему от сборки к сборке не работает проект. Оказалось плохая пропайка земли/питания где то в центре плис. Сняли, поставили, все заработало %)

Цитата(Gothard @ Aug 18 2010, 03:15) *
Но питание ядра единое, а загрузка стала работать при том, что основной внешний интерфейс не поменялся, так что сомнительно что дело в этом (если только что-то (в смысле питание) куда-то не перетекло при подключении дополнительных ног).

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


--------------------
Go to the top of the page
 
+Quote Post
DW0
сообщение Aug 18 2010, 08:58
Сообщение #12


Участник
*

Группа: Свой
Сообщений: 73
Регистрация: 9-08-10
Из: Украина
Пользователь №: 58 828



имел проблемы с альтерой, когда связывал две плиски и одна являлась источнитком тактовой частоты для другой, нужно полюбому через ПЛЛ пропускать иначе будет постоянно глючить, причем одни платы работали более менее стабильно, а находились такие которые вообще отказывались, нужно через ПЛЛ пропустить синхрочастоту, она как фильтр работает и пропускает только то что надо.
Go to the top of the page
 
+Quote Post
x736C
сообщение Aug 18 2010, 09:13
Сообщение #13


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

Группа: Участник
Сообщений: 1 273
Регистрация: 3-03-06
Пользователь №: 14 942



Цитата(DW0 @ Aug 18 2010, 12:58) *
нужно через ПЛЛ пропустить синхрочастоту, она как фильтр работает и пропускает только то что надо.
Должно быть достаточно внутренней PLL (если она есть, конечно).
Go to the top of the page
 
+Quote Post
Gothard
сообщение Aug 18 2010, 09:17
Сообщение #14


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

Группа: Свой
Сообщений: 127
Регистрация: 16-02-07
Из: Долгопрудный
Пользователь №: 25 406



Цитата(DW0 @ Aug 18 2010, 12:58) *
имел проблемы с альтерой, когда связывал две плиски и одна являлась источнитком тактовой частоты для другой, нужно полюбому через ПЛЛ пропускать иначе будет постоянно глючить, причем одни платы работали более менее стабильно, а находились такие которые вообще отказывались, нужно через ПЛЛ пропустить синхрочастоту, она как фильтр работает и пропускает только то что надо.

Возможно у вас были проблемы с времянками передачи между плисами? С точки зрения синхросигнала и схемы на триггерах важно лишь иметь ровные фронты, уровни логического 0 и 1 и уложиться в setup/hold. PLL может сдвинуть (в конечном счете именно это она и сделает) фазу синхросигнала на триггерах и разброс задержек дерева синхронизации, чем поможет выполнить времянки.
В моем случае запасы параметров большие, синхросигнал наблюдаю хороший.
Go to the top of the page
 
+Quote Post
DW0
сообщение Aug 18 2010, 09:34
Сообщение #15


Участник
*

Группа: Свой
Сообщений: 73
Регистрация: 9-08-10
Из: Украина
Пользователь №: 58 828



все стало хорошо после того когда каждая плисина стала работать со своим генератором.
В общем пришли к выводу, что когда без ПЛЛ (я имел ввиду и имею внутреннею) то генератор или пин немного дребезжит и некоторые, очень редкие, фронты расположены слишком близко, что вся внутренняя комбинационная логика успела завершить свои переходные процессы.
Если вы с генератора заводите на пин, а с пина, без внутреней ПЛЛ, синхронизируете с пина все или часть триггеров(регистров) то будете иметь проблему, причем это может быть вообще не рабочий, а может быть и раз в час в день один глюк, причем совершенно хаотично, без какой либо закономерности.
Go to the top of the page
 
+Quote Post
des00
сообщение Aug 18 2010, 09:35
Сообщение #16


Вечный ламер
******

Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453



Цитата(DW0 @ Aug 18 2010, 04:34) *
Если вы с генератора заводите на пин, а с пина, без внутреней ПЛЛ, синхронизируете с пина все или часть триггеров(регистров) то будете иметь проблему, причем это может быть вообще не рабочий, а может быть и раз в час в день один глюк, причем совершенно хаотично, без какой либо закономерности.

у нас есть модемы, работающие от внешнего генератора без PLL, работают годами без каких либо проблем %)


--------------------
Go to the top of the page
 
+Quote Post
DW0
сообщение Aug 18 2010, 09:43
Сообщение #17


Участник
*

Группа: Свой
Сообщений: 73
Регистрация: 9-08-10
Из: Украина
Пользователь №: 58 828



Цитата(des00 @ Aug 18 2010, 12:35) *
у нас есть модемы, работающие от внешнего генератора без PLL, работают годами без каких либо проблем %)


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

и еще это повторялось абсолютно в разных проектах на циклонах

Сообщение отредактировал DW0 - Aug 18 2010, 09:45
Go to the top of the page
 
+Quote Post
disel
сообщение Aug 18 2010, 09:44
Сообщение #18


Знающий
****

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



Цитата(DW0 @ Aug 18 2010, 13:34) *
все стало хорошо после того когда каждая плисина стала работать со своим генератором.
В общем пришли к выводу, что когда без ПЛЛ (я имел ввиду и имею внутреннею) то генератор или пин немного дребезжит и некоторые, очень редкие, фронты расположены слишком близко, что вся внутренняя комбинационная логика успела завершить свои переходные процессы.
Если вы с генератора заводите на пин, а с пина, без внутреней ПЛЛ, синхронизируете с пина все или часть триггеров(регистров) то будете иметь проблему, причем это может быть вообще не рабочий, а может быть и раз в час в день один глюк, причем совершенно хаотично, без какой либо закономерности.

Вы просто не умеете их готовить smile.gif Хороший клок и правильно заданный в констрейнах джиттер спасут вас от этих проблем. Все и без ПЛЛ может замечательно работать. И работает.
Go to the top of the page
 
+Quote Post
des00
сообщение Aug 18 2010, 09:50
Сообщение #19


Вечный ламер
******

Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453



Цитата(DW0 @ Aug 18 2010, 04:43) *
Вы просто их можете не видеть, так как то что я замечал случалось не часто, и имело место восстановление, если там не было элементов памяти, плюс ко всему система регистрации каждого чиха позволило это выявить. Внешне все было без замечаний, но внутри были проблемы.

как бы для связного оборудования сооружается система что бы можно было всё видеть. если бы были ошибки то при прогоне потоков до 200Мбит/с в течении длительного времени это бы вылилось в такое качество связи, которое никого бы не устроило.


--------------------
Go to the top of the page
 
+Quote Post
DW0
сообщение Aug 18 2010, 16:08
Сообщение #20


Участник
*

Группа: Свой
Сообщений: 73
Регистрация: 9-08-10
Из: Украина
Пользователь №: 58 828



disel скажите пожалуйста, джиттер это только настройкак или аппаратная заморочка, если аппаратная то как фильтр поможет, а если просто настройка с учетом которой компилятор оптимизирует задержки, то есть сомнения, я всегда использую встроенную ПЛЛ, это как правила хорошего тона.
Go to the top of the page
 
+Quote Post
Gothard
сообщение Aug 19 2010, 04:02
Сообщение #21


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

Группа: Свой
Сообщений: 127
Регистрация: 16-02-07
Из: Долгопрудный
Пользователь №: 25 406



Цитата(DW0 @ Aug 18 2010, 20:08) *
я всегда использую встроенную ПЛЛ, это как правила хорошего тона.

PLL работает только в определенном диапазоне частот и только на периодических сигналах. К тому же PLL может создать джиттер больший, чем был в исходном синхросигнале. Кроме этого при запуске (пока не произошла подстройка ГУНа) на выходе имеет некоторое время другую частоту, что тоже может добавить проблем, если не принять меры. Поэтому использовать PLL надо обосновано и с умом.
P.S. просто совет smile.gif
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 25th July 2025 - 02:44
Рейтинг@Mail.ru


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