Так для этого же и сделана линия задержки ,как в реальном железе .Лет пять назад этот вопрос обсуждали ,пока разработчики не добавили линию задержки .Задержки нужны не только в регистрах сдвига - ставь куда нужно.
Так для этого же и сделана линия задержки ,как в реальном железе .Лет пять назад этот вопрос обсуждали ,пока разработчики не добавили линию задержки .Задержки нужны не только в регистрах сдвига - ставь куда нужно.
электронщик до мозга костей и не только
В реальном железе для создания регистра сдвига соединяют выход Д-триггера с D входом последующего непосредственно, без всяких устройств задержки сигнала, в ОЛ Д-триггер работает не так, как в железе, об этом я и толкую, что вводит в заблуждение большинство людей и я на эти грабли наступал, зачем делать так?
Если проблему можно решить за деньги, это не проблема, это расходы. Бог каждому посылает проблемы по его силам. Так что одно из двух. Либо ты можешь-таки
справиться с проблемами, либо это не твои проблемы.
Именно со следующим и в ОЛ можно соединить простой связью.
Но в вашей схеме есть как минимум 1 цикл, и тут ОЛ резонно требует линию задержки.
То, что вы её воткнули между D-триггерами это лишь ваш выбор. Можно было (и, скорее всего, логичнее было бы) и после них
Можете простой пример сделать на одном-двух-трёх Д-триггерах, на котором было бы видно, что "ОЛ работает не так"?
По-моему, ваш пример с цепочкой Д-триггеров лишь подтверждает то, что ОЛ работает верно (требует задержку), а вы не понимаете смысл этой самой задержки и ставите её куда попало.
Соединить в железе инверсный выход Д-триггера со входом данных это так делают для получения Т-триггера, ничего плохого в этом нет, а что регистр сдвига, не кольцевой из Д-триггеров неадекватно работает уже много лет всем известно, неоднократно вопросы задавались(я участвовал в обсуждении в таких темах) и палец о палец не стукается, ни чего не исправили за много-много лет!
Если проблему можно решить за деньги, это не проблема, это расходы. Бог каждому посылает проблемы по его силам. Так что одно из двух. Либо ты можешь-таки
справиться с проблемами, либо это не твои проблемы.
Последний раз редактировалось Сергей0308; 01.08.2017 в 16:31.
Если проблему можно решить за деньги, это не проблема, это расходы. Бог каждому посылает проблемы по его силам. Так что одно из двух. Либо ты можешь-таки
справиться с проблемами, либо это не твои проблемы.
Вы второй раз пройдитесь, и разберитесь в том, почему нельзя просто брать и замыкать выход на вход.
"В железе" оно работает только из-за того, что вы там не следите за "количеством тактов, которые потребуются для выполнения схемы".
Соединили -- и оно как-то работает, за какое-то время устаканивается.
В ОЛ же поведение должно быть предсказуемо. Т.е. должно быть достаточно посмотреть на схему и понять куда пойдут сигналы, где задержатся и т.п.
Вот в железе можно подать выход "NOT" на его же вход.
Что теперь? Из-за этого и в ОЛ должна быть возможность замкнуть выход NOT'а на его вход? И что получится? Генератор со случайной частотой?
Или взорваться должно?
Вот Вы опять ничего не поняли, я даже не за то чтобы что-то изменить, а хотя бы за то, что бы вещи называть своими именами, вот в ОЛ UINT обозвали INT, многие вопросы задают спрашивают почему так-то да так-то, элемент обозвали Д-триггером который не работает как железный, вот может кто ответит на элементарный вопрос зачем намерено людей путать, ну назовите вы уинт уинтом или как ещё по-своему и расшифруйте значение, также с Д-триггером и никто бы не путался, лишних и ненужных вопросов не задавал бы, ну почему так нельзя???
Если проблему можно решить за деньги, это не проблема, это расходы. Бог каждому посылает проблемы по его силам. Так что одно из двух. Либо ты можешь-таки
справиться с проблемами, либо это не твои проблемы.
Bad programmers worry about the code. Good programmers worry about data structures and their relationships
среди успешных людей я не встречала нытиков
Барбара Коркоран