home *** CD-ROM | disk | FTP | other *** search
- ROTATING PRIORITY RESOURCE ARBITER
-
- This procedural state machine definition implements a rotating priority
- resource arbiter intended to control access to a local bus. The arbiter
- ensures a one-cycle quiescent period between accesses. See Chapter 9 of
- the reference guide for a discussion of state machines and procedures.
-
- |PAL16R6 in:(R[1..3], RESET), out:(A[1..3], Q[2..0]), clock:CLOCK
- |
- | Title: "ROTATING PRIORITY RESOURCE ARBITER"
- | "Project 2700-3"
- | "Designed by WPL"
- |
- | Registers: CLOCK // A[1..3], Q[2..0]
- | High: CLOCK
- |
- | Procedure: RESET, Q[2..0]
- |
- | { WAIT1. R1? (A1=1 ->ACK1) |Wait for a request to arrive,
- | R2? (A2=1 ->ACK2) |giving R1 the highest
- | R3? (A3=1 ->ACK3) |priority.
- | ->WAIT1
- |
- | WAIT2. R2? (A2=1 ->ACK2) |Wait for a request to arrive,
- | R3? (A3=1 ->ACK3) |giving R2 the highest
- | R1? (A1=1 ->ACK1) |priority.
- | ->WAIT2
- |
- | WAIT3. R3? (A3=1 ->ACK3) |Wait for a request to arrive,
- | R1? (A1=1 ->ACK1) |giving R3 the highest
- | R2? (A2=1 ->ACK2) |priority.
- | ->WAIT3
- |
- | ACK1. R1? (A1=1 ->ACK1) |Hold acknowledgement 1 until
- | ->WAIT2 |request line 1 drops.
- |
- | ACK2. R2? (A2=1 ->ACK2) |Hold acknowledgement 2 until
- | ->WAIT3 |request line 2 drops.
- |
- | ACK3. R3? (A3=1 ->ACK3) |Hold acknowledgement 3 until
- | ->WAIT1 } |request line 3 drops.
-
-
- The test commands listed below are examples to show the operation of the
- state machine and are not intended to form a comprehensive test of the
- part.
-
- |Vectors:
- | { Display RESET, CLOCK, (Q[2..0])d, R[1..3], A[1..3]
- | Test RESET=1; CLOCK=0,1
- | Clear RESET
- | Test R[1..3]=111b; CLOCK=2(0,1)
- | Test R[1..3]=100b; CLOCK=1(0,1)
- | Test R[1..3]=000b; CLOCK=2(0,1)
- | Test R[1..3]=111b; CLOCK=2(0,1)
- | End }
-
-