%i "inc4.sfl" submod_class inc4 { input in<4> ; output out<4> ; instrin do ; instr_arg do(in) ; } module decimal { input in<4> ; output out<4> ; tmp tmp<4> ; reg r<4> ; instrin start; inc4 inc0 ; stage_name count { task run() ; } instruct start generate count.run() ; stage count { state_name st0 ; state_name st1 ; first_state st0 ; state st0 par { tmp = in ; r := tmp ; out = r ; goto st1 ; } state st1 par { tmp = inc0.do(r).out ; any { tmp == 0xa : par { r := 0x0 ; out = r ; goto st1 ; } else : par { r := tmp ; out = r ; } } } } }