ASMI SPI Flash Controller Core Operations
You must wait for the busy signal to go low before triggering any
operation.
Page Write Operations
During a page write operation, assert the wren and
shift_bytes signals to trigger the core to store the data byte
on mosi. The busy signal remains asserted until
the busy status bit in the flash device is 0.
Page write quad operation is similar to page write, except you use the
quad_page_write signal to indicate the quad page write
operation. For page write quad, assert the quad enable for one
clock cycle. Set the page write quad signals after the busy signal
is deasserted as shown in the following waveform.
Sector Erase Operation
To initiate a sector erase operation, assert the wren and
sector erase signals. The core asserts the
busy signal when erasing the sector and de-asserts it when the
flash device's busy status bit is 0.
Fast Read Operations
rden.In a fast read operation, use the
fast_read signal to indicate a fast read operation from the
flash device, and assert rden to enable the read operation. The
read address must appear on address[23:0] before
fast_read goes high. Your RTL should monitor the
data_valid signal and sample miso when
data_valid is 1.
Fast read dual and quad operations are
similar to fast read, except you use the fast_read_dual or
quad_fast_read signal to indicate the fast read dual or fast
read quad operations respectively.
For fast read quad, assert the quad enable for one clock
cycle. Set the fast read quad signals after the busy signal is
deasserted as shown in the following waveform.