Так для этого же и сделана линия задержки ,как в реальном железе .Лет пять назад этот вопрос обсуждали ,пока разработчики не добавили линию задержки .Задержки нужны не только в регистрах сдвига - ставь куда нужно.
Так для этого же и сделана линия задержки ,как в реальном железе .Лет пять назад этот вопрос обсуждали ,пока разработчики не добавили линию задержки .Задержки нужны не только в регистрах сдвига - ставь куда нужно.
В реальном железе для создания регистра сдвига соединяют выход Д-триггера с D входом последующего непосредственно, без всяких устройств задержки сигнала, в ОЛ Д-триггер работает не так, как в железе, об этом я и толкую, что вводит в заблуждение большинство людей и я на эти грабли наступал, зачем делать так?
Именно со следующим и в ОЛ можно соединить простой связью.
Но в вашей схеме есть как минимум 1 цикл, и тут ОЛ резонно требует линию задержки.
То, что вы её воткнули между D-триггерами это лишь ваш выбор. Можно было (и, скорее всего, логичнее было бы) и после них
Можете простой пример сделать на одном-двух-трёх Д-триггерах, на котором было бы видно, что "ОЛ работает не так"?
По-моему, ваш пример с цепочкой Д-триггеров лишь подтверждает то, что ОЛ работает верно (требует задержку), а вы не понимаете смысл этой самой задержки и ставите её куда попало.
Соединить в железе инверсный выход Д-триггера со входом данных это так делают для получения Т-триггера, ничего плохого в этом нет, а что регистр сдвига, не кольцевой из Д-триггеров неадекватно работает уже много лет всем известно, неоднократно вопросы задавались(я участвовал в обсуждении в таких темах) и палец о палец не стукается, ни чего не исправили за много-много лет!
Вы второй раз пройдитесь, и разберитесь в том, почему нельзя просто брать и замыкать выход на вход.
"В железе" оно работает только из-за того, что вы там не следите за "количеством тактов, которые потребуются для выполнения схемы".
Соединили -- и оно как-то работает, за какое-то время устаканивается.
В ОЛ же поведение должно быть предсказуемо. Т.е. должно быть достаточно посмотреть на схему и понять куда пойдут сигналы, где задержатся и т.п.
Вот в железе можно подать выход "NOT" на его же вход.
Что теперь? Из-за этого и в ОЛ должна быть возможность замкнуть выход NOT'а на его вход? И что получится? Генератор со случайной частотой?
Или взорваться должно?
Вот Вы опять ничего не поняли, я даже не за то чтобы что-то изменить, а хотя бы за то, что бы вещи называть своими именами, вот в ОЛ UINT обозвали INT, многие вопросы задают спрашивают почему так-то да так-то, элемент обозвали Д-триггером который не работает как железный, вот может кто ответит на элементарный вопрос зачем намерено людей путать, ну назовите вы уинт уинтом или как ещё по-своему и расшифруйте значение, также с Д-триггером и никто бы не путался, лишних и ненужных вопросов не задавал бы, ну почему так нельзя???
Не утаивается, но есть сложившееся правила.