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

 
 
> Spartan3 external reset or watchdog?, Резет без резета - размышление.
Delsian
сообщение Mar 2 2005, 15:03
Сообщение #1


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

Группа: Свой
Сообщений: 79
Регистрация: 3-02-05
Из: Kiev
Пользователь №: 2 404



Раньше принимал на веру необходимость наличия кнопки Reset на одной из ног. Ну или какой-то внешний сброс. А теперь в процессе проектирования устройства, которое должно быть необслуживаемым, возникла такая мысль - а есть ли какие-то красивые приемы реализации вачдога и начального ресета? Допустим, бросок по питанию, FSM улетает в какое-то состояние, из которого потом не может выйти (а для "one-hot" вполне реальная ситуация, сам наступал на такие грабли) - в каждом FSMe ставить по сбрасываемому периодически счетчику, который по переполнению выставляет reset <= '1'; или есть какая-то более красивая идеология? И есть ли гарантия, что компилятор не соптимизирует это дело и не сделает в итоге constant reset:='0' ?

Вобщем, готов выслушать, как выглядит классическое решение.


--------------------
Давайте выпьем за алкоголь - источник и решение всех наших проблем! (с) Г.Симпсон
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 9)
irum4
сообщение Mar 2 2005, 15:16
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 224
Регистрация: 18-06-04
Пользователь №: 54



А не проще ли поставить внешний супервизор. Бросок по питанию и идет полная перегрузка конфигурации.


--------------------
Электроника - наука о контактах.
Go to the top of the page
 
+Quote Post
Delsian
сообщение Mar 2 2005, 15:36
Сообщение #3


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

Группа: Свой
Сообщений: 79
Регистрация: 3-02-05
Из: Kiev
Пользователь №: 2 404



Это как в старом анекдоте: "Вам шашечки или ехать?" - так вот мне интересно, как выглядят шашечки wink.gif


--------------------
Давайте выпьем за алкоголь - источник и решение всех наших проблем! (с) Г.Симпсон
Go to the top of the page
 
+Quote Post
DmitryR
сообщение Mar 3 2005, 15:53
Сообщение #4


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

Группа: Свой
Сообщений: 1 535
Регистрация: 20-02-05
Из: Siegen
Пользователь №: 2 770



Надо поставить сбрасываемый счетчик и его выход завести на примитив STARTUP_SPARTAN3, соответственно при зависании счетчик досчитает и микросхема получит POR. Для задания начального состояния в FPGA надо использовать детерминированность начального состояния триггеров, ресет - просто излишество, в больших проектах довольно дорогое (жрет трассы), см. например http://www.xilinx.com/xlnx/xweb/xil_tx_dis...=kc_smart_reset

Однако супервизор питания ставить все равно надо, так как при скачке питания собъется конфигурация и счетчик считать перестанет.
Go to the top of the page
 
+Quote Post
Delsian
сообщение Mar 3 2005, 16:48
Сообщение #5


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

Группа: Свой
Сообщений: 79
Регистрация: 3-02-05
Из: Kiev
Пользователь №: 2 404



Отличная статья, то, что надо! А язык! Я рыдал, читая smile.gif))
Спасибо!


--------------------
Давайте выпьем за алкоголь - источник и решение всех наших проблем! (с) Г.Симпсон
Go to the top of the page
 
+Quote Post
Wilde
сообщение Mar 18 2005, 17:20
Сообщение #6





Группа: Участник
Сообщений: 11
Регистрация: 18-03-05
Пользователь №: 3 477



В XILINX есть возможность автомотического сброса при закгузке конфигурационной последовательности в кристалл
В библиотеке UNISIM такой блок называется ROC(reset on config).
просто заводишь сигнал сброса не на внешний порт а на выход ROC.
Go to the top of the page
 
+Quote Post
irum4
сообщение Mar 18 2005, 23:01
Сообщение #7


Местный
***

Группа: Свой
Сообщений: 224
Регистрация: 18-06-04
Пользователь №: 54



Цитата(Wilde @ Mar 18 2005, 20:20)
В XILINX  есть возможность автомотического сброса при закгузке конфигурационной последовательности в кристалл
В библиотеке UNISIM такой блок называется ROC(reset on config).
просто заводишь сигнал сброса не на внешний порт а на выход ROC.
*


Ошибочка. ROC - это блок которого на самом деле нет. Он имитирует сброс для моделирования по включению питания, т.е. после загрузки конфигурации. А при броске питания перегрузки может и не произойти. sad.gif


--------------------
Электроника - наука о контактах.
Go to the top of the page
 
+Quote Post
Wilde
сообщение Mar 21 2005, 16:16
Сообщение #8





Группа: Участник
Сообщений: 11
Регистрация: 18-03-05
Пользователь №: 3 477



>>Ошибочка. ROC - это блок которого на самом деле нет.
Согласен в кристалле такого примитива нет. Но прошитая схема работает будто он есть. Какими механизмами это достигается я незнаю. Если кто знает поделитесь. вероятно отдельного сигнала нет, просто в триггеры заносится их начальное состояние при загрузке конфигурационного файла.

а сообщение касалось именно начального ресета
Go to the top of the page
 
+Quote Post
Delsian
сообщение Mar 21 2005, 16:23
Сообщение #9


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

Группа: Свой
Сообщений: 79
Регистрация: 3-02-05
Из: Kiev
Пользователь №: 2 404



Цитата(Wilde @ Mar 21 2005, 19:16)
Согласен в кристалле такого примитива нет. Но прошитая схема работает будто он есть.
*


"Кажущееся отражение кажущейся луны" (с) котенок Гав
Вообще-то интересует не шаманство, а как сделать начальный сброс внешним дивайсам.
Я пока что просто сделал 4-битный незацикленный счетчик, и старший разряд вывел на выход сброса, и тактирую его от самой низкой тактовой в проекте. Оно, конечно, работает, но мои эстетические чувства протестуют sad.gif


--------------------
Давайте выпьем за алкоголь - источник и решение всех наших проблем! (с) Г.Симпсон
Go to the top of the page
 
+Quote Post
Vitus
сообщение Mar 22 2005, 09:14
Сообщение #10


Участник
*

Группа: Свой
Сообщений: 42
Регистрация: 24-12-04
Пользователь №: 1 658



А вам что, именно от внешнего девайса сброситься надо? Можно, например, использовать сигнал locked к-либо DLL. Мне помогает smile.gif
Go to the top of the page
 
+Quote Post

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

 


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


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