MRAMDriver interface
nMBitsPrecharge, MuxRight, MuxLeft, MBitsDrive, nMBitsDrive, MRamRegToMDataI, nMRamRegToMDataI, SenseMBits, SenseMDataI, ParityIn>BOOL,
SensePBitsLeft, SensePBitsRight, DrivePBits, nDrivePBits>BOOL,
MRamRegToMBits, nMRamRegToMBits>BOOL,
ShiftToMBits, nShiftToMBits, MBitsToShift, nMBitsToShift>BOOL,
RAM control interface
RAMMDataIToMRAMReg, RAMMBitsToMRAMReg, RAMMRAMRegToMDataI, RAMMRAMRegToMBits, RAMMRAMRegToMBitsNoOrphan, RAMPBitsToMRAMReg, RAMLeftPBitsToMRAMReg, RAMMRAMRegToPBits<BOOL,
EvalSimple
IF IncrementMAdrCtrB THEN MAdrCtrBA ← (MAdrCtrAB+1) MOD 4;
IF PhAb
THEN {
MAdrCtrAB ← MAdrCtrBA;
};
IF LoadMAdrCtrFromMDataIB THEN MAdrCtrBA ← ECFD[MDataI, 32, 30, 2];
IF ZeroMAdrCtrB THEN MAdrCtrBA ← 0;
IF LoadMAdrCtrFromPAdrB THEN MAdrCtrBA ← MWTW[PAdrAB, 4, 2, 2, MAdrCtrBA, 2, 0, 2];
nMBitsPrecharge ← NOT PhBb;
MuxLeft ← IF DoHoldBA THEN shiftHighAddress ELSE NOT MAdrHigh;
MuxRight ← NOT MuxLeft;
MRamRegToMBits ← (RAMMRAMRegToMBits OR (RAMMRAMRegToMBitsNoOrphan AND NOT MatchRealBA));
nMRamRegToMBits ← NOT MRamRegToMBits;
ShiftToMBits ← ShiftExecute AND WriteEntry;
nShiftToMBits ← NOT ShiftToMBits;
MBitsDrive ← MRamRegToMBits OR ShiftToMBits;
nMBitsDrive ← NOT MBitsDrive;
MRamRegToMDataI ← RAMMRAMRegToMDataI;
nMRamRegToMDataI ← NOT MRamRegToMDataI;
SenseMBits ← RAMMBitsToMRAMReg;
SenseMDataI ← RAMMDataIToMRAMReg;
ParityIn ← FALSE;
SensePBitsLeft ← RAMLeftPBitsToMRAMReg OR (RAMPBitsToMRAMReg AND NOT PAdrHigh);
SensePBitsRight ← RAMPBitsToMRAMReg AND PAdrHigh;
DrivePBits ← RAMMRAMRegToPBits;
nDrivePBits ← NOT RAMMRAMRegToPBits;
MBitsToShift ← ShiftExecute AND ReadEntry;
nMBitsToShift ← NOT MBitsToShift;
IF ShiftShift THEN nshiftHighAddress ← NOT ShiftDataToMCtl;
IF ShiftFeedBack THEN nshiftHighAddress ← NOT shiftHighAddress;
IF ShiftEqual THEN shiftHighAddress ← NOT nshiftHighAddress;
ShiftDataToFlagCtl ← shiftHighAddress;