Agilex™ 7 Hard Processor System Technical Reference Manual

ID 683567
Date 4/01/2024
Public
Document Table of Contents

15.5.1.7. Timing Registers

You must optimize the following registers for your flash device’s speed grade and clock frequency. The NAND flash controller operates correctly with the power‑on reset values. However, functioning with power‑on reset values is a non‑optimal mode that provides loose timing (large margins to the signals).

Set the following registers in the config group to optimize the NAND flash controller for the speed grade of the connected device and frequency of operation of the flash controller:

  • twhr2_and_we_2_re
  • tcwaw_and_addr_2_data
  • re_2_we
  • acc_clks
  • rdwr_en_lo_cnt
  • rdwr_en_hi_cnt
  • max_rd_delay
  • cs_setup_cnt
  • re_2_re
Note: In the case of the reading process mechanism, the NAND controller operates in two work modes: Boot mode and Performance mode. After reset, the controller starts in Boot mode. In this mode, the data sampling does not depend on the default value of acc_clks or max_rd_delay registers, but the correct sampling is warranted (with low performance) using the default values of the other registers listed above. The NAND controller remains in boot mode as long as the value of acc_clks register remains in 0 (default value); and once it takes a different value, the controller switches to Performance mode. In Performance mode, the data sampling on read operations now follows the functionality described in the acc_clks and max_rd_delay registers. The NAND controller remains in Performance mode until a reset occurs (for example, returning a value of 0 in acc_clks register does not make the controller transit back to Boot mode again).