The sizes of the main and spare areas, and the number of blocks in a page, depend on the specific NAND
device connected to the NAND flash controller. Therefore, the device-dependent registers,
device_main_area_size
,
device_spare_area_size
, and
pages_p er_block
, must be
programmed to match the characteristics of the device.
If your software does not perform the discovery and initialization sequence, the software must include an
alternative method to determine the correct value of the device-dependent registers. The HPS boot ROM
code enables discovery and initialization by default (that is,
bootstrap_inhibit_init = 0)
.
Clocks
Table 10-1: Clock Inputs to NAND Flash Controller
Description
Clock Signal
Clock for master and slave interfaces and the ECC sector
buffer
nand_x_clk
Clock for the NAND flash controller
nand_clk
The frequency of
nand_x_clk
is four times the frequency of
nand_clk
.
For more information about the clock inputs, refer to the
Clock Manager
chapter in the
Cyclone V Device
Handbook, Volume 3
.
Resets
The NAND flash controller has one reset signal,
nand_flash_rst_n
. The reset manager drives this
signal to the NAND flash controller on a cold or warm reset.
Before the NAND flash controller comes out of the reset state, the pin multiplexers for the flash external
interface must be configured.
For more information about the reset manager, refer to the
Reset Manager
chapter in the
Cyclone V Device
Handbook, Volume 3
.
Indexed Addressing
The NAND flash controller uses indexed addressing to reduce the address span consumed by the flash
controller.
Indirect addressing is controlled by two registers, accessed through the command and data slave interface
in the
nanddata
map, as described in
Register Map for Indexed Addressing
.
Related Information
Register Map for Indexed Addressing
on page 10-6
Altera Corporation
NAND Flash Controller
10-5
Clocks
cv_54010
2013.12.30