Я не всматривался в код. Просто у кодесиса своя последовательность выполнения программы согласно стандарта. Сначала входа, потом блоки, у которых определены входа а затем те, у которых определились входа, и последними обратные связи, и то, иногда в следующем цикле.
Иногда бывает на LD или ST можно не туда воткнуть, а тут надо быть особо внимательным.
И да, ртриг работает только один такт, дальше вход надо обнулить, чтоб ещё один импульс получить.