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
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
.