меня не покидает ощущение, что вы нас обманываете. никакие обратные связи, и никакая трижды линейная программа не могут давать A = !A.
по крайней мере, в нашей вселенной.
В любом случае, при схеме с обратной связью где-то (будь то на входе или на выходе) значение будет обновлено только на следующем такте. Но я считаю что в любой момент времени (под любым моментом понимается в конец любого цикла программы) выполнение функций элементов должны быть верны. Но с точки зрения отображения значений допустимо, что на одном конце связи одно значение, на другом будет другое...Может не понятно написал... Например, рассмотрев простейший случай, когда с выхода элемента идет связь на его же вход. Тогда значение на этом входе будет равно выходу на следующем такте. Надеюсь понятно объяснил.
![]()
То, что на данный момент схема ведет себя не адекватно в разных ситуациях было уже сказано мной http://www.owen.ru/forum/showpost.ph...&postcount=213.
Последний раз редактировалось wal79; 12.04.2011 в 10:33.
программер
ну не скажите.... вот типичный пример, который легко реализуется и на языке функциональных блоков
тут а<>а, НО а=а+1так же как и пример Т-триггер мне казался не важным, следующие два триггера тож мне кажутся просто баловством...Код:while True do a:=a+1 end
но по "просьбам трудящихся" всё же опубликую...
верхняя часть - это D-триггер, а нижняя - просто детектор фронтов, причём обоих...
не понял про р-триггер
так по фронту есть встроенный...
или я не прав?
Нужен еще кольцевой целочисленный регистр сдвига ,с параллельной записью и сдвигом информации по синхроимпульсу ,с переменной(задаваемой) разрядностью(количество бит).На булевой логике я это делал ,хорощо бы иметь и целочисленный вариант ,которые у вас хорошо получаются
Последний раз редактировалось rovki; 14.04.2011 в 07:24.
электронщик до мозга костей и не только