IdleEven = ^h01; StartEven = ^h10; HdrEven = ^h32; A0State = ^h72; A1State = ^h33; A2State = ^h60; A3State = ^h25; A4State = ^h3E; A5State = ^h23; A6State = ^h52; IdleOdd = ^h57; StartOdd = ^h2A; HdrOdd = ^h59; A7State = ^h78; A8State = ^h0E; CmdState = ^h75; ResetState = ^h00; St = [!nS0, !nS1, !nS2, !nS3, !nS4, !nS5, !nS6]; EQUATIONS nJump = !( (St == ResetState) # (St == IdleEven) & SerIn # (St == StartEven) & SerIn # (St == IdleOdd) & SerIn # (St == StartOdd) & SerIn # (St == HdrOdd) & !SerIn ); nCmd = !(St == CmdState); OnA := !( nCmd & !OnA & nForceOn # (St == CmdState) & nBadAdr & (!OnA # OnB) & !SerIn & nForceOn # (St == CmdState) & (!nBadAdr # (OnA & !OnB)) & !OnA & nForceOn # (St == ResetState) ); nHdrEven := !(St == HdrEven); nBad0To7 := !( (St == A0State) & (SerIn != A0) # (St == A1State) & (SerIn != A1) # (St == A2State) & (SerIn != A2) # (St == A3State) & (SerIn != A3) # (St == A4State) & (SerIn != A4) # (St == A5State) & (SerIn != A5) # (St == A6State) & (SerIn != A6) # (St == A7State) & (SerIn != A7) ); nBadAdr := !( nHdrEven & !nBadAdr # (St == HdrEven) & SerIn # !nBad0To7 # (St == A8State) & (SerIn != A8) ); END SunPwrAd