The Serial Flash Controller Design IP offers a rich set of features to facilitate easy access to Serial Flash devices. The CPU can boot directly from the Serial Flash through the memory emulation interface. Alternatively the Serial Flash controller can copy a code image from the serial Flash device to CPU instruction memory prior to CPU boot. The Serial Flash Controller has an internal DMA controller which can be configured to copy code from the serial flash device to any target destination in the system. The Serial Flash Controller is compatible with advanced Flash devices supporting Quad-SPI and Execute-in-Place (XIP) as well as legacy devices using serial SPI. There are also useful features such as Device Detection, Serial Flash Integrity check using CRC-32 Serial FLASH image write and Device Direct Access to gain access to all the internal register set of the serial flash device.