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

 
 
> Как обеспечить стабильность?, CycloneII
bark
сообщение Dec 23 2009, 09:55
Сообщение #1


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

Группа: Свой
Сообщений: 131
Регистрация: 16-11-09
Из: Украина Юг
Пользователь №: 53 659



Господа, ситуация такая: есть плата, на ней циклон2. к нему обращается по общей шине микроконтроллер.

На FPGA куча всякой логики. среди всего прочего есть расчет корреляционной функции. он использует память циклона.
всё работает, считает быстро и правильно... НО!
сбоит. может пересчитать пару тысяч (а иногда и миллионов) значений, а потом что-то происходит и FPGA почти не откликается пока не произойдёт полный сброс.
частота 100Мг приходи снаружи. PLL используется для генерации внутреннего инвертированного clk.
кристалл занят на ~70%. (но в тестах можно урезать много чего и будет занято всего 16%).

т.е. задача такая: всё равботает.. результат есть и устраивает, но надо поднять надёжность работы системы.

Внимание вопрос. что может так влиять на работу кристалла? (сбой происходи только при работе коррелятора.. при работе других функций этого пока не замечено)
как поднять стабильность? по каким граблям я мог пройти? где могут быть узкие места работы логики?.

если что-то ещё необходимо знать для понимания ситуации - спрашивайте.

З.Ы. написано всё на Verilog. знания у меня не совсем академические.. во многом самоучка, поэтому некоторые общие стандарты и правила (которые не допустили бы такой ситуации) написания логики мог упустить... поэтому если есть что покурить на это тему, то ссылки приветствуются.


--------------------
Работаю 20ns в сутки.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
bark
сообщение Jan 4 2010, 08:46
Сообщение #2


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

Группа: Свой
Сообщений: 131
Регистрация: 16-11-09
Из: Украина Юг
Пользователь №: 53 659



Всех с прошедшим! =)

Всем спасибо за советы и подсказки.
Проблема решена. Проблема оказалась скучной.

Дело было не в алгоритме. он был на самом деле рабочим.
дело было в самой плате (схемотехника). один из управляющих сигналов долго (несколько десятков тактов) возвращался в активное состояние.
Диагностировать ситуацию помог СигналТап. (спасибо des00)
Нашел материал по нему, изучил и проверил работу основных систем.. увидел аномалию и нашли её происхождение.
плату переделали и теперь всё работает стабильно + сильно подняли производительность! =)

хоть дело не в метастабильностях, сбросах и т.д., а оказалось довольно банально.. но всё равно много материала полезного перечитал. )

далее. ещё остались вопросы.

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

у меня один из блоков (вычисления) работает по внешнему клоку. (100МГц)
другой (подготовка данных) работает по нему же, но инвертированному через PLL. (те же 100МГц со сдвинутой фазой на 180 градусов)

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

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

и я считаю, что дело определённо не в упаковке проекта в кристалл. т.к. девайс большой ~70-80% (CycloneII) и в одном случае всё работает хорошо и точно (тестовый прогон вычислений порядка 6000 выборок, а при каждой из низ происходит около 50 математических операций), а в другом всегда с ошибками.

Сообщение отредактировал bark - Jan 4 2010, 09:05


--------------------
Работаю 20ns в сутки.
Go to the top of the page
 
+Quote Post
des00
сообщение Jan 4 2010, 13:32
Сообщение #3


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

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



Цитата(bark @ Jan 4 2010, 02:46) *
клок пропущеный через PLL без изменений сильно отличается от исходного? (я так понимаю что может вносться фазовый сдвиг.)

зависит от режима работы PLL, в хенбуке посмотрите картинку.

Цитата
у меня один из блоков (вычисления) работает по внешнему клоку. (100МГц)
другой (подготовка данных) работает по нему же, но инвертированному через PLL. (те же 100МГц со сдвинутой фазой на 180 градусов) работает отлично. НО если пустить оба клока через PLL (один прямой, а другой с инвертированием), то корректность работы пропадает. (стабильность есть, но математика считает с ошибками).

конечно я не телепат, но мне видится нарушение времянок, в случае когда вы переходите на тактирование схемы полностью от PLL. Клоки то не различаются, но вот tsu/th на IO буферах могут поплыть.


--------------------
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- bark   Как обеспечить стабильность?   Dec 23 2009, 09:55
- - andrew_b   Метастабильность?   Dec 23 2009, 10:06
- - sazh   Цитата(bark @ Dec 23 2009, 12:55) сбоит. ...   Dec 23 2009, 10:14
- - des00   еще добавлю если не владеете искусством моделирова...   Dec 23 2009, 10:21
- - bark   От себя вопросы. 1. Как правильно организовывать с...   Dec 23 2009, 10:46
|- - des00   Цитата(bark @ Dec 23 2009, 04:46) От себя...   Dec 23 2009, 10:59
||- - bark   Цитата(des00 @ Dec 23 2009, 12:59) 1. ИМХ...   Dec 23 2009, 11:44
|- - Serhiy_UA   Цитата(bark @ Dec 23 2009, 14:46) ...у ме...   Dec 23 2009, 12:29
- - Serhiy_UA   Цитата(bark @ Dec 23 2009, 12:55) ... нап...   Dec 23 2009, 10:47
- - Kuzmi4   2 bark я так понимаю des00 предлогает вам использ...   Dec 23 2009, 14:02
|- - bark   Цитата(Kuzmi4 @ Dec 23 2009, 16:02) 2 bar...   Dec 23 2009, 14:45
|- - Stewart Little   Цитата(Kuzmi4 @ Dec 23 2009, 17:02) 2 bar...   Dec 23 2009, 16:26
|- - dmitry-tomsk   Цитата(Stewart Little @ Dec 23 2009, 19:2...   Dec 23 2009, 16:58
|- - Stewart Little   Цитата(dmitry-tomsk @ Dec 23 2009, 19...   Dec 23 2009, 17:03
|- - Victor®   По поводу резета - почитайте "Synchronous Res...   Dec 23 2009, 19:53
|- - dmitry-tomsk   Цитата(Victor® @ Dec 23 2009, 23:53) По п...   Dec 24 2009, 05:48
|- - Victor®   Цитата(dmitry-tomsk @ Dec 24 2009, 09...   Dec 24 2009, 07:15
- - Maverick   Цитата(bark @ Dec 23 2009, 12:55) Господа...   Dec 24 2009, 09:25
- - soldat_shveyk   Сталкивался с подобным эффектом при работе на полн...   Dec 24 2009, 12:24
- - bark   Всем спасибо, за ответы. сейчас изучаю предложенны...   Dec 26 2009, 11:44
|- - dxp   Цитата(bark @ Dec 26 2009, 17:44) т.е. if...   Dec 26 2009, 13:49


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

 


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


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