PORTS[
XBus = INT[32],
OpBA < INT[8],
AlphaBA < INT[8],
BetaBA < INT[8],
LAB < INT[8],
SAB < INT[8],
AReg0BA > INT[8], -- passed just to the logger
BReg0BA > INT[8], -- passed just to the logger
CReg0BA > INT[8], -- passed just to the logger
ASourceLtBA < EnumType["IFUPLAInstrDecode.ABCSourceLt"],
ASourceRtBA < EnumType["IFUPLAInstrDecode.ABCSourceRt"],
ASourceOffBA < EnumType["IFUPLAInstrDecode.PlusOffset"],
BSourceLtBA < EnumType["IFUPLAInstrDecode.ABCSourceLt"],
BSourceRtBA < EnumType["IFUPLAInstrDecode.ABCSourceRt"],
BSourceOffBA < EnumType["IFUPLAInstrDecode.PlusOffset"],
CSourceLtBA < EnumType["IFUPLAInstrDecode.ABCSourceLt"],
CSourceRtBA < EnumType["IFUPLAInstrDecode.ABCSourceRt"],
CSourceOffBA < EnumType["IFUPLAInstrDecode.MinusOffset"],
CRegIsField3B = BOOL, -- tri-state, driven during PhB by ControlPipe
EUAluLeftSrc1B = EnumType["Dragon.ALULeftSources"], -- tri-state, driven during PhB by IFUInterlock
EUAluRightSrc1B = EnumType["Dragon.ALURightSources"],
EUStore2ASrc1B = EnumType["Dragon.Store2ASources"],
ARegIsC2BA > BOOL,
ARegIsC3BA > BOOL,
BRegIsC2BA > BOOL,
BRegIsC3BA > BOOL,
LoadStage1Ac < BOOL, -- Pipe Controls
LoadStage1Bc < BOOL,
LoadStage2Ac < BOOL,
BubbleStage2A1BA < BOOL,
NormalStage2A1BA < BOOL,
AbortStage2B2AB < BOOL,
NormalStage2B2AB < BOOL,
LoadStage3Ac < BOOL,
AbortStage3A2BA < BOOL,
NormalStage3A2BA < BOOL,
DPFaultB < EnumType["Dragon.PBusFaults"],
PhA < BOOL,
PhB < BOOL
]