" ABEL Code for the Sequence detector 1011, implemented as a Mealy Machine
" File: SeqDet.abl
" created: 11/14/98 23:03:36
" from: \SeqDet.asf'
" by: fsm2hdl - version: 2.0.1.15

module seqdet
Title 'seqdet'

Declarations
"clocks
CLK PIN;

"input ports
RST PIN;
X PIN;

"output ports
Z PIN;

Equations
"diagram ACTIONS
Declarations

"******** SYMBOLIC state machine: Sreg0 ******

Sreg0 STATE_REGISTER;
S0, S1, S2, S3 STATE;

"************* state machine: Sreg0 *************

Equations
" clock signals definitions
    Sreg0.clk = CLK;
State_diagram Sreg0
    ASYNC_RESET S0 : RST;

State S0:
    IF (X&!RST) THEN
    S1 WITH
    Z=^b0;
    ENDWITH
    ELSE IF (!X#RST) THEN
        S0 WITH
        Z=^b0;
        ENDWITH;

State S1:
    IF (X&!RST) THEN
    S1 WITH
    Z=^b0;
    ENDWITH
    ELSE IF (!X&!RST) THEN
        S2 WITH
      Z=^b0;
      ENDWITH;

State S2:
    IF (X&!RST) THEN
    S3 WITH
    Z=^b0;
    ENDWITH
    ELSE IF (!X&!RST) THEN
        S0 WITH
     Z=^b0;
     ENDWITH;

State S3:
    IF (X&!RST) THEN
    S1 WITH
    Z=^b1;
    ENDWITH
    ELSE IF (!X&!RST) THEN
        S2 WITH
    Z=^b0;
    ENDWITH;

" end of state machine - Sreg0
end seqdet