token_out,
predicate_met,
fpga.MOVE.verilog(ondeck.getName()),
- fpga.I.verilog(ondeck.getName()),
+ "!"+fpga.NOT_INTERRUPTIBLE.verilog(ondeck.getName()),
torpedoWaiting.isFull()
},
new Object[] {
data_out,
token_out,
predicate_met,
- "(!"+fpga.MOVE.verilog(ondeck.getName())+" || !"+fpga.I.verilog(ondeck.getName())+" || !"+torpedoWaiting.isFull()+")",
+ "(!"+fpga.MOVE.verilog(ondeck.getName())+" || "+fpga.NOT_INTERRUPTIBLE.verilog(ondeck.getName())+" || !"+torpedoWaiting.isFull()+")",
new ConditionalTrigger(fpga.DI.verilog(ondeck.getName()), data_in),
new ConditionalTrigger(fpga.TI.verilog(ondeck.getName()), token_in)
},
public final Mask WHOLE_WORD;
public final Mask DISPATCH_PATH;
public final Mask DISPATCH_INSTR;
- public final Mask I;
+ public final Mask NOT_INTERRUPTIBLE;
public final Mask OS;
public final Mask P;
public final Mask P_NOT_A;
DISPATCH_PATH = new Mask("v....................................");
DISPATCH_INSTR = new Mask(".vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv");
- I = new Mask(".................1...................");
+ NOT_INTERRUPTIBLE = new Mask(".................1...................");
OS = new Mask(".......1.............................");
P = new Mask(".vvvvvv..............................");
P_NOT_A = new Mask(".100001..............................");
} else {
DISPATCH_PATH = new Mask("vvvvvvvvvvv..........................");
DISPATCH_INSTR = new Mask("...........vvvvvvvvvvvvvvvvvvvvvvvvvv");
- I = new Mask("...........1.........................");
+ NOT_INTERRUPTIBLE = new Mask("...........1.........................");
OS = new Mask("............1........................");
P = new Mask(".............vvv.....................");
P_NOT_A = new Mask(".............000.....................");
return new Move(dock,
looping,
predicate,
- I.get(inst),
+ !NOT_INTERRUPTIBLE.get(inst),
getPathByAddr(dock, PATH_IMMEDIATE.getvalAsBitVector(inst)),
TI.get(inst),
DI.get(inst),
if (inst.latchData) instr = DC.set(instr);
if (inst.dataOut) instr = DO.set(instr);
if (inst.tokenOut) instr = TO.set(instr);
- if (inst.interruptible) instr = I.set(instr);
+ if (!inst.interruptible) instr = NOT_INTERRUPTIBLE.set(instr);
if (inst.latchPath) instr = PATH_DATA.set(instr);
else {