Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Отличие результатов работы при загрузке по JTAG и из конф. микросхемы
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Работаем с ПЛИС, области применения, выбор
Ethereal
Здравствуйте. Столкнулся тут с такой ситуацией в тестовом проекте.
Микросхема Stratix II. Проект с преобразованием Фурье от данных с АЦП. Результаты выдаются из ПЛИС наружу.
При загрузке прошивки в ПЛИС через программатор на выходе получается один результат обработки.
Если сделать pof (fast passive parallel + сжатие), то результаты после перезагрузки получаются другими. Похожими, но отличающимися в достаточной степени, чтобы это нельзя было списать на шумы или случайность процесса.
Перед ПЛИС стоят АЦП и усилитель.

С чем это может быть связано?
DmitryR
Цитата(Ethereal @ Jun 2 2010, 16:09) *
С чем это может быть связано?

Со случайностью процесса. Возьмите прошитую из POF микросхему и сделайте ей verify против sof файла - вы наверняка увидите, что прошивки совпадают.
AndruB
Цитата(Ethereal @ Jun 2 2010, 16:09) *
С чем это может быть связано?


Я иногда забываю вызвать Covert Programming File и перезаписав предыдущий проект ишу почему не работают мои нововедения.
x736C
Если не поможет выше написанные рекомендации, прочитайте эту тему.
И, ежели найдете причину вашей неисправности, то сообщите пожалуйста. Потому как в своих несколько схожих причинах я не уверен и так до конца не разобрался.
Ethereal
Цитата(DmitryR @ Jun 2 2010, 16:51) *
Со случайностью процесса. Возьмите прошитую из POF микросхему и сделайте ей verify против sof файла - вы наверняка увидите, что прошивки совпадают.

Стабильное отличие максимума спектра в одном и другом случае не получается списать на случайность. То есть грузим по питанию - получаем A1+-dA. Грузим по усб - получаем A2+-dA. A1 и A2 отличаются намного больше, чем dA.

Цитата(AndruB @ Jun 2 2010, 21:39) *
Я иногда забываю вызвать Covert Programming File и перезаписав предыдущий проект ишу почему не работают мои нововедения.

Нововведения работают, в том и дело.

Цитата(x736C @ Jun 2 2010, 23:31) *
Если не поможет выше написанные рекомендации, прочитайте эту тему.
И, ежели найдете причину вашей неисправности, то сообщите пожалуйста. Потому как в своих несколько схожих причинах я не уверен и так до конца не разобрался.

Да, очень похожая ситуация. Попробую подумать над тем, что Вы делали.
des00
Цитата(Ethereal @ Jun 3 2010, 03:24) *
Стабильное отличие максимума спектра в одном и другом случае не получается списать на случайность. То есть грузим по питанию - получаем A1+-dA. Грузим по усб - получаем A2+-dA. A1 и A2 отличаются намного больше, чем dA.

алгоритм линейный или итерационный ?
Ethereal
Цитата(des00 @ Jun 3 2010, 12:27) *
алгоритм линейный или итерационный ?

Итерационный.
Дополнительно перед преобразованием стоит IP КИХ.
На входе стоит синхронизатор DCFIFO.
Входной клок синхонизатора берется с PLL2 в режиме Compensated input. На PLL2 подается клок от АЦП.
Выходной клок берется с PLL1 в обычном режиме. Им же тактируется весь остальной проект. На вход PLL1 подается клок с внешнего тактового генератора.
Синхронизатор сбрасывается асинхронным сигналом с locked PLL1
PLL1 сбрасывается асинхронным сигналом с locked PLL2.

Upd: У сихнонизатора стоит опция "Add circuit to syncronise asyncronous clear with write clock"
des00
ИМХО ломается логика подачи входных данных на ваше фурье
Цитата(Ethereal @ Jun 3 2010, 03:02) *
На входе стоит синхронизатор DCFIFO.

предположительно ломается в этом месте. Например голова или хвост выборки ломается. Вычисляется просто на раз, два, три. цепляем сигнал тап на вход вашего фурье и смотрим/сравниваем данные. Хотя я бы вытащил с помощью debug порта (у меня есть самодельный, но дать не могу) в комп, загнал данные в матлаб и сравнил с эталоном %) Вроде как у матлаба есть компоненты что бы данные вытаскивать из плисов.
_Anatoliy
Цитата(des00 @ Jun 3 2010, 11:13) *
Вроде как у матлаба есть компоненты что бы данные вытаскивать из плисов.


А можно чуть подробней?Откуда эта информация,где посмотреть?
Ethereal
Цитата(des00 @ Jun 3 2010, 13:13) *
предположительно ломается в этом месте.

Проверю STap'ом, как доберусь, хотя тоже думаю, что тут - у меня отдельно стоит ветка, которая ищет максимальный отсчет сигнала на интервале в секунду. Я дополнительно вел учет по этому значению. Для него сохраняется та же зависимость, что и для преобразования.

Думаю, что подтвердится, но если так, то с чем может быть связано? Может быть проблема в ассайнментах на false path?
des00
Цитата(_Anatoliy @ Jun 3 2010, 03:31) *
А можно чуть подробней?Откуда эта информация,где посмотреть?

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

Цитата(Ethereal @ Jun 3 2010, 03:31) *
Думаю, что подтвердится, но если так, то с чем может быть связано? Может быть проблема в ассайнментах на false path?

точно не в этом, у вас же одинаковые прошивки, разные только способы инициализации плис. скорее всего где то ломается начальная инициализация обработки информации. Например КА не в том состоянии, счетчик не туда встал, синхру не так нашли, из-за того что были не в том состоянии например %)

Если бы вы ошиблись в констрейнах у вас бы глючило всё, в том числе при прогреве, охлаждении плис.
_Anatoliy
Цитата(des00 @ Jun 3 2010, 11:36) *
могу ошибаться но MKS рассказывал мне в аське как он по уарту данные со своего демодулятора в матлаб заливал.

Он из файла заливал,это немного не то laughing.gif
Koluchiy
А как сделан ресет всей конструкции?
slawikg
Цитата(Koluchiy @ Jun 5 2010, 09:09) *
А как сделан ресет всей конструкции?


Немного опоздал, разные условия включения питания. При загрузки с усб, питание уже устаканилось, а во втором случае питание только включается. Наверняка у вас несколько питаний. Лечение уже предложили - хороший сброс.
x736C
Здравствуйте, slawikg.
Что вы имеете в виду под «хорошим сбросом»?

Если хороший сброс вне ПЛИС, то в моем случае, похожим на случай автора темы, сброс формировался м/с стабилизатора TPS70158PWR. Сигнал сброса принимает высокое значение через 120 мс после того, как питание уже близко к норме (83%-95%).
Если имеете в виду внутреннюю схему сброса, то там синхронизатор, все просто.
Как сделать сброс еще лучше?
slawikg
Цитата(x736C @ Jun 5 2010, 14:28) *
Здравствуйте, slawikg.
Что вы имеете в виду под «хорошим сбросом»?

Если хороший сброс вне ПЛИС, то в моем случае, похожим на случай автора темы, сброс формировался м/с стабилизатора TPS70158PWR. Сигнал сброса принимает высокое значение через 120 мс после того, как питание уже близко к норме (83%-95%).
Если имеете в виду внутреннюю схему сброса, то там синхронизатор, все просто.
Как сделать сброс еще лучше?


1- все питания установились;
2 - все регистры сброшены.
Ethereal
Цитата(slawikg @ Jun 6 2010, 09:03) *
1- все питания установились;
2 - все регистры сброшены.

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

Сброс всего остального берется с выхода locked основной PLL и синхронизируется с тактовой.

Цитата(des00)
Например КА не в том состоянии, счетчик не туда встал, синхру не так нашли, из-за того что были не в том состоянии например %)

Что можно почитать на тему того, как искать проблему и чем лечить? Потому что СТап все равно не покажет причин, только следствия.
des00
Цитата(Ethereal @ Jun 6 2010, 05:21) *
Что можно почитать на тему того, как искать проблему и чем лечить? Потому что СТап все равно не покажет причин, только следствия.

Это и есть черная магия ПЛИСоводства. Звучит как тайна покрытая мраком, на самом деле обычная логика здравого смысла %) Набирайте статистику симптомов и ищите причину (с) House M.D.
EvgenyNik
Банальный такой вопрос - а после прошивки и во время работы плата так и остаётся подключенной к компу? В обоих случаях?
Думается мне в первую очередь, что проблема лежит в аналоговой плоскости, т.е. всякого рода шумы, перетоки емкостных зарядов и т.п.
Ethereal
Цитата
Это и есть черная магия ПЛИСоводства

Спасибо. Попробую попрыгать с бубном. Хоть есть некоторая определенность, в какую сторону можно начинать плясать вокруг платы smile.gif

Цитата( @ Jun 7 2010, 14:22) *
Банальный такой вопрос - а после прошивки и во время работы плата так и остаётся подключенной к компу? В обоих случаях?
Думается мне в первую очередь, что проблема лежит в аналоговой плоскости, т.е. всякого рода шумы, перетоки емкостных зарядов и т.п.

Не обязательно, но как правило, да. И даже при прошивке из флешки программатор подключен к JTAG ПЛИС.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.