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. |
This module Multiplexes/De-multiplexes a 128bit Axis stream into two streams based on which Nvme device the packets are for/from. More...
![](classNvmeStreamMux.png)
Entities | |
Behavioral | architecture |
Libraries | |
ieee | |
unisim | |
work |
Use Clauses | |
std_logic_1164 | |
numeric_std | |
vcomponents | |
NvmeStoragePkg | Package <NvmeStoragePkg> |
NvmeStorageIntPkg | Package <NvmeStorageIntPkg> |
Ports | ||
clk | in | std_logic |
The interface clock line. | ||
reset | in | std_logic |
The active high reset line. | ||
hostIn | inout | AxisStreamType := AxisStreamInput |
Host multiplexed Input stream. | ||
hostOut | inout | AxisStreamType := AxisStreamOutput |
Host multiplexed Ouput stream. | ||
nvme0In | inout | AxisStreamType := AxisStreamInput |
Nvme0 Replies input stream. | ||
nvme0Out | inout | AxisStreamType := AxisStreamOutput |
Nvme0 Requests output stream. | ||
nvme1In | inout | AxisStreamType := AxisStreamInput |
Nvme1 Requests input stream. | ||
nvme1Out | inout | AxisStreamType := AxisStreamOutput |
Nvme1 replies output stream. |
Detailed Description
This module Multiplexes/De-multiplexes a 128bit Axis stream into two streams based on which Nvme device the packets are for/from.
- Date
- 2020-04-08
- Version
- 1.0.0
When de-multiplexing the packets the module uses bit 80 in request packets and bit 28 in reply packets to determine which Nume device the packet should be sent too. Reply packets are determined by bit 95 being set in the packets header. When multplexing the packets to the host it sets the appropriate Pcie header bits to indicate to the host where the packet is from. It is used to pass requests from the host to the appropriate NvmeStorageUnit engine and get replies.
- Copyright
- 2020 Beam Ltd, Apache License, Version 2.0 Copyright 2020 Beam Ltd Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
The documentation for this class was generated from the following file:
- /src/dune/source/DuneNvme/src/NvmeStreamMux.vhd
Generated by
![doxygen](doxygen.png)