Angel 0 13 июня, 2005 Опубликовано 13 июня, 2005 · Жалоба В каких случаях надо использовать синхронный, а в каких асинхронный сброс? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Mozg 0 13 июня, 2005 Опубликовано 13 июня, 2005 · Жалоба В каких случаях надо использовать синхронный, а в каких асинхронный сброс? <{POST_SNAPBACK}> Мда. Ответ на него приходит, когда начинаешь чувствовать, как твоя схема должна работать, т.е. представлять схему в простейших элементах (тригер, счетчик, компаратор....). А вообще ничего сложного - если у тебя тактирование постоянное (а выбираешь нужные фронты сигналами enable или условными конструкциями), то конечно лучше поставь тактируемый сброс. Почему тактируемый сброс лучше? Ну хотя бы потому, что обычно на цифровой плате ужасный дребезг стоит, а на многослойности платы часто экономят :( (имеются ввиду слои заливки gnd или vcc). С другой стороны нужно не перемудрить - что бы не возникло такой ситуации, что ресет подал, а клока нет и сброс не произошел (ну это может быть только в тех случаях, если тактирование не постоянное, чего я бы не рекомендовал). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Кнкн 5 14 июня, 2005 Опубликовано 14 июня, 2005 · Жалоба В каких случаях надо использовать синхронный, а в каких асинхронный сброс? <{POST_SNAPBACK}> Синхронным обычно называют такой сигнал сброса, который подается на вход данных триггера. (он ,конечно, обединяется логикой с информационными сигналами). Это весьма затратный по ресурсам путь, по крайней мере для fpga. Сигнал сброса подаваемый на входы reset триггеров нужно оттактировать, иначе при снятии сброса, и совпадении этого момента с активным фронтом клока могут наблюдаться сбои. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
andrew_b 16 14 июня, 2005 Опубликовано 14 июня, 2005 · Жалоба Синхронным обычно называют такой сигнал сброса, который подается на вход данных триггера. (он ,конечно, обединяется логикой с информационными сигналами). Это весьма затратный по ресурсам путь, по крайней мере для fpga. Не совсем правда. Например, в Xilinx FPGA есть триггеры и с синхронными очисткой/предустановкой. Совершенно отдельные входы. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
3.14 0 17 июня, 2005 Опубликовано 17 июня, 2005 · Жалоба В каких случаях надо использовать синхронный, а в каких асинхронный сброс? <{POST_SNAPBACK}> Я бы Вам рекомендовал пользоваться синхронным ВСЕМ (не только ресет). Даже в случаях когда это занимает больше места. Если весь модуль синхронен - невероятное благо, т.к. достаточно только одного констрейна. В противном случае прийдется затягивать все асинхронные пути, чтобы быть увереным в том что после PAR "родилось" то что надо. Асинхронный сброс я пользую только для инициализации автоматов, причем беру его от DLL (сигнал LOCK). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
dxp 56 17 июня, 2005 Опубликовано 17 июня, 2005 · Жалоба В каких случаях надо использовать синхронный, а в каких асинхронный сброс? <{POST_SNAPBACK}> Я бы Вам рекомендовал пользоваться синхронным ВСЕМ (не только ресет). Даже в случаях когда это занимает больше места. Если весь модуль синхронен - невероятное благо, т.к. достаточно только одного констрейна. В противном случае прийдется затягивать все асинхронные пути, чтобы быть увереным в том что после PAR "родилось" то что надо. Асинхронный сброс я пользую только для инициализации автоматов, причем беру его от DLL (сигнал LOCK). <{POST_SNAPBACK}> Совершенно согласен. Поступаю аналогично - асинхронный сброс использую только для начальной установки - чтобы не нагружать этой функцией "боевую" логику. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
andrew_b 16 17 июня, 2005 Опубликовано 17 июня, 2005 · Жалоба асинхронный сброс использую только для начальной установки - чтобы не нагружать этой функцией "боевую" логику. Что-то я в конце дня плохо соображаю... Можно поподробнее? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
oval 0 17 июня, 2005 Опубликовано 17 июня, 2005 · Жалоба У меня был проект на Xilinx Virtex-II с 9-ю тактовыми доменами, из них четыре синхронных, остальные асинхронные. Сброс был как внешний (источники питания + кнопка), так и внутренний (программный регистр, выходы lock блоков DLL). Использовалось три блока DLL. Делал управление энергопотреблением путем снятия тактовых сигналов или переключения на более низкую частоту с помощью элементов BUFGMUX. Во всем проекте использовал асинхронный сброс. Сбросом каждого блока SoC управлял контроллер сброса, который формировал для каждого блока свой сигнал сброса и в нужной последовательности. Снятие каждого локального сигнала сброса происходило синхронно к соответствующему тактовому домену (это важно!). Также важна последовательность снятия локальных сигналов сброса для тех блоков, где есть переходы между тактовыми доменами. Чтобы при анализе времен не было путаницы, объявляю все сигналы сброса как falsepath, при этом эти пути не рассматриваются при анализе времен. Вообщем, все прекрасно работало + некоторая экономия ресурсов. Вывод: все зависит от задачи, оба типа схемы сброса имеют право на жизнь. PS: на Xilinx были материалы на тему организации сброса, смотрите Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
DSIoffe 2 17 июня, 2005 Опубликовано 17 июня, 2005 · Жалоба И от меня немножко. Если на асинхронный сброс подать какую-то очень хитрую функцию, а потом не уследить за иголками в ней, можно поиметь много интересного. Я голосую за синхронное всё. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
dxp 56 17 июня, 2005 Опубликовано 17 июня, 2005 · Жалоба асинхронный сброс использую только для начальной установки - чтобы не нагружать этой функцией "боевую" логику. Что-то я в конце дня плохо соображаю... Можно поподробнее? <{POST_SNAPBACK}> Имелось в виду следующее: есть некая логика, которая служит для реализации требуемой функциональности. Сама логика, ессно, реализуется в LUT'ах. Чем она сложнее - больше сигналов входных - тем дленнее получаются цепочки - в одну LUT не влезло - начинает каскдировать, времяка ухудшается. Если туда же еще заводить сигнал начального сброса/преустановки, то это еще один вход, еще доп. "нагрузка". А ведь он используется-то только один раз при старте. Поэтому логично этот начальный сброс/предустановку завести на свободные ноги set/reset триггеров. Сегодня некоторые современные ПЛИС имеют триггеры с отдельными синхронными входами сброса/установки, но это уже отдельная история. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Serega Doc 0 17 июня, 2005 Опубликовано 17 июня, 2005 · Жалоба Кто нибудь может мне объяснить почему когда я переделываю асинхронный сброс на синхронный то увеличивается тактовая частота? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
des00 25 17 июня, 2005 Опубликовано 17 июня, 2005 · Жалоба Кто нибудь может мне объяснить почему когда я переделываю асинхронный сброс на синхронный то увеличивается тактовая частота? <{POST_SNAPBACK}> Хмм а как вы оцениваете частоту ? И вопрос гуру: допустимо ли использование обоих видов сброса? асинхронный для первоначальной синхронизации и синхронный при работе? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Serega Doc 0 17 июня, 2005 Опубликовано 17 июня, 2005 · Жалоба Может это и не правильно но я сначало синтезирую в Synplify а затем размещаю с помощью Квартуса Значения длительности(предельной частоты) тактовых сигналов смотрю в Квартусе Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
dxp 56 17 июня, 2005 Опубликовано 17 июня, 2005 · Жалоба И вопрос гуру: допустимо ли использование обоих видов сброса? асинхронный для первоначальной синхронизации и синхронный при работе? <{POST_SNAPBACK}> Почему нет? Так и делаю. Просто синхронный сброс - он обычно по какой-то логике возникает (ну, там счетчик обнулить или регистр), тут асинхронка может траблы создать. А при начальной инициализации - чтобы привести всю схему в исходное состояние, асинхронка, имхо, вполне себе вариант. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
des00 25 17 июня, 2005 Опубликовано 17 июня, 2005 · Жалоба Почему нет? Так и делаю. Просто синхронный сброс - он обычно по какой-то логике возникает (ну, там счетчик обнулить или регистр), тут асинхронка может траблы создать. А при начальной инициализации - чтобы привести всю схему в исходное состояние, асинхронка, имхо, вполне себе вариант. <{POST_SNAPBACK}> Понял спасибо. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться