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

 
 
> Reset для Xilinx DCM и флаг LOCKED
makc
сообщение May 23 2006, 05:46
Сообщение #1


Гуру
******

Группа: Админы
Сообщений: 3 621
Регистрация: 18-10-04
Из: Москва
Пользователь №: 904



Раньше использовал DCM и не особо не задумывался, что LOCKED может пропасть и т.п. Но на всякий случай использовал его для выработки сигнала сброса той части схемы, которая тактировалась с выхода DCM.

Но вот настал момент, когда в случае пропадания LOCKED сброс недопустим. Т.е. схема может остановиться, но сброса быть не должно, т.к. это приведет невосполнимой потере данных, загруженных ранее микроконтроллером в регистры ПЛИС (и которых у микроконтроллера больше нет).

Мне в голову пришла идея, что можно реализовать схему сброса DCM, которая будет тактироваться от внешнего тактового сигнала и будет производить сброс DCM в самом начале (после конфигурации) и при пропадании сигнала LOCKED. При этом для того, чтобы избежать неизвестного состояния выходных тактовых сигналов DCM можно с помощью LOCKED управлять буферами BUFGMUX (например BUFGCE). Это теоретически должно позволить остановить на требуемое время ту часть схемы, которая тактируется от DCM.

Но при этом возникает один маленький вопрос - для DCM нужен сигнал обратной связи. Брать его с выхода BUFGCE нельзя, т.к. этот сигнал нужен еще до того, как будет LOCKED, но в то же время нужно его брать с выхода BUFGCE, т.е. именно для этого сигнала нужно устранить clock skew.

В общем я в сомнениях... Может кто сталкивался с подобной проблемой? Какие варианты?


--------------------
BR, Makc
В недуге рождены, вскормлены тленом, подлежим распаду. (с) У.Фолкнер.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Gorby
сообщение May 23 2006, 06:39
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 449
Регистрация: 28-10-04
Из: Украина
Пользователь №: 1 002



Цитата(makc @ May 23 2006, 09:46) *
Раньше использовал DCM и не особо не задумывался, что LOCKED может пропасть и т.п. Но на всякий случай использовал его для выработки сигнала сброса той части схемы, которая тактировалась с выхода DCM.

Но вот настал момент, когда в случае пропадания LOCKED сброс недопустим. Т.е. схема может остановиться, но сброса быть не должно, т.к. это приведет невосполнимой потере данных, загруженных ранее микроконтроллером в регистры ПЛИС (и которых у микроконтроллера больше нет).

Мне в голову пришла идея, что можно реализовать схему сброса DCM, которая будет тактироваться от внешнего тактового сигнала и будет производить сброс DCM в самом начале (после конфигурации) и при пропадании сигнала LOCKED. При этом для того, чтобы избежать неизвестного состояния выходных тактовых сигналов DCM можно с помощью LOCKED управлять буферами BUFGMUX (например BUFGCE). Это теоретически должно позволить остановить на требуемое время ту часть схемы, которая тактируется от DCM.

Но при этом возникает один маленький вопрос - для DCM нужен сигнал обратной связи. Брать его с выхода BUFGCE нельзя, т.к. этот сигнал нужен еще до того, как будет LOCKED, но в то же время нужно его брать с выхода BUFGCE, т.е. именно для этого сигнала нужно устранить clock skew.

В общем я в сомнениях... Может кто сталкивался с подобной проблемой? Какие варианты?


Вообще говоря, потеря LOCKED - это аварийная ситуация. При этом на выходе есть клок с непредсказуемыми параметрами (как правило, наезжает фаза, что меняет скважность от нуля до максимума). При этом говорить о каких-то определенных состояниях ваших драгоценных регистров не приходится - туда МОГ записаться мусор.

Хорошо, вы занулили выходной клок, обнаружив не-LOCKED. Как вы гарантируете, что в момент выключения не нарушился какой-либо setup-hold и это не были именно ТЕ регистры?

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

Я бы предложил ТЕ регистры сделать без ресета. А саму схему управления ими - как обычно, с ресетом от DCM. Так мы гарантируем сохранение регистров при состоянии Ресет, а наличие ресета для всей схемы от DCM гарантирует отсутствие неопределенного ее поведения в случае потери LOCKED.


--------------------
Умею молчать на 37 языках...
Go to the top of the page
 
+Quote Post
makc
сообщение May 23 2006, 14:35
Сообщение #3


Гуру
******

Группа: Админы
Сообщений: 3 621
Регистрация: 18-10-04
Из: Москва
Пользователь №: 904



Цитата(Gorby @ May 23 2006, 10:39) *
Вообще говоря, потеря LOCKED - это аварийная ситуация. При этом на выходе есть клок с непредсказуемыми параметрами (как правило, наезжает фаза, что меняет скважность от нуля до максимума). При этом говорить о каких-то определенных состояниях ваших драгоценных регистров не приходится - туда МОГ записаться мусор.


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

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

Цитата
Хорошо, вы занулили выходной клок, обнаружив не-LOCKED. Как вы гарантируете, что в момент выключения не нарушился какой-либо setup-hold и это не были именно ТЕ регистры?


Опять же согласен, есть и такая проблема. Но у меня есть маленькая надежда, что LOCKED пропадет раньше, чем нарушатся параметры выходного клока, т.к. его удастся успешно отключить на некоторое время.

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


Пока что задача прямо противоположная - защититься от редко возникающих и труднообнаруживаемых глюков по причине пропадания LOCKED. smile.gif

Цитата
Я бы предложил ТЕ регистры сделать без ресета. А саму схему управления ими - как обычно, с ресетом от DCM. Так мы гарантируем сохранение регистров при состоянии Ресет, а наличие ресета для всей схемы от DCM гарантирует отсутствие неопределенного ее поведения в случае потери LOCKED.


Я это все понимаю, но подобные решения сложны в применении и не всегда допустим ресет для схемы управления, который может придти в процессе работы. Остановить можно, сбрасывать - крайне не желательно.

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


--------------------
BR, Makc
В недуге рождены, вскормлены тленом, подлежим распаду. (с) У.Фолкнер.
Go to the top of the page
 
+Quote Post



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

 


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


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