%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 ;
}
}
}
}
}