whq19960120 / NVMe

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

FPGA NVMe Hardware Driver + suFile Library

대표도면

Environment

Below are environments that authors used.

  • OS: Ubuntu 20.04.3 LTS
  • CPU: Intel(R) Xeon(R) Gold 6130F CPU @ 2.10GHz

Code Structure

NVMe/     
├── hw/                       (RTL codes)
│   ├── COMSTRAINTS/          (Constraints : Board connections)         
│   ├── IP/                   (IPs : ILA, XDMA IP, Board design)
│   ├── RTL/                  (NVMe Hardware Driver RTL codes)
│   ├── scripts/             
│   ├── SIM/                 
│   └── SYNTH/                (NVMe Hardware Driver Project directories)
├── sw/                       (NVMe suFile Library)
├── SIM/
├── README.md
├── LICENSE
└── CMakeLists.txt

How to build

mkdir build
cd build
cmake ..
make

How to install driver

cd sw
cd driver
sudo ./install_n_compile_driver.sh

suFile API

  • suFileDriverOpen(void) : suFile infrastructure initialize
  • suFileDriverClose(void) : suFile system finalize
  • suFileHandleRegister(SUfileHandle_t *fh, SUfileDescr_t *descr) : suFilehandle register
  • suFileHandleDeregister(SUfileHandle_t fh) : suFileHandle and sufile descriptor deregister
  • suFileBufRegister(void *devPtr, size_t length, int flags) : set suFile pinned buffer
  • suFileBufDeregister(void *devPtr) : cleanup pinned buffer
  • suFileRead(SUfileHandle_t fh, void *devPtr, size_t size, off_t file_offset, off_t devPtr_offset) : Read at pinned buffer
  • suFileWrite(SUfileHandle_t fh, void *devPtr, size_t size, off_t file_offset, off_t devPtr_offset) : Write into pinned buffer

About

License:Other


Languages

Language:VHDL 62.5%Language:Verilog 32.8%Language:SystemVerilog 3.6%Language:V 0.9%Language:Tcl 0.2%Language:C++ 0.1%Language:C 0.0%Language:Shell 0.0%Language:Makefile 0.0%