bitfifo.in:
deliver; // deliver a junk word
- literal 10000;
- load repeat counter with 37; deliver; // deliver it 37 times (once per bit)
- literal 0;
- load repeat counter with 38; deliver; // deliver it 37 times
+ set word= 10000;
+ set ilc=37; deliver; // deliver it 37 times (once per bit)
+ set word= 0;
+ set ilc=38; deliver; // deliver it 37 times
// insert bits in lsb order
bitfifo.inOp:
- literal BitFifo.inOp[lsbFirst,take=37];
- [*] deliver;
+ set word= BitFifo.inOp[lsbFirst,take=37];
+ set ilc=*; deliver;
// toss out 37 bits, take one, repeat. sign extend the result
bitfifo.outOp:
- literal BitFifo.outOp[drop=37,take=1,signExtend];
- [*] deliver;
+ set word= BitFifo.outOp[drop=37,take=1,signExtend];
+ set ilc=*; deliver;
-bitfifo.out: [*] wait, take, sendto lut3.in2;
-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;
+bitfifo.out: set ilc=*; recv token, take, send to lut3.in2;
+lut3.in2: set ilc=4; send token to bitfifo.out;
+ set ilc=63;
+ take, deliver, send token to bitfifo.out;
+ set ilc=11;
+ take, deliver, send token to bitfifo.out;
// mux on second input
-lut3.inLut: literal 226;
- [*] deliver;
+lut3.inLut: set word= 226;
+ set ilc=*; deliver;
-lut3.in1: literal 18683;
- load repeat counter with 37; deliver;
- literal 0;
- load repeat counter with 37; deliver;
+lut3.in1: set word= 18683;
+ set ilc=37; deliver;
+ set word= 0;
+ set ilc=37; deliver;
-lut3.in3: literal 12000;
- load repeat counter with 37; deliver;
- literal 0;
- load repeat counter with 37; deliver;
+lut3.in3: set word= 12000;
+ set ilc=37; deliver;
+ set word= 0;
+ set ilc=37; deliver;
-lut3.out: [*] wait, take, sendto alu3.in2;
+lut3.out: set ilc=*; recv token, take, send to alu3.in2;
-alu3.in1: literal 0; deliver; [*] take, deliver;
-alu3.in2: notify lut3.out; [*] take, deliver, notify lut3.out;
-alu3.in3: literal 0; deliver; [*] take, deliver;
-alu3.outBits: [*] take, sendto debug.in;
+alu3.in1: set word= 0; deliver; set ilc=*; take, deliver;
+alu3.in2: send token to lut3.out; set ilc=*; take, deliver, send token to lut3.out;
+alu3.in3: set word= 0; deliver; set ilc=*; take, deliver;
+alu3.outBits: set ilc=*; take, send to debug.in;
-alu3.out1: [*] take, sendto alu3.in1;
-alu3.out2: [*] take, sendto alu3.in3;
+alu3.out1: set ilc=*; take, send to alu3.in1;
+alu3.out2: set ilc=*; take, send to alu3.in3;
-debug.in: [*] take, deliver;
+debug.in: set ilc=*; take, deliver;