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. |
Functions | |
std_logic_vector | setHeader ( request: in integer address: in integer count: in integer tag: in integer ) |
Set the fields in the PCIe TLP header. |
Processes | |
PROCESS_5 | ( clk ) |
Ignore any replies. |
Constants | |
TCQ | time := 1 ns |
rom | RomType ( 0 to 34 ) := ( setHeader ( 10 , 16#00004# , 1 , 0 ) , to_stl ( 16#00010006# , 128 ) , setHeader ( 1 , 16#0014# , 1 , 0 ) , to_stl ( x " 00460000 " , 128 ) , setHeader ( 1 , 16#000C# , 1 , 0 ) , to_stl ( x " FFFFFFFF " , 128 ) , setHeader ( 1 , 16#0024# , 1 , 0 ) , zeros ( 96 ) & to_stl ( NvmeQueueNum - 1 , 16 ) & to_stl ( NvmeQueueNum - 1 , 16 ) , setHeader ( 1 , 16#0028# , 1 , 0 ) , to_stl ( x " 02000000 " , 128 ) , setHeader ( 1 , 16#0030# , 1 , 0 ) , to_stl ( x " 02100000 " , 128 ) , setHeader ( 1 , 16#0014# , 1 , 0 ) , to_stl ( x " 00460001 " , 128 ) , setHeader ( 1 , 16#02000000# , 16 , 0 ) , zeros ( 96 ) & x " 03000005 " , zeros ( 32 ) & x " 02110000 " & zeros ( 64 ) , x " 00000001 " & to_stl ( NvmeQueueNum - 1 , 16 ) & x " 0001 " & zeros ( 64 ) , zeros ( 128 ) , setHeader ( 1 , 16#02000000# , 16 , 0 ) , zeros ( 96 ) & x " 03010001 " , zeros ( 32 ) & x " 02010000 " & zeros ( 64 ) , x " 00010001 " & to_stl ( NvmeQueueNum - 1 , 16 ) & x " 0001 " & zeros ( 64 ) , zeros ( 128 ) , setHeader ( 1 , 16#02000000# , 16 , 0 ) , zeros ( 96 ) & x " 03020005 " , zeros ( 32 ) & x " 02120000 " & zeros ( 64 ) , x " 00000001 " & to_stl ( NvmeQueueNum - 1 , 16 ) & x " 0002 " & zeros ( 64 ) , zeros ( 128 ) , setHeader ( 1 , 16#02000000# , 16 , 0 ) , zeros ( 96 ) & x " 03030001 " , zeros ( 32 ) & x " 02020000 " & zeros ( 64 ) , x " 00020001 " & to_stl ( NvmeQueueNum - 1 , 16 ) & x " 0002 " & zeros ( 64 ) , zeros ( 128 ) , ( others = > ' 0 ' ) ) |
Types | |
StateType | ( STATE_IDLE , STATE_DELAY , STATE_NEXT_ITEM , STATE_NEXT_DATA , STATE_ITEM_COMPLETE ) |
RomType | array ( integer range <> ) of std_logic_vector ( 127 downto 0 ) |
The Configuration requests. |
Signals | |
state | StateType := STATE_IDLE |
requestHead | PcieRequestHeadType |
The PCIe TLP request header fields. | |
tag | unsigned ( 7 downto 0 ) |
count | integer range 0 to rom ' length |
The ROM position pointer. | |
numWords | unsigned ( 10 downto 0 ) |
The number of 32 bit data words left to transfer. | |
delay | integer |
Delay counter in clock periods. |
The documentation for this class was generated from the following file:
- /src/dune/source/DuneNvme/src/NvmeConfig.vhd
Generated by
![doxygen](doxygen.png)