|
Симуляция счётчика в ModelSim |
|
|
|
May 31 2018, 04:42
|
Группа: Участник
Сообщений: 13
Регистрация: 29-04-18
Из: Москва
Пользователь №: 103 558
|
Не совсем. Сначала триггер синхронизируется по тактовой частоте, а только потом уже используется для асинхронного сброса.
|
|
|
|
|
May 31 2018, 04:44
|
В поисках себя...
Группа: Свой
Сообщений: 729
Регистрация: 11-06-13
Из: Санкт-Петербург
Пользователь №: 77 140
|
Цитата(Nieve @ May 31 2018, 07:42) Не совсем. Сначала триггер синхронизируется по тактовой частоте, а только потом уже используется для асинхронного сброса. Тогда он не нужен совсем... Выход с reset bridge делает асинхронный сброс синхронным тактовой. Больше никаких дополнительных триггеров не нужно. P.S. Вы хоть читали статью "Краткий курс HDL. Часть 10. Несколько слов о «сбросе»"
|
|
|
|
|
May 31 2018, 05:28
|
В поисках себя...
Группа: Свой
Сообщений: 729
Регистрация: 11-06-13
Из: Санкт-Петербург
Пользователь №: 77 140
|
Цитата(andrew_b @ May 31 2018, 08:08) Эм, может, я чего-то пропустил в этой жизни? Где это написано? Так вот была предложена такая схема сброса: Код always @(posedge clk_i) begin rst_rg <= reset_i; end Если сигнал reset_i - внешний и асинхронен тактовой, то триггер rst_rg перейдет в метастабильное состояние. И соответственно применять выход rst_rg применять как асинхронный сброс - чревато проблемами. А если сброс был синхронизирован раньше, то зачем вообще применять триггер rst_rg ?
|
|
|
|
|
May 31 2018, 05:31
|
Группа: Участник
Сообщений: 13
Регистрация: 29-04-18
Из: Москва
Пользователь №: 103 558
|
Цитата(Flip-fl0p @ May 31 2018, 04:44) Тогда он не нужен совсем... Выход с reset bridge делает асинхронный сброс синхронным тактовой. Больше никаких дополнительных триггеров не нужно. P.S. Вы хоть читали статью "Краткий курс HDL. Часть 10. Несколько слов о «сбросе»" Да, причем в оригинале. Скажу лишь одно, применял подобную схему во многих проектах (FPGA, ASIC) и никогда проблем со сбросом не наблюдалось. Спасибо за Ваше уточнение, а я обязательно проанализирую Ваше замечание. Цитата(andrew_b @ May 31 2018, 05:08) Эм, может, я чего-то пропустил в этой жизни? Где это написано? Насколько я понял, тут имеется в виду ситуация, когда сигнал сброса формируется по одной частоте, а схема работает по другой. В таком случае, после подачи сигнала сброса на триггер, он действительно может "свалиться" в метастабильное состояние.
|
|
|
|
|
May 31 2018, 06:26
|
Профессионал
Группа: Свой
Сообщений: 1 975
Регистрация: 30-12-04
Из: Воронеж
Пользователь №: 1 757
|
Цитата(Nieve @ May 31 2018, 08:31) Насколько я понял, тут имеется в виду ситуация, когда сигнал сброса формируется по одной частоте, а схема работает по другой. В таком случае, после подачи сигнала сброса на триггер, он действительно может "свалиться" в метастабильное состояние. Это странно. Сброс на то и сброс, чтобы переводить триггер в заведомо известное стабильное состояние. А вот снятие сброса в окрестности фронта клока может устроить метастабильность, тут я согласен. Поэтому часто делают так: подача сброса асинхронно, снятие сброса синхронно. Быстрый гуглинг: http://chipverification.blogspot.com/2008/...nous-reset.html
|
|
|
|
|
May 31 2018, 10:07
|
Гуру
Группа: Модераторы
Сообщений: 4 011
Регистрация: 8-09-05
Из: спб
Пользователь №: 8 369
|
Цитата(Flip-fl0p @ May 31 2018, 12:02) Код ТС почему Вы не хотите пользоваться описание из темплате: Могу предположить потому-что ему не нужен был изначально асинхронный сброс. Но нужна была начальная установка регистрам, для того, чтобы запускалось моделирование в Modelsim А отсюда какой вывод? Проще было взять "обычное шаблонное" описание с асинхронным сбросом, как это привел Маверик. В симуляторе не задумываясь использовать Сброс, подогнав его в тестбенче под такты. А в железе, если этот Сброс не нужен, то на самом верху приписать ему неактивное значение и компилятор его сожрет. При этом все делается совершенно без ошибок и не плодятся лишние версии описания... Правда тогда нам всем нечего будет обсуждать, увы
--------------------
www.iosifk.narod.ru
|
|
|
|
|
Jun 5 2018, 06:42
|
Участник
Группа: Участник
Сообщений: 28
Регистрация: 17-03-18
Пользователь №: 102 435
|
Да, спасибо, в реальной схеме сброс вообще не нужен, но в симуляции использую сброс для инициализации регистров нулями
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|