Logo
Dune NVMe Storage Support
DuneNvme  1.0.2
This is a simple NVMe test environment that allows experimentation with the low level PCIe NVMe interfaces as available on a Xilinx FPGA environment.
Design Unit Hierarchy
Here is a hierarchical list of all entities:
[detail level 12345]
 CAxilClockConverterAXI Lite "bus" clock domain crossing module
 CCdcThis is a simple module to pass a set of signals across a clock domain
 CDuneNvmeTestOsperoTopThis module implements a complete test design for the NvmeStorage system with the KCU104 and Ospero OP47 boards
 CPcie_hostThe Xilinx PCIe XDMA endpoint for host communications with the FPGA
 CNvmeStorageThis is the main top level NvmeStorage module that provides access to the NVMe devices over the Axil bus and Axis request/reply streams
 CAxisDataConvertFifo(2)AXI Stream data Fifo with conversion from 256 to 128 bits
 CFifoThis module provides a simple, single clocked FWFT FIFO
 CNvmeStreamMuxThis module Multiplexes/De-multiplexes a 128bit Axis stream into two streams based on which Nvme device the packets are for/from
 CNvmeStorageUnit(2)This is the main Nvme control module for a single Nvme device
 CRegAccessClockConvertorThis module passes register access signals across a clock domain
 CAxisClockConverter(3)AxisStream clock domain crossing module
 CAxis_clock_converterThe Xilinx AXI4 Stream clock doamin crossing IP
 CCdcSingleThis is a simple module to pass a single bit wide signal across a clock domain
 CPcieStreamMuxThis module Multiplexes/De-multiplexes a PCIe 128 bit stream into two streams using the 128bit header
 CPcieStreamMuxFifo(3)This module implements a simple 1/2 stage Fifo for the PcieStreamMux module
 CNvmeSimThis is a very basic module to simulate an NVMe device connected via PCIe to the Xilinx PCIe Gen3 IP block
 CPcie_nvme0The Xilinx PCIe Gen3 hard block interface to NVMe device
 CStreamSwitchThis module implements a PCIe packet switch transfering packets between streams
 CNvmeQueuesThis module implements the Nvme request/reply queues in RAM
 CRamThis module provides a simple dual ported RAM module that will be implemented in blockram if large enough
 CNvmeConfigThis module configures a Nvme device for operation
 CNvmeWriteThis module performs the Nvme write data functionality
 CRamThis module provides a simple dual ported RAM module that will be implemented in blockram if large enough
 CFifoThis module provides a simple, single clocked FWFT FIFO
 CNvmeReadThis module performs the Nvme read data functionality
 CFifoThis module provides a simple, single clocked FWFT FIFO
 CTestDataThis module provides a simple test data source for testing the NvmeStorage system
 CDuneNvmeTestTopThis module implements a complete test design for the NvmeStorage system with the KCU104 and AB17-M2FMC boards
 CPcie_host(2)The Xilinx PCIe XDMA endpoint for host communications with the FPGA
 CNvmeStorage(2)This is the main top level NvmeStorage module that provides access to the NVMe devices over the Axil bus and Axis request/reply streams
 CTestData(2)This module provides a simple test data source for testing the NvmeStorage system
 CPcie_hostThe Xilinx PCIe XDMA endpoint for host communications with the FPGA
 CPcie_hostThe Xilinx PCIe XDMA endpoint for host communications with the FPGA
 CTestDataStreamThis module provides a simple test data source for testing the NvmeStorage system