update test cases to am33
authoradam <adam@megacz.com>
Fri, 25 Jan 2008 02:58:13 +0000 (03:58 +0100)
committeradam <adam@megacz.com>
Fri, 25 Jan 2008 02:58:13 +0000 (03:58 +0100)
21 files changed:
ships/Alu1.ship
ships/Alu2.ship
ships/Alu3.ship
ships/BitFifo.ship
ships/Fifo.ship
ships/Lut3.ship
tests/memory/count.and.stride.fleet
tests/memory/memory-test.fleet
tests/pump/standing-instructions-do-not-alter-repeat-count.fleet [new file with mode: 0644]
tests/pump/test-count.fleet
tests/pump/test-massacre.fleet
tests/pump/test-read-loop-counter-from-data-latch.fleet
tests/pump/test-read-loop-counter-literal.fleet [new file with mode: 0644]
tests/pump/test-read-loop-counter.fleet
tests/pump/test-repeat-counter.fleet [new file with mode: 0644]
tests/pump/test-use-loop-counter.fleet
tests/pump/token-on-last-iteration.fleet
tests/requeue/requeue-expire.fleet
tests/requeue/requeueing-literal.fleet
tests/requeue/test-kill-requeueing.fleet
tests/requeue/test-requeue.fleet

index 41f988b..8db948c 100644 (file)
@@ -98,11 +98,11 @@ The result of this operation is then made available at {\tt out}.
 debug.in:   [*] take, deliver;
 alu1.in:
   literal 9;
-  [4] deliver;
+  load repeat counter with 4; deliver;
   [*] take, deliver;
 
 alu1.out:
-  [4] take, sendto debug.in;
+  load repeat counter with 4; take, sendto debug.in;
   sendto alu1.in;
   [*] take, sendto debug.in;
 
@@ -110,7 +110,7 @@ alu1.inOp:
    literal 1; deliver;
    literal 2; deliver;
    literal 3; deliver;
-   literal 0; [2] deliver;
+   literal 0; load repeat counter with 2; deliver;
 
 
 == Contributors =========================================================
index 30ed60c..b1a7f1c 100644 (file)
@@ -120,10 +120,10 @@ public void service() {
 
 debug.in:   [*] take, deliver;
 alu.in1:
-  literal 9; [4] deliver;
+  literal 9; load repeat counter with 4; deliver;
 
 alu.in2:
-  literal 8; [4] deliver;
+  literal 8; load repeat counter with 4; deliver;
 
 alu.in1:    [*] take, deliver;
 alu.in2:    [*] take, deliver;
index cb75410..24b3efd 100644 (file)
@@ -140,9 +140,9 @@ public void service() {
 bitfifo.in:
   literal 10000;
   deliver;      // deliver a junk word
-  [37] deliver; // deliver it 37 times (once per bit)
+  load repeat counter with 37; deliver; // deliver it 37 times (once per bit)
   literal 0;
-  [38] deliver; // deliver it 37 times
+  load repeat counter with 38; deliver; // deliver it 37 times
 
 // insert bits in lsb order
 bitfifo.inOp:
@@ -155,32 +155,35 @@ bitfifo.outOp:
   [*] deliver;
 
 bitfifo.out:        [*] wait, take, sendto lut3.in2;
-lut3.in2:           [4] notify bitfifo.out;
-                    [74] take, deliver, notify bitfifo.out;
+lut3.in2:           load repeat counter with 4; notify bitfifo.out;
+                    load repeat counter with 63;
+                    take, deliver, notify bitfifo.out;
+                    load repeat counter with 11;
+                    take, deliver, notify bitfifo.out;
 
 // mux on second input
 lut3.inLut:         literal 226;
-                    [74] deliver;
+                    [*] deliver;
 
 lut3.in1:           literal 18683;
-                    [37] deliver;
+                    load repeat counter with 37; deliver;
                     literal 0;
-                    [37] deliver;
+                    load repeat counter with 37; deliver;
 
 lut3.in3:           literal 12000;
-                    [37] deliver;
+                    load repeat counter with 37; deliver;
                     literal 0;
-                    [37] deliver;
+                    load repeat counter with 37; deliver;
 
 lut3.out:           [*] wait, take, sendto alu3.in2;
 
 alu3.in1:      literal 0; deliver; [*] take, deliver;
-alu3.in2:      [1] notify lut3.out; [*] take, deliver, notify lut3.out;
+alu3.in2:      notify lut3.out; [*] take, deliver, notify lut3.out;
 alu3.in3:      literal 0; deliver; [*] take, deliver;
-alu3.out1:     [74] take, sendto alu3.in1;
-alu3.out2:     [74] take, sendto alu3.in3;
 alu3.outBits:  [*] take, sendto debug.in;
 
+alu3.out1:     [*] take, sendto alu3.in1;
+alu3.out2:     [*] take, sendto alu3.in3;
 
 debug.in:      [*] take, deliver;
 
index 371abe9..81aed63 100644 (file)
@@ -442,7 +442,7 @@ public void service() {
 bitfifo.outOp:      literal BitFifo.outOp[take=37]; [*] deliver;
 bitfifo.out:        [*] take, sendto debug.in;
 debug.in:           [*] take, deliver;
-bitfifo.in:         literal 1; [2] deliver;
+bitfifo.in:         literal 1; load repeat counter with 2; deliver;
 
 bitfifo.inOp:
   literal BitFifo.inOp[take=37];
index 663c524..bcaec4b 100644 (file)
@@ -41,10 +41,17 @@ debug.in:   [*] take, deliver;
 fifo.in:
   literal 9;
   deliver;
-  [100] take, deliver;
+  load repeat counter with 63;
+  take, deliver;
+  load repeat counter with 37;
+  take, deliver;
+
 fifo.out:
-  [99] take, sendto fifo.in;
-  [1]  take, sendto debug.in;
+  load repeat counter with 63;
+  take, sendto fifo.in;
+  load repeat counter with 36;
+  take, sendto fifo.in;
+  take, sendto debug.in;
 
 
 
index 72a51dd..6b68cc5 100644 (file)
@@ -375,17 +375,25 @@ lut.out:   [*] take, sendto debug.in;
 // cycle through truth tables using alu as INC
 alu.inOp:
    literal 1;
-   [120] deliver;
-   [120] deliver;
-   [15] deliver;
+   load repeat counter with 63;
+   deliver;
+   load repeat counter with 63;
+   deliver;
+   load repeat counter with 63;
+   deliver;
+   load repeat counter with 63;
+   deliver;
+   load repeat counter with 3;
+   deliver;
 alu.in:
    literal 0;
    deliver;
    [*] take, deliver;
 alu.out:
   clog;
-  wait, take, sendto lut.inLut, requeue forever;
-  sendto alu.in,                requeue forever;
+  load loop counter with 2;
+  wait, take, sendto lut.inLut;
+  sendto alu.in;
   unclog;
 
 // acks from debug ship trigger new truth tables
index 959490e..93a2012 100644 (file)
@@ -30,13 +30,13 @@ fifo.in:         [*] take, deliver;
 
 // send write-completion tokens to the fifo output
 memory.out:
-  [4] take, notify fifo.out;
+  load repeat counter with 4; take, notify fifo.out;
   [*] take, sendto debug.in;
 
 // when the write-completion tokens accumulate, unleash
 // the read addresses
 fifo.out:
-  [4] wait;
+  load repeat counter with 4; wait;
   take, sendto memory.inAddrRead;
 
 // read addresses
index 7c16fa2..84edfa7 100644 (file)
@@ -15,7 +15,7 @@ memory.inAddrRead:  [*] take, deliver;
 
 // send write-completion tokens to the fifo output
 memory.out:
-  [4] take, notify fifo.out;
+  load repeat counter with 4;  take, notify fifo.out;
   [*] take, sendto debug.in;
 
 memory.inAddrWrite: literal 1; deliver;
@@ -33,8 +33,8 @@ memory.inDataWrite:  literal 14; deliver;
 // when the write-completion tokens accumulate, unleash
 // the read addresses
 fifo.out:
-  [4] wait;
-  [4] take, sendto memory.inAddrRead;
+  load repeat counter with 4;  wait;
+  load repeat counter with 4;  take, sendto memory.inAddrRead;
 
 fifo.in:
   literal 4; deliver;
diff --git a/tests/pump/standing-instructions-do-not-alter-repeat-count.fleet b/tests/pump/standing-instructions-do-not-alter-repeat-count.fleet
new file mode 100644 (file)
index 0000000..c6100bf
--- /dev/null
@@ -0,0 +1,34 @@
+#expect 3
+#expect 3
+#expect 3
+#expect 3
+#expect 1
+
+#ship debug        : Debug
+#ship memory       : Memory
+#ship fifo         : Fifo
+
+debug.in: [*] take, deliver;
+
+fifo.in:
+  literal 5;
+  deliver;
+
+fifo.out:
+  literal 5;
+  load repeat counter;
+  [*] wait, notify memory.inCBD;
+  literal 3;
+  literal 3;
+  sendto debug.in;
+  literal 1;
+  sendto debug.in;
+
+memory.inCBD:
+  notify fifo.out;
+  take;
+  literal {
+    fifo.out:
+       kill;
+  };
+  deliver;
index a6d3015..7366f08 100644 (file)
 
 debug.in:
  literal 9;
- [100] deliver;
+ load repeat counter with 63;
+ deliver;
+ load repeat counter with 37;
+ deliver;
 
index 8f17d6f..74b162d 100644 (file)
@@ -2,18 +2,19 @@
 #expect 7
 #expect 7
 #expect 7
-#expect 7
 #expect 9
 
 #ship debug        : Debug
 #ship memory       : Memory
 #ship fifo         : Fifo
 
-debug.in: [*] take, deliver, notify fifo.in;
+debug.in:
+  load repeat counter with 3; take, deliver, notify fifo.in;
+  [*] take, deliver;
 
 fifo.out:
   notify fifo.in;
-  [4] take, sendto debug.in;
+  load repeat counter with 4; take, sendto debug.in;
   notify memory.inCBD;
   [*] take, sendto debug.in;
 
@@ -25,7 +26,7 @@ memory.inCBD:
   take;
   literal {
     fifo.in:
-      //take;
+      take;
       massacre;
       literal 9;
       deliver;
index d6fcbcb..3265ece 100644 (file)
@@ -8,15 +8,18 @@
 
 debug.in: [*] take, deliver;
 
+fifo.in:
+  literal 5;
+  deliver;
+
 fifo.out:
   take;
   sendto debug.in;
+  clog;
   load loop counter;
   literal 0;
   sendto debug.in;
   take loop counter;
-  sendto debug.in;
-
-fifo.in:
   literal 5;
-  deliver;
+  sendto debug.in;
+  unclog;
diff --git a/tests/pump/test-read-loop-counter-literal.fleet b/tests/pump/test-read-loop-counter-literal.fleet
new file mode 100644 (file)
index 0000000..d3ffa3f
--- /dev/null
@@ -0,0 +1,18 @@
+#expect 7
+
+#ship debug        : Debug
+#ship memory       : Memory
+#ship fifo         : Fifo
+
+debug.in: [*] take, deliver;
+
+fifo.out:
+  take, sendto debug.in;
+
+fifo.in:
+  clog;
+  load loop counter with 7;
+  literal 3;
+  take loop counter;
+  deliver;
+  unclog;
index 0fdee1b..64e0344 100644 (file)
@@ -1,4 +1,4 @@
-#expect 5
+#expect 7
 
 #ship debug        : Debug
 #ship memory       : Memory
@@ -7,6 +7,13 @@
 debug.in: [*] take, deliver;
 
 fifo.out:
-  load loop counter with 5;
+  literal 7;
+  sendto fifo.in;
+  load repeat counter with 2; take, sendto debug.in;
+
+fifo.in:
+  take;
+  load loop counter;
+  literal 0;
   take loop counter;
-  sendto debug.in;
+  deliver;
diff --git a/tests/pump/test-repeat-counter.fleet b/tests/pump/test-repeat-counter.fleet
new file mode 100644 (file)
index 0000000..af139b9
--- /dev/null
@@ -0,0 +1,22 @@
+#expect 5
+#expect 5
+#expect 5
+#expect 1
+#expect 2
+
+#ship debug        : Debug
+#ship fifo         : Fifo
+
+debug.in: [*] take, deliver;
+
+fifo.out: [*] take, sendto debug.in;
+
+fifo.in:
+  literal 5;
+  load repeat counter with 3;
+  deliver;
+  literal 1;
+  deliver;
+  literal 2;
+  deliver;
+
index cc59c70..9925eb4 100644 (file)
@@ -22,4 +22,4 @@ fifo.in:
 
 fifo2.out:
   literal 7;
-  [4] sendto fifo.in;
+  load repeat counter with 4; sendto fifo.in;
index 0d0d2e7..4367e27 100644 (file)
@@ -7,16 +7,18 @@
 #ship fifo         : Fifo
 
 fifo.in:
-  literal 3; [3] deliver;
-  literal 2; [3] deliver;
+  literal 3; load repeat counter with 3; deliver;
+  literal 2; load repeat counter with 3; deliver;
 
 fifo.out:
   clog;
-  take, sendto debug.in, requeue 9 times;
-  notifyLast debug.in, requeue 3 times;
+  load loop counter with 9;
+  take, sendto debug.in;
+  notifyLast debug.in;
+  decrement loop counter;
   unclog;
 
 debug.in:
-   [4] take;
+   load repeat counter with 4; take;
    [*] take, deliver;
 
index 89a9ff3..562cf7c 100644 (file)
@@ -1,6 +1,8 @@
 #expect 9
+#expect 2
 #expect 8
-#expect 8
+#expect 1
+#expect 7
 #ship debug        : Debug
 #ship fifo         : Fifo
 
@@ -11,8 +13,12 @@ fifo.out: [*] take, sendto debug.in;
 
 debug.in: 
   clog;
-  take, requeue 2 times;
-  deliver, requeue 3 times;
+  load loop counter with 3;
+  take;
+  deliver;
+  decrement loop counter;
+  take loop counter;
+  deliver;
   unclog;
 
 
index 3e20147..3068091 100644 (file)
 
 fifo.in:
   literal 9;
-  [6] deliver;
+  load repeat counter with 6; deliver;
 
 debug.in:
   [*] take, deliver;
 
 fifo.out:
   clog;
-  literal 5,       requeue 3 times;
-  sendto debug.in, requeue 3 times;
-  take,            requeue 3 times;
-  sendto debug.in, requeue 3 times;
+  load loop counter with 3;
+  literal 5;
+  sendto debug.in;
+  take;
+  sendto debug.in;
   unclog;
 
 
index aea4da3..7b783eb 100644 (file)
@@ -12,22 +12,23 @@ debug.in: [*] take, deliver, notify fifo.in;
 
 fifo.out:
   notify fifo.in;
-  [4] take, sendto debug.in;
+  load repeat counter with 4; take, sendto debug.in;
   notify memory.inCBD;
   [*] take, sendto debug.in;
 
 fifo.in:
   clog;
-  take,        requeue forever;
-  literal 7,   requeue forever;
-  deliver,     requeue forever;
+  load loop counter with 63;
+  take;
+  literal 7;
+  deliver;
   unclog;
 
 memory.inCBD:
   take;
   literal {
     fifo.in:
-      kill 4;   // extra instruction due to literal!
+      massacre;   // extra instruction due to literal!
       literal 8;
       deliver;
       notify memory.inCBD;
index ec0e15f..aa80e20 100644 (file)
@@ -1,11 +1,11 @@
 #expect 6
 #expect 6
 #expect 6
+#expect 6
+#expect 10
 #expect 10
 #expect 10
 #expect 10
-#expect 14
-#expect 14
 #expect 14
 #expect 14
 #expect 14
 #expect 18
 #expect 18
 #expect 18
-#expect 18
-#expect 18
-#expect 22
 #expect 22
 #expect 22
 #expect 22
 #expect 22
-#expect 22
-#expect 26
 #expect 26
 #expect 26
 #expect 26
 #expect 26
-#expect 26
-#expect 30
 #expect 30
 #expect 30
 #expect 30
 #expect 30
-#expect 30
-#expect 34
-#expect 34
-#expect 34
-#expect 34
-#expect 34
-#expect 34
-#expect 34
-#expect 34
-#expect 34
-#expect 34
 #expect 34
 #expect 34
 #expect 34
 #expect 34
+#expect 38
+#expect 38
+#expect 38
+#expect 38
+#expect 42
+#expect 42
+#expect 42
+#expect 42
+#expect 46
 
 #ship alu   : Alu2
 #ship debug : Debug
-#ship f     : Fifo
-
-f.in: literal 2; deliver; literal 4; deliver;
-f.out: take, sendto alu.in1;
-       take, sendto alu.in2;
 
-alu.in1:   clog;
-           take, deliver, requeue forever;
-           deliver,       requeue forever;
-           discard,       requeue forever;
-           deliver,       requeue 4 times ;
-           unclog;
-alu.in2:   take;
-           [*] deliver;
 alu.inOp:  literal Alu2.inOp[ADD];
            [*] deliver;
 alu.out:   clog;
-           take, sendto alu.in1, requeue 40 times;
-           sendto debug.in, requeue 50 times;
+           load loop counter with 40;
+           take, sendto alu.in1;
+           sendto debug.in;
+           decrement loop counter;
            unclog;
 debug.in:  [*] take, deliver;
 
+alu.in2:   literal 4;
+           [*] deliver;
+alu.in1:   literal 2;
+           load repeat counter with 4; deliver;
+           clog;
+           load loop counter with 2;
+           take, deliver;
+           discard;
+           deliver;
+           unclog;
+