diff options
Diffstat (limited to 'tests/master_arbiter/operations1.memv')
-rw-r--r-- | tests/master_arbiter/operations1.memv | 190 |
1 files changed, 190 insertions, 0 deletions
diff --git a/tests/master_arbiter/operations1.memv b/tests/master_arbiter/operations1.memv new file mode 100644 index 0000000..1900676 --- /dev/null +++ b/tests/master_arbiter/operations1.memv @@ -0,0 +1,190 @@ +`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(30005, 0403) +`WAIT +`WAIT +`WAIT +`WRITE(30120, 0120) +`READ (30005, 0403) +`READ (30120, 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(3001a, 0a1b) +// Only values written until this point will also be checked by master 0 +`DESELECT +`READ (3001a, 0a1b) +// Let's force some interleaved single operations by both masters +`WRITE(3001c, 0a1b) +`DESELECT +`WRITE(3003e, 2c3d) +`DESELECT +`READ (3003e, 2c3d) +`DESELECT +`READ (3001c, 0a1b) +`DESELECT +`WRITE(30050, 4e5f) +`DESELECT +`WRITE(30072, 6071) +`DESELECT +`READ (30072, 6071) +`DESELECT +`READ (30050, 4e5f) +`DESELECT +// See comment at the end of master 0's operations - we do it analogoulys here +`READ (00000, abcd) +`READ (01010, a2a2) +`READ (00001, 4321) |