Skip to main content
Skip to main content

ONFI IP

Open NAND Flash Interface IIP

ONFI IP

Overview

COMPETITIVE ADVANTAGE

The SivaKali Tech ONFI IP is a highly reliable, silicon-proven IP core designed for high-performance system integration. Engineered to meet strict industry compliance standards, this core offers exceptional flexibility and ease of integration into both ASIC and FPGA designs. Professional grade IP core for embedded system design. Validated on leading FPGA platforms and foundry nodes, it provides a low-risk, time-to-market advantage for developers.

COMPETITIVE ADVANTAGE

Production Proven: Validated in silicon and FPGA across diverse applications.

Cost Efficient: Competitive licensing models designed to lower the barrier to entry for custom silicon.

Expert Support: Direct access to senior design engineers for rapid integration assistance.

Flexible Deliverables: Available as synthesizable source code or optimized netlists.

FEATURES
  • Compliant with ONFI 2.3/3.0/4.0/4.1/5.0 specifications
  • Supports Source Synchronous and Asynchronous data interfaces
  • Supports all mandatory and optional commands
  • Supports 16 bit bus width operations
  • Supports Read ID commands
  • Supports Synchronous reset commands
  • Supports Interleaved/ Multi-plane commands
  • Supports Multiple LUN Operation
  • Supports Reset LUN commands
  • Supports Get features and Set features commands Supports Implicit DCC Training commands
  • Supports Read DQ Training commands
  • Supports Write TX DQ Training Pattern commands
  • Supports Write TX DQ Training Read back commands
  • Supports Write RX DQ Training commands
  • Configurable timing modes for all data interface
  • Supports Partial Page programming and copy back programming
  • Source Synchronous data interface supports Clock Stop feature
  • Supports dual data bus
  • Supports Data Bus Inversion(DBI)
  • Supports Small Data Move command for both Program and Copy back operations
  • Ability to generate Vendor Specific Commands and Block Abstracted NAND Commands
  • Rich set of configuration parameters to control ONFI functionality
  • Supports constrained randomization of protocol attributes
  • On-the-fly protocol and data checking
  • Supports SDR, DDR, NV-DDR2, NV-DDR3, NV-LPDDR4 data interface
  • Supports Volume select commands
  • Detects and reports the following errors
    • Page address error
    • CRC error
    • Command not support error
    • Illegal command error
    • Synchronous reset error
    • Read ID error
    • Reset LUN error
    • Read cache error
    • Read UID error
    • LUN address change error
    • Copy back program error
    • Change row address error
    • Read status enhanced error
    • Interleave page address error
  • Fully synthesizable
  • Static synchronous design
  • Scan test ready
  • Positive edge clocking and no internal tri-states
  • Simple host interfaces enable straightforward integration with microcontrollers and application processors
FUNCTIONAL DESCRIPTION

CORE: Core module interconnects all the sub-modules in the ONFI Controller IP. Ports of core module are the top level ports for the ONFI Controller IP.

ARBITER: Arbiter module implements arbitration for multi-channel and between same channels write and read. This module will get inputs from SoC data interface and process to write data FIFO, Read data FIFO and Command FIFO.

WRITE DATA FIFO: Write data fifo stores the write data in write operation which is coming from soc data interface.

READ DATA FIFO: Read data fifo stores the read data in read operation which is coming from dfi interface.

COMMAND FIFO: Command fifo stores the write/read commands or address related information.

ONFI CONTROLLER FSM:

This block consists of several sub modules listed below:

COMMAND FIFO PROCESSOR: Command fifo processor reads the command fifo data, decodes command fifo data and issues commands to FSM. Also pushes length to read response fifo which will be used in read operation.

ATIMER: Activate timer module is used to implement timers for maximum active time of a particular bank. For every write and read related operations the bank must be activate before processing those commands. This module gets bank and activate information from the FSM module and maximum bank activate time is decided by refresh requirement, configured from csr module. Based on this, It will close the activated banks.

FSM: ONFI Controller FSM starts to process once the commands are received from Command FIFO processor and CSR Modules. Based on the received commands, the ONFI Controller FSM process Activate, Write, Read, Mode Register operations.

The functionalities of the ONFI Controller FSM module include:

  • Initialization Process
  • Handling Memory Read/Write/Mask write
  • Handling Mode Register Read/Write
  • Activate and Precharge operations
  • Self-Refresh and Power Down Modes
  • Refresh Operations

COMMAND DRIVER: Command driver block gets chip and address from FSM module, this block also implements latency logic. Once latencies are satisfied cs and address will be driven to DFI interface. Command driver block generates write enable to data driver, read enable to data receiver in respective operations.

DATA DRIVER: Data driver module gets write enable and encoded write command value information from the command driver module. The data driver module collects data from the Write data FIFO. This module gets latency information from the CSR module. Once latency is satisfied, this module drives write data to dfi write data interface.

DATA RECEIVER: Data receiver module gets read enable and encoded read command value information from the command driver module. This module gets latency information from the CSR module. Once latency is satisfied, this module drives read enable after data latency the module samples read data from dfi read data interface when corresponding valid is high. Once entire burst of the data are sampled the data are sent to the Read data FIFO.

CSR: CSR Module has all the mode registers and timer configuration registers. The contents of the registers are decoded and assigned to its respective output ports based on its functionality. The registers can get its data from both the internal and external system interface.

ASIC AND FPGA IMPLEMENTATION
ASIC TechnologyLogic ResourcesSystem Clock FrequencyDFI Clock Frequency
TSMC 28nm20.45K66.667MHz33.33MHz
UMSC 55nm46.52K66.667MHz33.33MHz

FPGA Device and FamilyLogic ResourcesClock Frequency
AMD-xcvu9p-flga2104-2L-e51685 LUT's187.25MHz

LICENSING OPTIONS
  • Single Site license for regional development teams.
  • Multi-Site license for global corporate deployments.
  • Single Design license for specific project cost-efficiency.
  • Unlimited Design license for high-volume product roadmaps.
DELIVERABLES
  • Complete Verilog/VHDL/SystemC Source Code.
  • UVM-compliant verification environment with a comprehensive test suite.
  • Production-ready synthesis, Lint, and CDC scripts.
  • IP-XACT RDL generated address maps.
  • Standard-compliant firmware and Linux/C driver packages.
  • Detailed documentation: User Guides, Release Notes, and ISO 26262 Safety Manual (SAM)/FMEDA.