%i "inc4.sfl" submod_class inc4 { input in<4> ; output out<4> ; instrin do ; instr_arg do(in) ; } module count4 { 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 ; r := tmp ; out = r ; goto st1 ; } } }