Figure 8-10 shows the MCRC internal blocks.
- Command FIFO: The Command FIFO pipelines the commands to the target
register interface. The Command and Write FIFOs allow the
data to be coincident for processing. If there is no space
for writes in the Write Status FIFO or no space in the Read
Data FIFO for reads, the command processing will be halted
until there is space in the appropriate FIFO. This FIFO is 4
elements deep.
- Write FIFO: The Write FIFO pipelines the write data to the target
register interface. The Command and Write FIFOs allow the
data to be coincident for processing. If there is no space
for writes in the Write Status FIFO or no space in the Read
Data FIFO for reads, the command processing will be halted
until there is space in the appropriate FIFO. This FIFO is 2
elements deep.
- Write Status FIFO: The Write Status FIFO pipelines the write status back to the VBUSM. A write status will be issued on the final data phase of a write command. This FIFO is 2 elements deep.
- Read Data FIFO: The Read Data FIFO pipelines the read data back to the VBUSM. This FIFO is 3 elements deep.
- Target Register Interface: The Target Register Interface directs the
written data to the register file.
- PSA Signature: The PSA Signature creates the signature of the data written. This data will then be compared to the CRC Value or read by software to determine goodness.
- Pattern State Machine: The Pattern State Machine determines when a block of data has been serviced.
- Timer State Machine: The Timer State Machine determines when overrun and under-run events are detected.
- Sector State Machine: The Sector State Machine determines when a sector error should be captured so the software can determine the errant block of data.
- Signature Compare: The Signature Compare block compares the current signature to the CRC Value register and sends the result to the Interrupt Generation block.