module onesctsm title 'Ones-counting State Machine' "ONESCTSM device 'P16V8R'; " Inputs and outputs CLOCK, RESET, X, Y pin 1, 2, 3, 4; Z pin 13 istype 'com'; COUNT1..COUNT0 pin 14, 15 istype 'reg'; " Sets COUNT = [COUNT1..COUNT0]; equations COUNT.CLK = CLOCK; WHEN RESET THEN COUNT := 0; ELSE WHEN X & Y THEN COUNT := COUNT + 2; ELSE WHEN X # Y THEN COUNT := COUNT + 1; ELSE COUNT := COUNT; Z = (COUNT == 0); end onesctsm