Skip to content

efabless/EF_QSPI_XIP_CTRL

Repository files navigation

EF_QSPI_XIP_CTRL

A QSPI XiP Flash COntroller with a parameterized Direct-Mapped Cache.

The wrapped IP

The IP comes with an AHBL Wrapper

Wrapped IP System Integration

EF_QSPI_XIP_CTRL_AHBL INST (
        .HCLK(CLK), 
        .HRESETn(RESETn), 
        .HADDR(HADDR), 
        .HWRITE(HWRITE), 
        .HSEL(HSEL), 
        .HTRANS(HTRANS), 
        .HWDATA(HWDATA),
        .HRDATA(HRDATA), 
        .HREADY(HREADY),
        .HREADYOUT(HREADYOUT),
        .sck(sck),
        .ce_n(ce_n),
        .din(din),
        .dout(dout),
        .douten(douten)
);

Implementation example

The following table is the result for implementing the EF_QSPI_XIP_CTRL IP with different wrappers using Sky130 PDK and OpenLane2 flow.

Module Number of cells Max. freq
EF_QSPI_XIP_CTRL 1973 250
EF_QSPI_XIP_CTRL_AHBL 1973 250

The Interface

Module Parameters

Parameter Description Default Value
NUM_LINES The cache number of lines. 16
LINE_SIZE The cache line size in bytes. 32
RESET_CYCLES The number of cycles needed for the s/w reset command; reset time = (RESET_CYCLES + 1) * 2 /(HCLK frequency). 999

Ports

Port Direction Width Description
sck output 1 SPI serial clock
ce_n output 1 SPI chip select (Active Low).
dout output 4 Flash controller SPI data out.
din input 4 Flash controller SPI data in.
douten output 4 Flash controller data out enable (Active Low)

Installation:

You can install the IP either by cloning this repository or by using IPM.

1. Using IPM:
  • [Optional] If you do not have IPM installed, follow the installation guide here
  • After installing IPM, execute the following command ipm install EF_QSPI_XIP_CTRL.

Note: This method is recommended as it automatically installs EF_IP_UTIL as a dependency.

2. Cloning this repo:
  • Clone EF_IP_UTIL repository, which includes the required modules from the common modules library, ef_util_lib.v. git clone https://github.com/efabless/EF_IP_UTIL.git
  • Clone the IP repository git clone github.com/efabless/EF_QSPI_XIP_CTRL