| 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. |
Constants | Components | Signals | Aliases | Subtypes | Types | Attributes | Functions | Processes | Instantiations
Behavioral Architecture Reference
Functions | |
| integer | pcieRqUserBits ( ) |
| integer | pcieCqUserBits ( ) |
Processes | |
| PROCESS_17 | ( clk ) |
| PROCESS_18 | ( nvme_user_clk ) |
| PROCESS_19 | ( nvme_user_clk ) |
Components | |
| RegAccessClockConvertor | <Entity RegAccessClockConvertor> |
| The interface clock line. | |
| AxisClockConverter | <Entity AxisClockConverter> |
| Register contents. | |
| CdcSingle | <Entity CdcSingle> |
| The interface clock line. | |
| Pcie_nvme0 | <Entity Pcie_nvme0> |
| The signals passed. | |
| Pcie_nvme1 | |
| StreamSwitch | <Entity StreamSwitch> |
| The number of stream. | |
| NvmeQueues | <Entity NvmeQueues> |
| Output stream. | |
| NvmeConfig | <Entity NvmeConfig> |
| replies and requests | |
| PcieStreamMux | <Entity PcieStreamMux> |
| Nvme reply stream. | |
| NvmeSim | <Entity NvmeSim> |
| Nvme replies output stream. | |
| NvmeWrite | <Entity NvmeWrite> |
| System block size. | |
| NvmeRead | <Entity NvmeRead> |
| Register contents. | |
Constants | |
| TCQ | time := 1 ns |
| NumStreams | integer := 8 |
| ResetCycles | integer := ( 100 ms/ ClockPeriod ) |
| RegWidth | integer := 32 |
Types | |
| StateType | ( STATE_START , STATE_IDLE , STATE_WRITE , STATE_READ1 , STATE_READ2 ) |
Subtypes | |
| RegDataType | std_logic_vector ( RegWidth- 1 downto 0 ) |
Signals | |
| reset_local | std_logic := ' 0 ' |
| Register contents. | |
| reset_local_active | std_logic := ' 0 ' |
| reset_local_counter | integer range 0 to ResetCycles := 0 |
| streamSend | AxisStreamArrayType ( 0 to NumStreams- 1 ) |
| streamRecv | AxisStreamArrayType ( 0 to NumStreams- 1 ) |
| dataIn1 | AxisStreamType |
| streamNone | AxisStreamType := AxisStreamOutput |
| streamSink | AxisStreamType := AxisStreamSink |
| hostReq | AxisStreamType |
| hostReq_ready | std_logic_vector ( 3 downto 0 ) |
| hostReq_morethan1 | std_logic |
| hostReq_user | std_logic_vector ( pcieRqUserBits- 1 downto 0 ) |
| hostReply | AxisStreamType |
| nvmeReq | AxisStreamType |
| nvmeReply | AxisStreamType |
| nvmeReply_ready | std_logic_vector ( 3 downto 0 ) |
| nvmeReply_user | std_logic_vector ( 32 downto 0 ) |
| state | StateType := STATE_START |
| regWrite1 | std_logic |
| Enable write to register. | |
| regRead1 | std_logic |
| Enable read from register. | |
| regReadActive | std_logic |
| Register read in progress. | |
| regAddress1 | unsigned ( 5 downto 0 ) := ( others = > ' 0 ' ) |
| Register to read/write. | |
| regDataIn1 | std_logic_vector ( 31 downto 0 ) |
| Register write data. | |
| regDataOut0 | std_logic_vector ( 31 downto 0 ) |
| Register contents. | |
| regDataOut1 | std_logic_vector ( 31 downto 0 ) |
| Register contents. | |
| reg_id | RegDataType := x " 56010001 " |
| reg_control | RegDataType := ( others = > ' 0 ' ) |
| reg_status | RegDataType := ( others = > ' 0 ' ) |
| reg_totalBlocks | RegDataType := to_stl ( NvmeTotalBlocks , RegWidth ) |
| reg_blocksLost | RegDataType := ( others = > ' 0 ' ) |
| reg_nvmeWrite | RegDataType := ( others = > ' 0 ' ) |
| reg_nvmeRead | RegDataType := ( others = > ' 0 ' ) |
| nvmeWrite_write | std_logic := ' 0 ' |
| nvmeRead_write | std_logic := ' 0 ' |
| configStart | std_logic := ' U ' |
| configStartDone | std_logic := ' U ' |
| configComplete | std_logic := ' U ' |
| writeEnable | std_logic := ' U ' |
| waitingForData | std_logic := ' U ' |
| dataEnabledOut1 | std_logic := ' U ' |
| writeComplete | std_logic := ' U ' |
| phy_rdy_out | std_logic := ' U ' |
| user_lnk_up | std_logic := ' U ' |
| nvme_reset_local_n | std_logic := ' 0 ' |
| nvme_user_clk | std_logic := ' U ' |
| nvme_user_reset | std_logic := ' U ' |
Attributes | |
| keep | string |
| keep | reset_local : signal is " true " |
| keep | nvme_reset_local_n : signal is " true " |
Instantiations | |
| regclockconvertor | RegAccessClockConvertor <Entity RegAccessClockConvertor> |
| axisclockconverter0 | AxisClockConverter <Entity AxisClockConverter> |
| axisclockconverter1 | AxisClockConverter <Entity AxisClockConverter> |
| axisclockconverter2 | AxisClockConverter <Entity AxisClockConverter> |
| cdc0 | CdcSingle <Entity CdcSingle> |
| pciestreammux0 | PcieStreamMux <Entity PcieStreamMux> |
| nvmesim0 | NvmeSim <Entity NvmeSim> |
| pcie_nvme_0 | Pcie_nvme0 <Entity Pcie_nvme0> |
| The PCIe to NVMe 0 interface. | |
| pcie_nvme_1 | pcie_nvme1 |
| streamswitch0 | StreamSwitch <Entity StreamSwitch> |
| nvmequeues0 | NvmeQueues <Entity NvmeQueues> |
| nvmeconfig0 | NvmeConfig <Entity NvmeConfig> |
| nvmewrite0 | NvmeWrite <Entity NvmeWrite> |
| nvmeread0 | NvmeRead <Entity NvmeRead> |
Aliases | ||
| nvmeSend | is streamSend ( 0 ) | |
| nvmeRecv | is streamRecv ( 0 ) | |
| hostSend1 | is streamSend ( 1 ) | |
| hostRecv1 | is streamRecv ( 1 ) | |
| queueSend | is streamSend ( 2 ) | |
| queueRecv | is streamRecv ( 2 ) | |
| configSend | is streamSend ( 3 ) | |
| configRecv | is streamRecv ( 3 ) | |
| writeSend | is streamSend ( 4 ) | |
| writeRecv | is streamRecv ( 4 ) | |
| writeMemSend | is streamSend ( 5 ) | |
| writeMemRecv | is streamRecv ( 5 ) | |
| readSend | is streamSend ( 6 ) | |
| readRecv | is streamRecv ( 6 ) | |
| readMemSend | is streamSend ( 7 ) | |
| readMemRecv | is streamRecv ( 7 ) | |
Member Data Documentation
◆ pcie_nvme_0
| Instantiation |
The PCIe to NVMe 0 interface.
The PCIe to NVMe 1 interface
The documentation for this class was generated from the following file:
- /src/dune/source/DuneNvme/src/NvmeStorageUnit.vhd
Generated by
1.8.15 
