VME Bus Arbitration Using a GAL22V10
3
BCLR.OE = OE;
BCLR.C = CLK;
Test_vectors
([CLK,!RESET,!BBUSY,!BR3,!BR2,!BR1,!BR0,!OE]->
[!BCLR,!BGIN3,!BGIN2,!BGIN1,!BGIN0,MASTER])
“ ! ! ! ! ! ! M
“ R B ! B B B B A
“ E B ! ! ! ! B G G G G S
“ C S U B B B B ! C I I I I T
“ L E S R R R R O L N N N N E
“ L T Y 3 2 1 0 E R 3 2 1 0 R
“ ———————————————
[X,X,X,X,X,X,X,1]->[Z,Z,Z,Z,Z,Z];“tristate
[C,1,1,1,1,1,0,0]->[H,H,H,H,L,0];“BR0 request
[C,1,1,1,1,1,0,0]->[H,H,H,H,L,0];
[C,1,1,1,1,1,0,0]->[H,H,H,H,L,0];
[C,1,0,1,1,1,1,0]->[H,H,H,H,H,0];
[C,1,0,1,1,1,1,0]->[H,H,H,H,H,0];
[C,1,0,1,1,1,0,0]->[L,H,H,H,H,0];“test bus clear line >= 0
[C,1,1,1,1,0,0,0]->[H,H,H,L,H,0];“BR1 request higher priority
[C,1,0,1,1,1,1,0]->[H,H,H,H,H,1];
[C,1,0,1,1,1,0,0]->[H,H,H,H,H,1];“test bus clear line >= 1
[C,1,0,1,1,0,1,0]->[L,H,H,H,H,1];
[C,1,1,1,0,0,0,0]->[H,H,L,H,H,0]; “BR2 request higher priority
[C,1,0,1,1,1,1,0]->[H,H,H,H,H,2];
[C,1,0,1,1,1,0,0]->[H,H,H,H,H,2]; “test bus clear line >= 2
[C,1,0,1,1,0,1,0]->[H,H,H,H,H,2];
[C,1,0,1,0,1,1,0]->[L,H,H,H,H,2];
[C,1,1,0,1,1,1,0]->[H,L,H,H,H,0]; “BR3 request higher priority
[C,1,0,1,1,1,1,0]->[H,H,H,H,H,3];
[C,1,0,1,1,1,0,0]->[H,H,H,H,H,3]; “test bus clear line
[C,1,0,1,1,0,1,0]->[H,H,H,H,H,3]; “requests ignored
[C,1,0,1,0,1,1,0]->[H,H,H,H,H,3];
[C,1,0,0,1,1,1,0]->[H,H,H,H,H,3];
[X,0,X,X,X,X,X,0]->[H,H,H,H,H,0]; “reset
END