ASMI SPI Flash Controller Core Operations

You must wait for the busy signal to go low before triggering any operation.

Note: The following waveforms are based on operations using default parameter settings.

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.

Figure 1. Page Write Waveform

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.

Figure 2. Page Write Quad 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.

Figure 3. Sector Erase Waveform

Fast Read Operations

Note: All of the following read operation waveforms uses 200 clock cycles for 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.

Figure 4. Fast Read Waveform

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.

Figure 5. Fast Read Dual Waveform

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.

Figure 6. Fast Read Quad Waveform