<> <> DIRECTORY CacheMicroMachine; CacheMicroCodeE: CEDAR PROGRAM IMPORTS CacheMicroMachine = BEGIN OPEN CacheMicroMachine; Master; Sequence[4]; -- IORead, real io operation Cycle[1, LIST[$MasterEnableMBusDrive, $MCmdDrive, $PageDriveMDataI, $BlockDriveMDataI, $AddressBitsToMDataI, $MDataDrive, $ForceSlave, $Done]]; Cycle[2, LIST[$MasterEnableMBusDrive, $MCmdDrive, $MCmdDriveToNoOp, $ReleaseMBus, $MIsDone, $SuppressPSample, $RefreshToDecoder, $DrivePBits]]; Cycle[3, LIST[$MasterEnableMBusDrive, $MCmdDrive, $MCmdDriveToNoOp, $SuppressPSample, $RefreshToDecoder]]; Cycle[4, LIST[$MasterEnableMBusDrive, $MCmdDrive, $MCmdDriveToNoOp, $FetchAddress, $FormAddress, $Done]]; Sequence[5]; -- IOWrite Cycle[1, LIST[$MasterEnableMBusDrive, $MCmdDrive, $PageDriveMDataI, $BlockDriveMDataI, $AddressBitsToMDataI, $MDataDrive, $SensePBits, $RefreshToDecoder, $ForceSlave, $Done, $MDataDriveDelayed]]; Cycle[2, LIST[$MasterEnableMBusDrive, $MCmdDrive, $MCmdDriveToNoOp, $ReleaseMBus, $MIsDone, $SuppressPSample, $RefreshToDecoder]]; Cycle[3, LIST[$MasterEnableMBusDrive, $MCmdDrive, $MCmdDriveToNoOp, $SuppressPSample, $RefreshToDecoder]]; Cycle[4, LIST[$MasterEnableMBusDrive, $MCmdDrive, $MCmdDriveToNoOp, $FetchAddress, $FormAddress, $Done]]; Sequence[6]; -- idle Cycle[1, LIST[$MasterEnableMBusDrive, $MCmdDrive, $MCmdDriveToNoOp, $FetchAddress, $FormAddress, $RefreshIfRefVirtual, $Done]]; END.