/** common subclass for the "FleetTwo" generation of processors, all 37-bit wide, with AM33 encoding */
public abstract class FleetTwoFleet extends Fleet {
+ private final boolean hack = "true".equals(System.getProperty("inverted-dc-bit-hack", "false"));
+
public final Mask PACKET_TOKEN;
public final Mask PACKET_DATA;
public final Mask PACKET_SIGNAL;
getPathByAddr(dock, PATH_IMMEDIATE.getvalAsBitVector(inst)),
TI.get(inst),
DI.get(inst),
- DC.get(inst),
+ hack?(!DC.get(inst)):DC.get(inst),
PATH_DATA.get(inst),
DO.get(inst),
TO.get(inst)
instr = MOVE.set(instr);
if (inst.tokenIn) instr = TI.set(instr);
if (inst.dataIn) instr = DI.set(instr);
- if (inst.latchData) instr = DC.set(instr);
+ if (hack) {
+ if (!inst.latchData) instr = DC.set(instr);
+ System.err.println("WARNING: employing inverted-Dc-bit hack -- DO NOT FORGET TO DISABLE THIS WHEN THE NETLIST GETS UPDATED!");
+ } else {
+ 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 = NOT_INTERRUPTIBLE.set(instr);