`include "macroasm.vh" // look into macroasm.vh for more info
// Those are the operations performed by master 1
// (the one with worse priority in arbiter)
`WRITE(30000, 03e8)
`WAIT
`READ (30000, 03e8)
`WRITE(50005, 0403)
`WAIT
`WAIT
`WAIT
`WRITE(50120, 0120)
`READ (50005, 0403)
`READ (50120, 0120)
`DESELECT
`WAIT
`WAIT
`WAIT
`WAIT
`WRITE(b0005, 22ef)
// Let's make the operations block significantly long.
// If arbiter works properly, it should not allow master 0
// to complete its operations in the meantime
// (master 1's CYC_O is still high during `WAITs)
`WAIT
`WAIT
`WAIT
`WAIT
`WAIT
`WAIT
`WAIT
`WAIT
`WAIT
`WAIT
`WAIT
`WAIT
`WAIT
`WAIT
`WAIT
`WAIT
`WAIT
`WAIT
`WAIT
`WAIT
`WAIT
`WAIT
`WAIT
`WAIT
`WAIT
`WAIT
`WAIT
`WAIT
`WAIT
`WAIT
`WAIT
`WAIT
`WAIT
`WAIT
`WAIT
`WAIT
`WAIT
`WAIT
`WAIT
`WAIT
`WAIT
`WAIT
`WAIT
`WAIT
`WAIT
`WAIT
`WAIT
`WAIT
`WAIT
`WAIT
`WAIT
`WAIT
`WAIT
`WAIT
`WAIT
`WAIT
`WAIT
`WAIT
`WAIT
`WAIT
`WAIT
`WAIT
`WAIT
`WAIT
`WAIT
`WAIT
`WAIT
`WAIT
`WAIT
`WAIT
`WAIT
`WAIT
`WAIT
`WAIT
`WAIT
`WAIT
`WAIT
`WAIT
`WAIT
`WAIT
`WAIT
`WAIT
`WAIT
`WAIT
`WAIT
`WAIT
`WAIT
`WAIT
`WAIT
`WAIT
`WAIT
`WAIT
`WAIT
`WAIT
`WAIT
`WAIT
`WAIT
`WAIT
`WAIT
`WAIT
`WAIT
`WAIT
`WAIT
`WAIT
`WAIT
`WAIT
`WAIT
`WAIT
`WAIT
`WAIT
`WAIT
`WAIT
`WAIT
`WAIT
`WAIT
`WAIT
`WAIT
`WAIT
`WAIT
`WAIT
`WAIT
`WAIT
`WAIT
`WAIT
`WAIT
`WAIT
`WAIT
`WAIT
`WAIT
`WAIT
`WAIT
`WAIT
`WAIT
`WAIT
`WAIT
`WAIT
`WAIT
`WAIT
`WAIT
`WAIT
`READ (b0005, 22ef)
`WRITE(0001a, 0a1b)
// Only values written until this point will also be checked by master 0
`DESELECT
`READ (0001a, 0a1b)
// Let's force some interleaved single operations by both masters
`WRITE(4001c, 0a1b)
`DESELECT
`WRITE(9003e, 2c3d)
`DESELECT
`READ (9003e, 2c3d)
`DESELECT
`READ (4001c, 0a1b)
`DESELECT
`WRITE(d0050, 4e5f)
`DESELECT
`WRITE(20072, 6071)
`DESELECT
`READ (20072, 6071)
`DESELECT
`READ (d0050, 4e5f)
`DESELECT
// See comment at the end of master 0's operations - we do it analogously here
`READ (00000, abcd)
`READ (a1010, a2a2)
`READ (50001, 4321)
type='search' size='10' name='q' value=''/>