This project includes three main VHDL packages:
sd_card_pack.vhd = A synthesizable SD/eMMC/MMC emulator with all card registers, including EXT_CSD support in BRAM.
sd_host_pack.vhd = A host interface for sending commands to cards, and reading/writing data sectors.
mmc_test_pack.vhd = An emulated card, with host, and MMC bus available for testing both internal and external cards.
There are separate documents for each VHDL package file, detailing the different cores in each one.
This design has been tested and refined using the Xilinx ARTY board.