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

 
 
> Как обеспечить стабильность?, 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
Ответов
Kuzmi4
сообщение Dec 23 2009, 14:02
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 3 304
Регистрация: 13-02-07
Из: 55°55′5″ 37°52′16″
Пользователь №: 25 329



2 bark
я так понимаю des00 предлогает вам использовать синхронный сброс.
Go to the top of the page
 
+Quote Post
Stewart Little
сообщение Dec 23 2009, 16:26
Сообщение #3


Лентяй
******

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



Цитата(Kuzmi4 @ Dec 23 2009, 17:02) *
2 bark
я так понимаю des00 предлогает вам использовать синхронный сброс.

Нет, не так.
С асинхронным сбросом возможны проблемы при снятии сбросового сигнала. К примеру, если момент снятия сброса примерно приходится на момент фронта тактового сигнала, то некоторые триггеры могут успеть защелкнуть состояние входа после сброса, а некоторые - нет.
Поэтому надо синхронизировать входной сигнал сброса с тактовыми сигналом (причем для каждого клокового домена), но использовать этот синхронизированный сигнал как асинхронный сброс.
К примеру, сделать как на картинке:
Здесь выход reg4 используется как асинхронный сброс для всей остальной системы.


--------------------
Чтобы слова не расходились с делом, нужно молчать и ничего не делать...
Go to the top of the page
 
+Quote Post
dmitry-tomsk
сообщение Dec 23 2009, 16:58
Сообщение #4


Знающий
****

Группа: Свой
Сообщений: 672
Регистрация: 18-02-05
Пользователь №: 2 741



Цитата(Stewart Little @ Dec 23 2009, 19:26) *
Нет, не так.
С асинхронным сбросом возможны проблемы при снятии сбросового сигнала. К примеру, если момент снятия сброса примерно приходится на момент фронта тактового сигнала, то некоторые триггеры могут успеть защелкнуть состояние входа после сброса, а некоторые - нет.
Поэтому надо синхронизировать входной сигнал сброса с тактовыми сигналом (причем для каждого клокового домена), но использовать этот синхронизированный сигнал как асинхронный сброс.
К примеру, сделать как на картинке:
Здесь выход reg4 используется как асинхронный сброс для всей остальной системы.

А что, тактовая через PLL не пропущена? Сбрасываете тем же асинхронным сбросом PLL, пока у неё на выходе тактовая появится, все триггеры будут в нужном состоянии 100%, никакие синхронизаторы не нужны.
Go to the top of the page
 
+Quote Post
Stewart Little
сообщение Dec 23 2009, 17:03
Сообщение #5


Лентяй
******

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



Цитата(dmitry-tomsk @ Dec 23 2009, 19:58) *
А что, тактовая через PLL не пропущена? Сбрасываете тем же асинхронным сбросом PLL, пока у неё на выходе тактовая появится, все триггеры будут в нужном состоянии 100%, никакие синхронизаторы не нужны.

Ну а если не пропущена? К тому же PLL'ки бывают разные.


--------------------
Чтобы слова не расходились с делом, нужно молчать и ничего не делать...
Go to the top of the page
 
+Quote Post
Victor®
сообщение Dec 23 2009, 19:53
Сообщение #6


Lazy
******

Группа: Свой
Сообщений: 2 070
Регистрация: 21-06-04
Из: Ukraine
Пользователь №: 76



По поводу резета - почитайте
"Synchronous Resets? Asynchronous Resets? I am so confused! How will I ever know which to use?"
Clifford E. Cummings, Don Mills
Sunburst Design, Inc. LCDM Engineering

SNUG San Jose 2002
Rev 1.1

Если коротко, то вводится в состояние сброса - асинхронно, а снимается сброс синхронно.
Вообщем почитайте этих дядек...
http://www.sunburst-design.com/
http://www.lcdm-eng.com/

Кстати, там они еще про SV вразумляют - может кому надо... Я - пас (другая религия) :-)


--------------------
"Everything should be made as simple as possible, but not simpler." - Albert Einstein
Go to the top of the page
 
+Quote Post
dmitry-tomsk
сообщение Dec 24 2009, 05:48
Сообщение #7


Знающий
****

Группа: Свой
Сообщений: 672
Регистрация: 18-02-05
Пользователь №: 2 741



Цитата(Victor® @ Dec 23 2009, 23:53) *
По поводу резета - почитайте
"Synchronous Resets? Asynchronous Resets? I am so confused! How will I ever know which to use?"
Clifford E. Cummings, Don Mills
Sunburst Design, Inc. LCDM Engineering

SNUG San Jose 2002
Rev 1.1

Если коротко, то вводится в состояние сброса - асинхронно, а снимается сброс синхронно.
Вообщем почитайте этих дядек...
http://www.sunburst-design.com/
http://www.lcdm-eng.com/

Кстати, там они еще про SV вразумляют - может кому надо... Я - пас (другая религия) :-)

Это плохой вариант! Представьте, что придётся сбрасывать несколько тысяч триггеров, задержка трассировки до каждого должна быть не больше периода тактовой минус время установления, для этого придётся многократно дублировать триггеры сброса и уже не достичь предельных частот для виртексов и стратиксов. В случае простейшего асинхронного сброса с задержкой включения тактовой гарантируется выход всех триггеров из состояния сброса до первого фронта тактовой, пусть даже там будет миллион триггеров (мультиплексоры тактовой сейчас есть во всех плис, а также pll и dcm имеют большую задержку включения тактовой после сброса).
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
|- - bark   Цитата(Kuzmi4 @ Dec 23 2009, 16:02) 2 bar...   Dec 23 2009, 14:45
|- - 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
- - bark   Всех с прошедшим! =) Всем спасибо за советы и...   Jan 4 2010, 08:46
- - des00   Цитата(bark @ Jan 4 2010, 02:46) клок про...   Jan 4 2010, 13:32


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

 


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


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