Delsian 0 2 марта, 2005 Опубликовано 2 марта, 2005 · Жалоба Раньше принимал на веру необходимость наличия кнопки Reset на одной из ног. Ну или какой-то внешний сброс. А теперь в процессе проектирования устройства, которое должно быть необслуживаемым, возникла такая мысль - а есть ли какие-то красивые приемы реализации вачдога и начального ресета? Допустим, бросок по питанию, FSM улетает в какое-то состояние, из которого потом не может выйти (а для "one-hot" вполне реальная ситуация, сам наступал на такие грабли) - в каждом FSMe ставить по сбрасываемому периодически счетчику, который по переполнению выставляет reset <= '1'; или есть какая-то более красивая идеология? И есть ли гарантия, что компилятор не соптимизирует это дело и не сделает в итоге constant reset:='0' ? Вобщем, готов выслушать, как выглядит классическое решение. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
irum4 0 2 марта, 2005 Опубликовано 2 марта, 2005 · Жалоба А не проще ли поставить внешний супервизор. Бросок по питанию и идет полная перегрузка конфигурации. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Delsian 0 2 марта, 2005 Опубликовано 2 марта, 2005 · Жалоба Это как в старом анекдоте: "Вам шашечки или ехать?" - так вот мне интересно, как выглядят шашечки ;) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
DmitryR 0 3 марта, 2005 Опубликовано 3 марта, 2005 · Жалоба Надо поставить сбрасываемый счетчик и его выход завести на примитив STARTUP_SPARTAN3, соответственно при зависании счетчик досчитает и микросхема получит POR. Для задания начального состояния в FPGA надо использовать детерминированность начального состояния триггеров, ресет - просто излишество, в больших проектах довольно дорогое (жрет трассы), см. например http://www.xilinx.com/xlnx/xweb/xil_tx_dis...=kc_smart_reset Однако супервизор питания ставить все равно надо, так как при скачке питания собъется конфигурация и счетчик считать перестанет. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Delsian 0 3 марта, 2005 Опубликовано 3 марта, 2005 · Жалоба Отличная статья, то, что надо! А язык! Я рыдал, читая :))) Спасибо! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Wilde 0 18 марта, 2005 Опубликовано 18 марта, 2005 · Жалоба В XILINX есть возможность автомотического сброса при закгузке конфигурационной последовательности в кристалл В библиотеке UNISIM такой блок называется ROC(reset on config). просто заводишь сигнал сброса не на внешний порт а на выход ROC. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
irum4 0 18 марта, 2005 Опубликовано 18 марта, 2005 · Жалоба В XILINX есть возможность автомотического сброса при закгузке конфигурационной последовательности в кристалл В библиотеке UNISIM такой блок называется ROC(reset on config). просто заводишь сигнал сброса не на внешний порт а на выход ROC. <{POST_SNAPBACK}> Ошибочка. ROC - это блок которого на самом деле нет. Он имитирует сброс для моделирования по включению питания, т.е. после загрузки конфигурации. А при броске питания перегрузки может и не произойти. :( Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Wilde 0 21 марта, 2005 Опубликовано 21 марта, 2005 · Жалоба >>Ошибочка. ROC - это блок которого на самом деле нет. Согласен в кристалле такого примитива нет. Но прошитая схема работает будто он есть. Какими механизмами это достигается я незнаю. Если кто знает поделитесь. вероятно отдельного сигнала нет, просто в триггеры заносится их начальное состояние при загрузке конфигурационного файла. а сообщение касалось именно начального ресета Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Delsian 0 21 марта, 2005 Опубликовано 21 марта, 2005 · Жалоба Согласен в кристалле такого примитива нет. Но прошитая схема работает будто он есть. <{POST_SNAPBACK}> "Кажущееся отражение кажущейся луны" (с) котенок Гав Вообще-то интересует не шаманство, а как сделать начальный сброс внешним дивайсам. Я пока что просто сделал 4-битный незацикленный счетчик, и старший разряд вывел на выход сброса, и тактирую его от самой низкой тактовой в проекте. Оно, конечно, работает, но мои эстетические чувства протестуют :( Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Vitus 0 22 марта, 2005 Опубликовано 22 марта, 2005 · Жалоба А вам что, именно от внешнего девайса сброситься надо? Можно, например, использовать сигнал locked к-либо DLL. Мне помогает :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться