User manual

Table Of Contents
Zynq-7000 AP SoC Technical Reference Manual www.xilinx.com 343
UG585 (v1.11) September 27, 2016
Chapter 12: Quad-SPI Flash Controller
12.2.5 Linear Addressing Mode
The controller has a 32-bit AXI slave interface to support linear address mapping for read operations.
When a master issues an AXI read command through this port, the Quad-SPI controller generates
QSPI commands to load the corresponding memory data and send it back through the AXI interface.
In linear mode, the flash memory subsystem behaves like a typical read-only memory with an AXI
interface that supports a command pipeline depth of four. The linear mode improves both the user
friendliness and the overall read memory throughput over that of the I/O mode by reducing the
amount of software overhead. From a software perspective, there is no perceived difference between
accessing the linear Quad-SPI memory subsystem and that of other ROMs, except for a potentially
longer latency.
Transfer to LQSPI mode happens when the qspi.LQSPI_CFG.[LQ_MODE] bit is set to 1. Before entering
into linear addressing mode, the user must ensure that both the TXFIFO and RXFIFO are empty. Once
the qspi.LQSPI_CFG.[LQ_MODE] bit is set, the FIFOs are automatically controlled by the LQSPI module
and IO access to TXD and RXD are undefined.
In linear mode the CS pins are automatically controlled by the QSPI controller. Before a transition
into LQSPI mode, the user must ensure that qspi.Config_reg[Man_start_en] and qspi.Config_reg[PCS]
are both zero.
A simplified block diagram of the controller showing the linear and I/O portions is shown in
Figure 12-2.
AXI Interface Operation
Only AXI read commands are supported by the linear addressing mode. All valid write addresses and
write data are acknowledged immediately but are ignored, that is, no corresponding programming
(write) of the flash memory is carried out. All AXI writes generate an SLVERR error on the write
response channel.
Both incrementing- or wrapping-address burst reads are supported. Fixed-address bursts are not
supported and cause an SLVERR error. Therefore, the only recognized arburst[1:0] value is either
2'b01 or 2'b10. All read accesses must be word-aligned and the data width must be 32-bits (no
narrow burst transfers are allowed).
Table 12-2 lists the read address channel signals from a master that are ignored by the interface.
The AXI slave interface provides a read acceptance capability of 4 so that it can accept up to four
outstanding AXI read commands.
Table 12-2: Ignored AXI Read Address Channel Signals
Signal Value
araddr[1:0] Ignored, assumed to be 0, i.e., always assumed to be word aligned
arsize[2:0] Ignored, always a 32-bit interface
arlock[1:0] Ignored
arcache[3:0] Ignored
arprot[2:0] Ignored