CORE: Core module interconnects all the sub-modules in the eMMC Device Controller IIP. Ports of core module are the top level ports for the eMMC Device Controller IIP
CSR: CSR Module has all the registers and configurations.RCA – Relative Card ,CID – Card identification register,CSD – Card Specific Data ..etc. We can read/write csr registers using software interface
DMA Controller: The sampled write data of Dshifter will be written in the write FIFO which is done by Dshifter module. DMA controller reads the data written in the write FIFO and writes that data into the SoC Master , only if the CRC is matched. DMAcontroller reads the data from SoC Master and writes in the read FIFO. DShifter reads the data from read FIFO and drives that data to the connected ports.
CMD FSM: CMD FSM module has the eMMC Functional State Machine.Responses will be generating in the module. State of the eMMC card will be move based on the commands received.If the unsupported commands receivced or the commands are not met theexpected condiotns card status will be update. Current state,erase sequence error,illegal command will be updating to card status register. When set bus width command received sd status register will be update by this module. Once the response has been generated length of the response and delay of Ncr is updating by this module
DATA FSM: DATA FSM Module has the operation of write and reading of the data. Busy intimation for the write data will be send by this module to the DSHIFETR module. If crc error occurs FIFO will be flushing using this module.Erase operation also done in this module. If abort received moving to the idle state.
CSHIFTER: Cshifter module samples the command from the host and driving the response which for the command received.
DSHIFTER: DSHIFTER Module samples write data and drives read data according to the commands.
LOCK: Lock/Unlock data will be processed by this module. Password match/mismatch,set/reset,erase,lock/unlocking the card were supported by this module.Lock/unlock failed error is supported by this module and updating in card status register.Old password from the CSR is checking with the new password received for the lock/unlock command . Setting the password for the locking card is done in this module If the password is mismatch lock/unlock bit will be set in the cardstatus register. If the abort command received not accepting the lock/unlock data.
PROGRAM CSD: Received CSD data will be send to the CSR using this module. If the abort command received, it will not accept the program csd data.The process of all the bits in CSD register is done by this module. Status of the CSD data will be updating to the CFSM module
Minimum COMMAND DELAY: Minimum command delay module calculates the command delays like N CC, N CR, N RC, and N ID. It gives the enable for the in between delay. When the delay gets completed it gets down and ready to do the transfers.