Цитата(dvladim @ May 29 2010, 19:19)

Зато присутствуют "пройдя через второй и тем более через третий триггер в цепочке последовательно соединенных триггеров", что в моем понимании и есть сдвиговый регистр. А в счетчике выход одного триггера идет не на вход другого, а на сумматор. Это слой логики и в синхронизаторе это совсем ни к чему.
Действительно, как выше указал
des00 — для синхронного счетчика это так.
Вопрос снимаю, бред так бред.
Цитата(des00 @ May 29 2010, 19:08)

Вашу тему помню, но как то слабо. ИМХО там дело было не в сбросе, то, что вылечилось таким образом это просто повезло %)
Исследовал много дней очень пристально этот вопрос. С осцилом и проверял на простейшей конструкции. Ответ «повезло» меня до сих пор не удовлетворяет, интересно все-таки разобраться почему. Проблема возникала не у меня одного.
Могу повторить и поделиться результатами, все есть под рукой.
Есть факт того, что при подаче питания (загрузка из м/с памяти) сигнал сброса имеет форму ступеньки "
_/".
Также есть факт — при загрузке через JTAG сигнал сброса, имеет V-образную форму форму "
\_/" и формируется POR, насколько я понимаю.
И есть факт загрузки (или ее отсутствия) триггера начальным значением после двух выше перечисленных фактов.
Ув.
dvladim в той ветке так же указывал на сброс и синхронизатор. В общем как-то так оно и происходит.
Цитата(des00 @ May 29 2010, 19:08)

от архитектуры целевой плис зависит, в атаче как это сделано в статиксе2. Думаю что ответ на вопрос почему ква не ложит сброс на sclr стал понятным %)
Выходит, с древним ACEX'ом, на котором проверял, ресурсов потребуется больше. В нем просто нет специального
and под эти нужды.
А под Стратикс такое описание не совсем подходит.
Интересно другое. Под Стратикс такое описание очень даже подходит.
RTL Viewer показывает (см. выше) картинку с мультиплексором.
Chip Planner →
Resource Property Editor показывает то что надо.
Нажмите для просмотра прикрепленного файлаЧто по всей видимости говорит о том, что одно относится к синтезу, а второе к размещению (fitter).
Квартус
In так и не заводит на
En. Пропускает через мультиплексор, производя операцию
else ctr <= ctr; которая мною не описана, но подразумевается.
Проверяем утверждение
dvladim.Меняем местами
sclr и
en.Код
module rstest (rst, clk, in, out);
input rst,clk,in;
output out;
reg [7:0] ctr;
always @(posedge clk)// or negedge rst)
if (in) ctr <= ctr + 1;
else if (rst) ctr <= 8'd0;
assign out = &ctr;
endmodule
RTL Viewer
Нажмите для просмотра прикрепленного файлаResource Property Editor
Sсlr и
En на своих местах.
Нажмите для просмотра прикрепленного файлаНо сброс, видимо, вообще не сработает, пока En активен.
UPD: Вывод: синхронный En при синхронном сбросе жрет таки-больше ресурсов, чем при асинхронном.
Внимание вопрос: насколько я ошибся?))