OutputSection.oracle
Pradeep Sindhu October 4, 1987 0:29:23 am PDT
Don Curry March 24, 1988 11:01:35 am PST
Test copied from CacheOutputSection.oracle July 2, 1987 6:22:40 pm PDT [PSS]
Rechecked after putting together cache top level July 2, 1987 6:00:25 pm PDT [PSS]
Checked behavioral proc against this file September 22, 1987 3:10:25 pm PDT [PSS]
Reset Sequence:
Reset
F    R  D  A  D P B R P P P P P R B P G G | A  R F H B
I    p  B  B  e M C e C C C C C p C C L r | B  e I e D 
F    l  u  u  v o m s t t t t t l t t e a | u  q F a a
O    y  s  s  I d d e l l l l l y l l n n | s  u O d t
D    H      d e  t D L L L S S L L g t |   e O e a
a    e          r d d d e t d d t  |   s v r O
t    a          A R R R t a F F h  |   t e C u
a    d          B B B B N l I I   |    r y t
    e          u u u u o e F F   |    f c 
    r          s f f f n 3 O O   |    l l 
              R D D H F 4     |    o e 
              q a a e B      |    w O 
              s t t a T      |     u
              t a a d I      |     t
              B L H e P      |
              u o i r       |        
00000000 0000 00 00 0 0 0 1 0 0 0 0 0 0 0 0 0 0 | xx x x x xxxx
00000000 0000 00 00 0 0 0 1 0 0 0 0 0 0 0 0 0 0 | xx 0 x x xxxx
00000000 0000 00 00 0 0 0 1 0 0 0 0 0 0 0 0 0 0 | xx 0 x x xxxx
00000000 0000 00 00 0 0 0 1 0 0 0 0 0 0 0 0 0 0 | xx 0 x x xxxx
Do a junk transaction to get x's cleared out of the cyclic shift (this won't be needed in the real hardware):
00000000 ABCD 00 00 0 0 0 0 0 0 0 0 0 0 1 0 0 0 | xx 3 0 0 xxxx
00000000 0000 00 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | xx 0 x x xxxx
00000000 0000 00 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | xx 0 0 0 xxxx
00000000 0000 00 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | xx 0 0 0 xxxx
00000000 0000 00 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | xx 0 0 0 xxxx
00000000 0000 00 00 0 0 0 0 0 0 0 0 0 0 0 0 1 0 | xx 0 0 1 ABCD
00000000 0000 00 00 0 0 0 0 0 0 0 0 0 0 0 0 0 1 | xx 0 0 0 xxxx
00000000 0000 00 00 0 0 0 0 0 0 0 0 0 0 0 0 0 1 | xx 0 0 0 xxxx
00000000 0000 00 00 0 0 0 0 0 0 0 0 0 0 0 0 0 1 | xx 0 0 0 xxxx
00000000 0000 00 00 0 0 0 0 0 0 0 0 0 0 0 0 0 1 | xx 0 0 0 xxxx
00000000 0000 00 00 0 0 0 0 0 0 0 0 0 0 0 0 0 1 | xx 0 0 0 xxxx
00000000 0000 00 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | xx 0 0 0 xxxx
00000000 0000 00 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | xx 0 0 0 xxxx
Now check that the buffer works:
F    R  D  A  D P B R P P P P P R B P G G | A  R F H B
I    p  B  B  e M C e C C C C C p C C L r | B  e I e D 
F    l  u  u  v o m s t t t t t l t t e a | u  q F a a
O    y  s  s  I d d e l l l l l y l l n n | s  u O d t
D    H      d e  t D L L L S S L L g t |   e O e a
a    e          r d d d e t d d t  |   s v r O
t    a          A R R R t a F F h  |   t e C u
a    d          B B B B N l I I   |    r y t
    e          u u u u o e F F   |    f c 
    r          s f f f n 3 O O   |    l l 
              R D D H F 4     |    o e 
              q a a e B      |    w O 
              s t t a T      |     u
              t a a d I      |     t
              B L H e P      |
              u o i r       |        
Fill the buffer:
00000000 0000 CD AB 1 1 4 0 0 1 0 1 0 0 0 0 0 0 | xx 0 0 0 xxxx
00000000 0000 EF 00 0 0 0 0 0 0 1 0 1 0 0 0 0 0 | xx 2 0 0 xxxx
Send it:
00000000 0000 00 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | xx 0 0 1 45AB
00000000 0000 00 00 0 0 0 0 0 0 0 0 0 0 0 0 0 1 | xx 0 0 0 EFCD
Try two combinations (in the first, grant is as early as can work; in the second it is one cycle earlier)
00000000 0000 EE 00 0 0 0 0 0 0 1 0 0 0 0 0 1 1 | xx 0 0 0 xxxx
00000000 0000 FF 55 0 0 2 0 0 1 0 1 1 0 0 0 1 0 | xx 2 0 0 xxxx
00000000 0000 00 xx 0 0 0 0 1 0 0 0 0 0 0 0 0 0 | 55 0 0 1 2055
00000000 0000 00 xx 0 0 0 0 1 0 0 0 0 0 0 0 1 1 | 55 0 0 0 EEFF
00000000 0000 00 xx 0 0 0 0 1 0 0 0 0 0 0 0 1 1 | 55 0 0 0 xxxx
00000000 0000 FF AA 0 0 2 0 0 1 0 1 0 0 0 0 1 0 | xx 0 0 0 xxxx
00000000 0000 EE xx 0 0 0 0 1 0 1 0 1 0 0 0 0 0 | AA 2 0 0 xxxx
00000000 0000 00 xx 0 0 0 0 1 0 0 0 0 0 0 0 1 1 | AA 0 0 0 xxxx
00000000 0000 00 xx 0 0 0 0 1 0 0 0 0 0 0 0 0 1 | AA 0 0 1 20AA
00000000 0000 00 xx 0 0 0 0 1 0 0 0 0 0 0 0 1 1 | AA 0 0 0 EEFF
00000000 0000 00 xx 0 0 0 0 1 0 0 0 0 0 0 0 0 1 | AA 0 0 0 xxxx
00000000 0000 00 xx 0 0 0 0 1 0 0 0 0 0 0 0 1 1 | AA 0 0 0 xxxx
00000000 0000 00 xx 0 0 0 0 1 0 0 0 0 0 0 0 1 1 | AA 0 0 0 xxxx
Now fill up the FIFO with RBRply's and then check the output
F    R  D  A  D P B R P P P P P R B P G G | A  R F H B
I    p  B  B  e M C e C C C C C p C C L r | B  e I e D 
F    l  u  u  v o m s t t t t t l t t e a | u  q F a a
O    y  s  s  I d d e l l l l l y l l n n | s  u O d t
D    H      d e  t D L L L S S L L g t |   e O e a
a    e          r d d d e t d d t  |   s v r O
t    a          A R R R t a F F h  |   t e C u
a    d          B B B B N l I I   |    r y t
    e          u u u u o e F F   |    f c 
    r          s f f f n 3 O O   |    l l 
              R D D H F 4     |    o e 
              q a a e B      |    w O 
              s t t a T      |     u
              t a a d I      |     t
              B L H e P      |
              u o i r       |        
RPRply's with different cyclic orders:
00011444 0800 00 00 0 0 0 0 0 0 0 0 0 0 1 0 0 0 | xx 3 0 0 xxxx
00000000 0000 00 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | xx 0 0 0 xxxx
00011444 0802 00 00 0 0 0 0 0 0 0 0 0 0 1 0 0 0 | xx 3 0 0 xxxx
00000000 0000 00 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | xx 0 0 0 xxxx
00011444 0804 00 00 0 0 0 0 0 0 0 0 0 0 1 0 0 0 | xx 3 0 0 xxxx
00000000 0000 00 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | xx 0 0 0 xxxx
00011444 0806 00 00 0 0 0 0 0 0 0 0 0 0 1 0 0 0 | xx 3 0 0 xxxx
00000000 0000 00 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | xx 0 0 0 xxxx
Check them:
00000000 0000 00 00 0 0 0 0 0 0 0 0 0 0 0 0 1 0 | xx 0 0 1 0800
00000000 0000 00 00 0 0 0 0 0 0 0 0 0 0 0 0 0 1 | xx 0 0 0 0001
00000000 0000 00 00 0 0 0 0 0 0 0 0 0 0 0 0 0 1 | xx 0 0 0 0002
00000000 0000 00 00 0 0 0 0 0 0 0 0 0 0 0 0 0 1 | xx 0 0 0 0003
00000000 0000 00 00 0 0 0 0 0 0 0 0 0 0 0 0 0 1 | xx 0 0 0 0004
00000000 0000 00 00 0 0 0 0 0 0 0 0 0 0 0 0 1 1 | xx 0 0 1 0802
00000000 0000 00 00 0 0 0 0 0 0 0 0 0 0 0 0 0 1 | xx 0 0 0 0002
00000000 0000 00 00 0 0 0 0 0 0 0 0 0 0 0 0 0 1 | xx 0 0 0 0003
00000000 0000 00 00 0 0 0 0 0 0 0 0 0 0 0 0 0 1 | xx 0 0 0 0004
00000000 0000 00 00 0 0 0 0 0 0 0 0 0 0 0 0 0 1 | xx 0 0 0 0001
00000000 0000 00 00 0 0 0 0 0 0 0 0 0 0 0 0 1 1 | xx 0 0 1 0804
00000000 0000 00 00 0 0 0 0 0 0 0 0 0 0 0 0 0 1 | xx 0 0 0 0003
00000000 0000 00 00 0 0 0 0 0 0 0 0 0 0 0 0 0 1 | xx 0 0 0 0004
00000000 0000 00 00 0 0 0 0 0 0 0 0 0 0 0 0 0 1 | xx 0 0 0 0001
00000000 0000 00 00 0 0 0 0 0 0 0 0 0 0 0 0 0 1 | xx 0 0 0 0002
00000000 0000 00 00 0 0 0 0 0 0 0 0 0 0 0 0 1 1 | xx 0 0 1 0806
00000000 0000 00 00 0 0 0 0 0 0 0 0 0 0 0 0 0 1 | xx 0 0 0 0004
00000000 0000 00 00 0 0 0 0 0 0 0 0 0 0 0 0 0 1 | xx 0 0 0 0001
00000000 0000 00 00 0 0 0 0 0 0 0 0 0 0 0 0 0 1 | xx 0 0 0 0002
00000000 0000 00 00 0 0 0 0 0 0 0 0 0 0 0 0 0 1 | xx 0 0 0 0003
Try FBRqst to see if it will be cancelled:
F    R  D  A  D P B R P P P P P R B P G G | A  R F H B
I    p  B  B  e M C e C C C C C p C C L r | B  e I e D 
F    l  u  u  v o m s t t t t t l t t e a | u  q F a a
O    y  s  s  I d d e l l l l l y l l n n | s  u O d t
D    H      d e  t D L L L S S L L g t |   e O e a
a    e          r d d d e t d d t  |   s v r O
t    a          A R R R t a F F h  |   t e C u
a    d          B B B B N l I I   |    r y t
    e          u u u u o e F F   |    f c 
    r          s f f f n 3 O O   |    l l 
              R D D H F 4     |    o e 
              q a a e B      |    w O 
              s t t a T      |     u
              t a a d I      |     t
              B L H e P      |
              u o i r       |        
RBRply followed by FBRqst followed by two other random packets:
00011444 0800 00 00 0 0 0 0 0 0 0 0 0 0 1 0 0 0 | xx 3 0 0 xxxx
00000000 0000 00 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | xx 0 0 0 xxxx
00011444 0000 00 00 0 0 3 0 0 0 0 0 0 0 0 1 0 0 | xx 3 0 0 xxxx
00000000 0000 00 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | xx 0 0 0 xxxx
00011444 09F5 00 00 0 0 0 0 0 0 0 0 0 0 1 0 0 0 | xx 3 0 0 xxxx
00000000 0000 00 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | xx 0 0 0 xxxx
00011444 08FF 00 00 0 0 0 0 0 0 0 0 0 0 1 0 0 0 | xx 3 0 0 xxxx
00000000 0000 00 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | xx 0 0 0 xxxx
Check the output:
00000000 0000 00 00 0 0 0 0 0 0 0 0 0 0 0 0 1 0 | xx 0 0 1 0800
00000000 0000 00 00 0 0 0 0 0 0 0 0 0 0 0 0 0 1 | xx 0 0 0 0001
00000000 0000 00 00 0 0 0 0 0 0 0 0 0 0 0 0 0 1 | xx 0 0 0 0002
00000000 0000 00 00 0 0 0 0 0 0 0 0 0 0 0 0 0 1 | xx 0 0 0 0003
00000000 0000 00 00 0 0 0 0 0 0 0 0 0 0 0 0 0 1 | xx 0 0 0 0004
00000000 0000 00 00 0 0 0 0 0 0 0 0 0 1 0 0 1 1 | xx 0 0 0 3000
00000000 0000 00 00 0 0 0 0 0 0 0 0 0 1 0 0 0 1 | xx 0 0 0 0001
00000000 0000 00 00 0 0 0 0 0 0 0 0 0 1 0 0 0 1 | xx 0 0 0 0002
00000000 0000 00 00 0 0 0 0 0 0 0 0 0 1 0 0 0 1 | xx 0 0 0 0003
00000000 0000 00 00 0 0 0 0 0 0 0 0 0 1 0 0 0 1 | xx 0 0 0 0004
00000000 0000 00 00 0 0 0 0 0 0 0 0 0 0 0 0 1 1 | xx 0 0 1 09F5
00000000 0000 00 00 0 0 0 0 0 0 0 0 0 0 0 0 0 1 | xx 0 0 0 0003
00000000 0000 00 00 0 0 0 0 0 0 0 0 0 0 0 0 0 1 | xx 0 0 0 0004
00000000 0000 00 00 0 0 0 0 0 0 0 0 0 0 0 0 0 1 | xx 0 0 0 0001
00000000 0000 00 00 0 0 0 0 0 0 0 0 0 0 0 0 0 1 | xx 0 0 0 0002
00000000 0000 00 00 0 0 0 0 0 0 0 0 0 0 0 0 1 1 | xx 0 0 1 08FF
00000000 0000 00 00 0 0 0 0 0 0 0 0 0 0 0 0 0 1 | xx 0 0 0 0004
00000000 0000 00 00 0 0 0 0 0 0 0 0 0 0 0 0 0 1 | xx 0 0 0 0001
00000000 0000 00 00 0 0 0 0 0 0 0 0 0 0 0 0 0 1 | xx 0 0 0 0002
00000000 0000 00 00 0 0 0 0 0 0 0 0 0 0 0 0 0 1 | xx 0 0 0 0003
00000000 0000 00 00 0 0 0 0 0 0 0 0 0 0 0 0 0 1 | xx 0 0 0 xxxx
Finally check that filling the buffer and the FIFO simultaneously works:
F    R  D  A  D P B R P P P P P R B P G G | A  R F H B
I    p  B  B  e M C e C C C C C p C C L r | B  e I e D 
F    l  u  u  v o m s t t t t t l t t e a | u  q F a a
O    y  s  s  I d d e l l l l l y l l n n | s  u O d t
D    H      d e  t D L L L S S L L g t |   e O e a
a    e          r d d d e t d d t  |   s v r O
t    a          A R R R t a F F h  |   t e C u
a    d          B B B B N l I I   |    r y t
    e          u u u u o e F F   |    f c 
    r          s f f f n 3 O O   |    l l 
              R D D H F 4     |    o e 
              q a a e B      |    w O 
              s t t a T      |     u
              t a a d I      |     t
              B L H e P      |
              u o i r       |        
Fill them both:
00011444 0800 CD AB 1 1 4 0 0 1 0 1 1 0 1 0 0 0 | xx 3 0 0 xxxx
00000000 0000 EF 00 0 0 0 0 0 0 1 0 0 0 0 0 0 0 | xx 2 0 1 xxxx
Wait for a couple of cycles for the reply to get to the other end of the FIFO:
00000000 0000 00 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | xx 0 0 1 xxxx
00000000 0000 00 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | xx 0 0 1 xxxx
00000000 0000 00 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | xx 0 0 1 xxxx
00000000 0000 00 00 0 0 0 0 0 0 0 0 0 0 0 0 1 0 | xx 0 0 1 0800
00000000 0000 00 00 0 0 0 0 0 0 0 0 0 0 0 0 0 1 | xx 0 0 0 0001
00000000 0000 00 00 0 0 0 0 0 0 0 0 0 0 0 0 0 1 | xx 0 0 0 0002
00000000 0000 00 00 0 0 0 0 0 0 0 0 0 0 0 0 0 1 | xx 0 0 0 0003
00000000 0000 00 00 0 0 0 0 0 0 0 0 0 0 0 0 0 1 | xx 0 0 0 0004
00000000 0000 00 00 0 0 0 0 0 0 0 0 0 0 0 0 0 1 | xx 0 0 1 45AB
00000000 0000 00 00 0 0 0 0 0 0 0 0 0 0 0 0 0 1 | xx 0 0 0 EFCD
.