All pastes #445309 Raw Edit

Stuff

public text v1 · immutable
·published 2007-04-17 20:12 UTC
rendered paste body
MODULE main
VAR
    event_queue_idle: boolean;
    event_queue_insert: array 0..1 of boolean;
    event_queue_inserted: array 0..1 of boolean;
    event_queue_consume: array 0..1 of boolean;
    event_queue_consumed: array 0..1 of boolean;

    q: event_queue(event_queue_idle, event_queue_insert, event_queue_inserted, event_queue_consume, event_queue_consumed);
    sc_nameless_id324: nameless_id324(event_queue_idle, event_queue_insert, event_queue_inserted, event_queue_consume, event_queue_consumed);
    sc_nameless_id325: nameless_id325(event_queue_idle, event_queue_insert, event_queue_inserted, event_queue_consume, event_queue_consumed);

MODULE nameless_id324(event_queue_idle, event_queue_insert, event_queue_inserted, event_queue_consume, event_queue_consumed)
VAR
    state : {State19_id354, State18_id353, State17_id352, InitialState_id351, insert_event_event2, consume_event_event1};
ASSIGN
    init(state) := InitialState_id351;
    next(state) :=
        case
            state = State18_id353 & event_queue_idle & event_queue_insert[1]: insert_event_event2;
            state = insert_event_event2 & !event_queue_insert[1]: State19_id354;
            state = State17_id352 & event_queue_idle & event_queue_consume[0]: consume_event_event1;
            state = consume_event_event1 & !event_queue_consume[0]: State18_id353;
            state = InitialState_id351 : State17_id352;
            1: state;
        esac;

    next(event_queue_insert[1]) :=
        case
            !event_queue_insert[1] & state = State18_id353: 1;
            event_queue_insert[1] & event_queue_inserted[1]: 0;
            1: event_queue_insert[1];
        esac;

    next(event_queue_consume[0]) :=
        case
            !event_queue_consume[0] & state = State17_id352: 1;
            event_queue_consume[0] & event_queue_consumed[0]: 0;
            1: event_queue_consume[0];
        esac;

MODULE nameless_id325(event_queue_idle, event_queue_insert, event_queue_inserted, event_queue_consume, event_queue_consumed)
VAR
    state : {State22_id363, State21_id362, State20_id361, InitialState_id360, consume_event_event2, insert_event_event1};
ASSIGN
    init(state) := InitialState_id360;
    next(state) :=
        case
            state = State21_id362 & event_queue_idle & event_queue_consume[1]: consume_event_event2;
            state = consume_event_event2 & !event_queue_consume[1]: State22_id363;
            state = State20_id361 & event_queue_idle & event_queue_insert[0]: insert_event_event1;
            state = insert_event_event1 & !event_queue_insert[0]: State21_id362;
            state = InitialState_id360 : State20_id361;
            1: state;
        esac;

    next(event_queue_consume[1]) :=
        case
            !event_queue_consume[1] & state = State21_id362: 1;
            event_queue_consume[1] & event_queue_consumed[1]: 0;
            1: event_queue_consume[1];
        esac;

    next(event_queue_insert[0]) :=
        case
            !event_queue_insert[0] & state = State20_id361: 1;
            event_queue_insert[0] & event_queue_inserted[0]: 0;
            1: event_queue_insert[0];
        esac;

MODULE event_queue(event_queue_idle, event_queue_insert, event_queue_inserted, event_queue_consume, event_queue_consumed)
VAR
    event_queue_events: array 0..1 of 0..5;
ASSIGN
    init(event_queue_idle) := 1;
    init(event_queue_events[0]) := 0;
    init(event_queue_insert[0]) := 0;
    init(event_queue_inserted[0]) := 0;
    init(event_queue_consume[0]) := 0;
    init(event_queue_consumed[0]) := 0;
    init(event_queue_events[1]) := 0;
    init(event_queue_insert[1]) := 0;
    init(event_queue_inserted[1]) := 0;
    init(event_queue_consume[1]) := 0;
    init(event_queue_consumed[1]) := 0;

    next(event_queue_events[0]) :=
        case
            !event_queue_idle & event_queue_insert[0] & event_queue_consume[0]: event_queue_events[0];
            !event_queue_idle & event_queue_events[0] < 5 & event_queue_insert[0]: event_queue_events[0] + 1;
            !event_queue_idle & event_queue_events[0] > 0 & event_queue_consume[0]: event_queue_events[0] - 1;
            1: event_queue_events[0];
        esac;

    next(event_queue_events[1]) :=
        case
            !event_queue_idle & event_queue_insert[1] & event_queue_consume[1]: event_queue_events[1];
            !event_queue_idle & event_queue_events[1] < 5 & event_queue_insert[1]: event_queue_events[1] + 1;
            !event_queue_idle & event_queue_events[1] > 0 & event_queue_consume[1]: event_queue_events[1] - 1;
            1: event_queue_events[1];
        esac;

    next(event_queue_idle) :=
        case
            event_queue_idle & (event_queue_insert[0] | event_queue_insert[1]): 0;
            event_queue_idle & ((event_queue_events[0] = 0 & event_queue_consume[0]) | (event_queue_events[1] = 0 & event_queue_consume[1])): 1;
            event_queue_idle & (event_queue_consume[0] | event_queue_consume[1]): 0;
            !event_queue_idle & !(event_queue_inserted[0] | event_queue_consumed[0] | event_queue_inserted[1] | event_queue_consumed[1]): 1;
            1: event_queue_idle;
        esac;

    next(event_queue_inserted[0]) :=
        case
            !event_queue_idle & event_queue_insert[0]: 1;
            1: 0;
        esac;

    next(event_queue_inserted[1]) :=
        case
            !event_queue_idle & event_queue_insert[1]: 1;
            1: 0;
        esac;

    next(event_queue_consumed[0]) :=
        case
            !event_queue_idle & event_queue_consume[0]: 1;
            1: 0;
        esac;

    next(event_queue_consumed[1]) :=
        case
            !event_queue_idle & event_queue_consume[1]: 1;
            1: 0;
        esac;