Quad SPI is a modification to SPI that increases data bandwidth by making the data bus 4-bits instead of 1-bit, quadrupling the transfer rate. It does not increase the number of slave channels supported, that still is done using address decode and mux/demux logic. The only reason Xilinx didn't support QSPI as a slave as the protocol is primarily used for QSPI flash devices for programing FPGAs or as data storage devices. Therefore there isn't much of a need or requests for a QSPI slave core to support FPGA control (as you wouldn't want to use an FPGA as a flash memory device.)i.e. As I understood it - If you are using only 1 SPI channel then this core from Xilinx can also be used as a slave device (1 SPI master can be connected to it). If you want to use more channels, then this core will only act as master device and all connected SPI devices will be slaves.
Slave - only accepts transfers from a master can not initiate a transfer, responds the read and write requests.Hi,
I would like to know theoritically what will be difference when working as slave compared to working as master?
Master - initiates all transfers, both reads and writes are initiated by the master device.
Not sure what you are tying to convey here.Can I say I even don't need to configure access to my program as SPI slave to be controlled from external SPI Master rather just provide access to the register(GPIO pin) to external master?
To support UART-like SPI you need to either use both a SPI master and SPI slave on both sides of the interface so either end can start a transfer, or you need to send information back on the MISO line when you send data on the MOSI line, this will only be useful if you need a response from the slave when you perform a write. Otherwise you may have to poll the slave for some return status. (UARTs just send stuff back whenever they feel like)