%i "inc8.sfl" %i "dec8.sfl" submod_class inc8 { input a<8> ; output s<8> ; instrin do ; instr_arg do(a) ; } submod_class dec8 { input a<8> ; output s<8> ; instrin do ; instr_arg do(a) ; } module sp { /* module description of an Program Counter */ output out<8> ; reg sp<8> ; instrin dec ; instrin inc ; instrin reset ; instrin hold ; inc8 inc_8 ; dec8 dec_8 ; instruct reset /* if reset is active */ par { sp := 0b11111111 ; out = sp ; } instruct hold /* if hold is active */ out = sp ; instruct inc /* if inc is active */ par { sp := inc_8.do(sp).s ; out = inc_8.do(sp).s ; } instruct dec /* if inc is active */ par { sp := dec_8.do(sp).s ; out = sp ; } }