Major change to GIT source tree layout, simplifying it. git-tree-layout-change
authorTerry Barnaby <terry.barnaby@beam.beam.ltd.uk>
Mon, 11 May 2020 09:38:19 +0000 (10:38 +0100)
committerTerry Barnaby <terry.barnaby@beam.beam.ltd.uk>
Mon, 11 May 2020 09:38:19 +0000 (10:38 +0100)
193 files changed:
Config.mk [moved from source/DuneNvme/Config.mk with 100% similarity]
Makefile [moved from source/DuneNvme/Makefile with 100% similarity]
doc/Readme.pdf [moved from source/DuneNvme/doc/Readme.pdf with 100% similarity]
docsrc/Makefile
docsrc/Readme.odt [moved from source/DuneNvme/docsrc/Readme.odt with 100% similarity]
docsrc/beam_doxygen.css [moved from source/DuneNvme/docsrc/beam_doxygen.css with 100% similarity]
docsrc/fpga_doxygen.dox [moved from source/DuneNvme/docsrc/fpga_doxygen.dox with 100% similarity]
docsrc/fpga_overview.dox [moved from source/DuneNvme/docsrc/fpga_overview.dox with 100% similarity]
docsrc/host_doxygen.dox [moved from source/DuneNvme/docsrc/host_doxygen.dox with 100% similarity]
docsrc/host_overview.dox [moved from source/DuneNvme/docsrc/host_overview.dox with 100% similarity]
license.txt [moved from source/DuneNvme/license.txt with 100% similarity]
sim/Makefile [moved from source/DuneNvme/sim/Makefile with 100% similarity]
sim/testbench/TestPkg.vhd [moved from source/DuneNvme/sim/testbench/TestPkg.vhd with 100% similarity]
sim/testbench/genData.cpp [moved from source/DuneNvme/sim/testbench/genData.cpp with 100% similarity]
sim/testbench/test001-leds.sav [moved from source/DuneNvme/sim/testbench/test001-leds.sav with 100% similarity]
sim/testbench/test001-leds.vhd [moved from source/DuneNvme/sim/testbench/test001-leds.vhd with 100% similarity]
sim/testbench/test002-axil.sav [moved from source/DuneNvme/sim/testbench/test002-axil.sav with 100% similarity]
sim/testbench/test002-axil.vhd [moved from source/DuneNvme/sim/testbench/test002-axil.vhd with 100% similarity]
sim/testbench/test003-regs.sav [moved from source/DuneNvme/sim/testbench/test003-regs.sav with 100% similarity]
sim/testbench/test003-regs.vhd [moved from source/DuneNvme/sim/testbench/test003-regs.vhd with 100% similarity]
sim/testbench/test004-nvme.sav [moved from source/DuneNvme/sim/testbench/test004-nvme.sav with 100% similarity]
sim/testbench/test004-nvme.vhd [moved from source/DuneNvme/sim/testbench/test004-nvme.vhd with 100% similarity]
sim/testbench/test005-nvme.sav [moved from source/DuneNvme/sim/testbench/test005-nvme.sav with 100% similarity]
sim/testbench/test005-nvme.vhd [moved from source/DuneNvme/sim/testbench/test005-nvme.vhd with 100% similarity]
sim/testbench/test006-testdata.sav [moved from source/DuneNvme/sim/testbench/test006-testdata.sav with 100% similarity]
sim/testbench/test006-testdata.vhd [moved from source/DuneNvme/sim/testbench/test006-testdata.vhd with 100% similarity]
sim/testbench/test007-hostnvme.sav [moved from source/DuneNvme/sim/testbench/test007-hostnvme.sav with 100% similarity]
sim/testbench/test007-hostnvme.vhd [moved from source/DuneNvme/sim/testbench/test007-hostnvme.vhd with 100% similarity]
sim/testbench/test008-nvmeconfig.sav [moved from source/DuneNvme/sim/testbench/test008-nvmeconfig.sav with 100% similarity]
sim/testbench/test008-nvmeconfig.vhd [moved from source/DuneNvme/sim/testbench/test008-nvmeconfig.vhd with 100% similarity]
sim/testbench/test009-packets.sav [moved from source/DuneNvme/sim/testbench/test009-packets.sav with 100% similarity]
sim/testbench/test009-packets.vhd [moved from source/DuneNvme/sim/testbench/test009-packets.vhd with 100% similarity]
sim/testbench/test010-queueram.sav [moved from source/DuneNvme/sim/testbench/test010-queueram.sav with 100% similarity]
sim/testbench/test010-queueram.vhd [moved from source/DuneNvme/sim/testbench/test010-queueram.vhd with 100% similarity]
sim/testbench/test011-switch.sav [moved from source/DuneNvme/sim/testbench/test011-switch.sav with 100% similarity]
sim/testbench/test011-switch.vhd [moved from source/DuneNvme/sim/testbench/test011-switch.vhd with 100% similarity]
sim/testbench/test012-hostnvme.sav [moved from source/DuneNvme/sim/testbench/test012-hostnvme.sav with 100% similarity]
sim/testbench/test012-hostnvme.vhd [moved from source/DuneNvme/sim/testbench/test012-hostnvme.vhd with 100% similarity]
sim/testbench/test013-hostnvme.sav [moved from source/DuneNvme/sim/testbench/test013-hostnvme.sav with 100% similarity]
sim/testbench/test013-hostnvme.vhd [moved from source/DuneNvme/sim/testbench/test013-hostnvme.vhd with 100% similarity]
sim/testbench/test014-queueram.sav [moved from source/DuneNvme/sim/testbench/test014-queueram.sav with 100% similarity]
sim/testbench/test014-queueram.vhd [moved from source/DuneNvme/sim/testbench/test014-queueram.vhd with 100% similarity]
sim/testbench/test015-hostnvme.sav [moved from source/DuneNvme/sim/testbench/test015-hostnvme.sav with 100% similarity]
sim/testbench/test015-hostnvme.vhd [moved from source/DuneNvme/sim/testbench/test015-hostnvme.vhd with 100% similarity]
sim/testbench/test016-fifo.sav [moved from source/DuneNvme/sim/testbench/test016-fifo.sav with 100% similarity]
sim/testbench/test016-fifo.vhd [moved from source/DuneNvme/sim/testbench/test016-fifo.vhd with 100% similarity]
sim/testbench/test017-write.sav [moved from source/DuneNvme/sim/testbench/test017-write.sav with 100% similarity]
sim/testbench/test017-write.vhd [moved from source/DuneNvme/sim/testbench/test017-write.vhd with 100% similarity]
sim/testbench/test018-buffer.sav [moved from source/DuneNvme/sim/testbench/test018-buffer.sav with 100% similarity]
sim/testbench/test018-buffer.vhd [moved from source/DuneNvme/sim/testbench/test018-buffer.vhd with 100% similarity]
sim/testbench/test019-write.sav [moved from source/DuneNvme/sim/testbench/test019-write.sav with 100% similarity]
sim/testbench/test019-write.vhd [moved from source/DuneNvme/sim/testbench/test019-write.vhd with 100% similarity]
source/DuneNvme/docsrc/Makefile [deleted file]
source/DuneNvmeTest/Config.mk [deleted file]
source/DuneNvmeTest/Makefile [deleted file]
source/DuneNvmeTest/doc/Readme.pdf [deleted file]
source/DuneNvmeTest/docsrc/Makefile [deleted file]
source/DuneNvmeTest/docsrc/Readme.odt [deleted file]
source/DuneNvmeTest/docsrc/beam_doxygen.css [deleted file]
source/DuneNvmeTest/docsrc/fpga_doxygen.dox [deleted file]
source/DuneNvmeTest/docsrc/fpga_overview.dox [deleted file]
source/DuneNvmeTest/docsrc/host_doxygen.dox [deleted file]
source/DuneNvmeTest/docsrc/host_overview.dox [deleted file]
source/DuneNvmeTest/license.txt [deleted file]
source/DuneNvmeTest/sim/Makefile [deleted file]
source/DuneNvmeTest/sim/testbench/TestPkg.vhd [deleted file]
source/DuneNvmeTest/sim/testbench/genData.cpp [deleted file]
source/DuneNvmeTest/sim/testbench/test001-leds.sav [deleted file]
source/DuneNvmeTest/sim/testbench/test001-leds.vhd [deleted file]
source/DuneNvmeTest/sim/testbench/test002-axil.sav [deleted file]
source/DuneNvmeTest/sim/testbench/test002-axil.vhd [deleted file]
source/DuneNvmeTest/sim/testbench/test003-regs.sav [deleted file]
source/DuneNvmeTest/sim/testbench/test003-regs.vhd [deleted file]
source/DuneNvmeTest/sim/testbench/test004-nvme.sav [deleted file]
source/DuneNvmeTest/sim/testbench/test004-nvme.vhd [deleted file]
source/DuneNvmeTest/sim/testbench/test005-nvme.sav [deleted file]
source/DuneNvmeTest/sim/testbench/test005-nvme.vhd [deleted file]
source/DuneNvmeTest/sim/testbench/test006-testdata.sav [deleted file]
source/DuneNvmeTest/sim/testbench/test006-testdata.vhd [deleted file]
source/DuneNvmeTest/sim/testbench/test007-hostnvme.sav [deleted file]
source/DuneNvmeTest/sim/testbench/test007-hostnvme.vhd [deleted file]
source/DuneNvmeTest/sim/testbench/test008-nvmeconfig.sav [deleted file]
source/DuneNvmeTest/sim/testbench/test008-nvmeconfig.vhd [deleted file]
source/DuneNvmeTest/sim/testbench/test009-packets.sav [deleted file]
source/DuneNvmeTest/sim/testbench/test009-packets.vhd [deleted file]
source/DuneNvmeTest/sim/testbench/test010-queueram.sav [deleted file]
source/DuneNvmeTest/sim/testbench/test010-queueram.vhd [deleted file]
source/DuneNvmeTest/sim/testbench/test011-switch.sav [deleted file]
source/DuneNvmeTest/sim/testbench/test011-switch.vhd [deleted file]
source/DuneNvmeTest/sim/testbench/test012-hostnvme.sav [deleted file]
source/DuneNvmeTest/sim/testbench/test012-hostnvme.vhd [deleted file]
source/DuneNvmeTest/sim/testbench/test013-hostnvme.sav [deleted file]
source/DuneNvmeTest/sim/testbench/test013-hostnvme.vhd [deleted file]
source/DuneNvmeTest/sim/testbench/test014-queueram.sav [deleted file]
source/DuneNvmeTest/sim/testbench/test014-queueram.vhd [deleted file]
source/DuneNvmeTest/sim/testbench/test015-hostnvme.sav [deleted file]
source/DuneNvmeTest/sim/testbench/test015-hostnvme.vhd [deleted file]
source/DuneNvmeTest/sim/testbench/test016-fifo.sav [deleted file]
source/DuneNvmeTest/sim/testbench/test016-fifo.vhd [deleted file]
source/DuneNvmeTest/sim/testbench/test017-write.sav [deleted file]
source/DuneNvmeTest/sim/testbench/test017-write.vhd [deleted file]
source/DuneNvmeTest/sim/testbench/test018-buffer.sav [deleted file]
source/DuneNvmeTest/sim/testbench/test018-buffer.vhd [deleted file]
source/DuneNvmeTest/sim/testbench/test019-write.sav [deleted file]
source/DuneNvmeTest/sim/testbench/test019-write.vhd [deleted file]
source/DuneNvmeTest/src/AxilClockConverter.vhd [deleted file]
source/DuneNvmeTest/src/AxisClockConverter.vhd [deleted file]
source/DuneNvmeTest/src/DataBuffer.vhd [deleted file]
source/DuneNvmeTest/src/DataFifo.vhd [deleted file]
source/DuneNvmeTest/src/DuneNvmeTestTop.vhd [deleted file]
source/DuneNvmeTest/src/DuneNvmeTestTop.xdc [deleted file]
source/DuneNvmeTest/src/NvmeConfig.vhd [deleted file]
source/DuneNvmeTest/src/NvmeQueues.vhd [deleted file]
source/DuneNvmeTest/src/NvmeSim.vhd [deleted file]
source/DuneNvmeTest/src/NvmeStorage.vhd [deleted file]
source/DuneNvmeTest/src/NvmeStorageIntPkg.vhd [deleted file]
source/DuneNvmeTest/src/NvmeStoragePkg.vhd [deleted file]
source/DuneNvmeTest/src/NvmeStorageUnit.vhd [deleted file]
source/DuneNvmeTest/src/NvmeStreamMux.vhd [deleted file]
source/DuneNvmeTest/src/NvmeWrite.vhd [deleted file]
source/DuneNvmeTest/src/NvmeWriteBasic.vhd [deleted file]
source/DuneNvmeTest/src/StreamSwitch.vhd [deleted file]
source/DuneNvmeTest/src/TestData.vhd [deleted file]
source/DuneNvmeTest/src/ip/Axil_clock_converter.xci [deleted file]
source/DuneNvmeTest/src/ip/Axis_clock_converter.xci [deleted file]
source/DuneNvmeTest/src/ip/Clk_core.xci [deleted file]
source/DuneNvmeTest/src/ip/Fifo32k.xci [deleted file]
source/DuneNvmeTest/src/ip/Fifo4k.xci [deleted file]
source/DuneNvmeTest/src/ip/Pcie_host.xci [deleted file]
source/DuneNvmeTest/src/ip/Pcie_nvme0.xci [deleted file]
source/DuneNvmeTest/src/ip/blk_mem_gen_0.xci [deleted file]
source/DuneNvmeTest/test/BeamLibBasic.cpp [deleted file]
source/DuneNvmeTest/test/BeamLibBasic.h [deleted file]
source/DuneNvmeTest/test/Makefile [deleted file]
source/DuneNvmeTest/test/NvmeAccess.cpp [deleted file]
source/DuneNvmeTest/test/NvmeAccess.h [deleted file]
source/DuneNvmeTest/test/bfpga_driver/Makefile [deleted file]
source/DuneNvmeTest/test/bfpga_driver/bfpga.c [deleted file]
source/DuneNvmeTest/test/bfpga_driver/bfpga.h [deleted file]
source/DuneNvmeTest/test/bfpga_driver/bfpga.rules [deleted file]
source/DuneNvmeTest/test/bfpga_driver/dtest1.c [deleted file]
source/DuneNvmeTest/test/bfpga_driver/dtest2.c [deleted file]
source/DuneNvmeTest/test/bfpga_driver/dtest3.c [deleted file]
source/DuneNvmeTest/test/pciregs.txt [deleted file]
source/DuneNvmeTest/test/test_nvme.cpp [deleted file]
source/DuneNvmeTest/tools/pciRescan [deleted file]
source/DuneNvmeTest/tools/pciReset [deleted file]
source/DuneNvmeTest/vivado/Makefile [deleted file]
source/DuneNvmeTest/vivado/Vivado.mk [deleted file]
src/AxilClockConverter.vhd [moved from source/DuneNvme/src/AxilClockConverter.vhd with 100% similarity]
src/AxisClockConverter.vhd [moved from source/DuneNvme/src/AxisClockConverter.vhd with 100% similarity]
src/DuneNvmeTestTop.vhd [moved from source/DuneNvme/src/DuneNvmeTestTop.vhd with 100% similarity]
src/DuneNvmeTestTop.xdc [moved from source/DuneNvme/src/DuneNvmeTestTop.xdc with 100% similarity]
src/NvmeConfig.vhd [moved from source/DuneNvme/src/NvmeConfig.vhd with 100% similarity]
src/NvmeQueues.vhd [moved from source/DuneNvme/src/NvmeQueues.vhd with 100% similarity]
src/NvmeSim.vhd [moved from source/DuneNvme/src/NvmeSim.vhd with 100% similarity]
src/NvmeStorage.vhd [moved from source/DuneNvme/src/NvmeStorage.vhd with 100% similarity]
src/NvmeStorageIntPkg.vhd [moved from source/DuneNvme/src/NvmeStorageIntPkg.vhd with 100% similarity]
src/NvmeStoragePkg.vhd [moved from source/DuneNvme/src/NvmeStoragePkg.vhd with 100% similarity]
src/NvmeStorageUnit.vhd [moved from source/DuneNvme/src/NvmeStorageUnit.vhd with 100% similarity]
src/NvmeStreamMux.vhd [moved from source/DuneNvme/src/NvmeStreamMux.vhd with 100% similarity]
src/NvmeWrite.vhd [moved from source/DuneNvme/src/NvmeWrite.vhd with 100% similarity]
src/NvmeWriteBasic.vhd [moved from source/DuneNvme/src/NvmeWriteBasic.vhd with 100% similarity]
src/Ram.vhd [moved from source/DuneNvme/src/Ram.vhd with 100% similarity]
src/StreamSwitch.vhd [moved from source/DuneNvme/src/StreamSwitch.vhd with 100% similarity]
src/TestData.vhd [moved from source/DuneNvme/src/TestData.vhd with 100% similarity]
src/ip/Axil_clock_converter.xci [moved from source/DuneNvme/src/ip/Axil_clock_converter.xci with 100% similarity]
src/ip/Axis_clock_converter.xci [moved from source/DuneNvme/src/ip/Axis_clock_converter.xci with 100% similarity]
src/ip/Clk_core.xci [moved from source/DuneNvme/src/ip/Clk_core.xci with 100% similarity]
src/ip/Fifo32k.xci [moved from source/DuneNvme/src/ip/Fifo32k.xci with 100% similarity]
src/ip/Fifo4k.xci [moved from source/DuneNvme/src/ip/Fifo4k.xci with 100% similarity]
src/ip/Pcie_host.xci [moved from source/DuneNvme/src/ip/Pcie_host.xci with 100% similarity]
src/ip/Pcie_nvme0-250.xci [moved from source/DuneNvme/src/ip/Pcie_nvme0-250.xci with 100% similarity]
src/ip/Pcie_nvme0.xci [moved from source/DuneNvme/src/ip/Pcie_nvme0.xci with 100% similarity]
src/ip/blk_mem_gen_0.xci [moved from source/DuneNvme/src/ip/blk_mem_gen_0.xci with 100% similarity]
test/BeamLibBasic.cpp [moved from source/DuneNvme/test/BeamLibBasic.cpp with 100% similarity]
test/BeamLibBasic.h [moved from source/DuneNvme/test/BeamLibBasic.h with 100% similarity]
test/Makefile [moved from source/DuneNvme/test/Makefile with 100% similarity]
test/NvmeAccess.cpp [moved from source/DuneNvme/test/NvmeAccess.cpp with 100% similarity]
test/NvmeAccess.h [moved from source/DuneNvme/test/NvmeAccess.h with 100% similarity]
test/bfpga_driver/Makefile [moved from source/DuneNvme/test/bfpga_driver/Makefile with 100% similarity]
test/bfpga_driver/bfpga.c [moved from source/DuneNvme/test/bfpga_driver/bfpga.c with 100% similarity]
test/bfpga_driver/bfpga.h [moved from source/DuneNvme/test/bfpga_driver/bfpga.h with 100% similarity]
test/bfpga_driver/bfpga.rules [moved from source/DuneNvme/test/bfpga_driver/bfpga.rules with 100% similarity]
test/bfpga_driver/dtest1.c [moved from source/DuneNvme/test/bfpga_driver/dtest1.c with 100% similarity]
test/bfpga_driver/dtest2.c [moved from source/DuneNvme/test/bfpga_driver/dtest2.c with 100% similarity]
test/bfpga_driver/dtest3.c [moved from source/DuneNvme/test/bfpga_driver/dtest3.c with 100% similarity]
test/pciregs.txt [moved from source/DuneNvme/test/pciregs.txt with 100% similarity]
test/test_nvme.cpp [moved from source/DuneNvme/test/test_nvme.cpp with 100% similarity]
tools/pciRescan [moved from source/DuneNvme/tools/pciRescan with 100% similarity]
tools/pciReset [moved from source/DuneNvme/tools/pciReset with 100% similarity]
vivado/Makefile [moved from source/DuneNvme/vivado/Makefile with 100% similarity]
vivado/Vivado.mk [moved from source/DuneNvme/vivado/Vivado.mk with 100% similarity]

similarity index 100%
rename from source/DuneNvme/Config.mk
rename to Config.mk
similarity index 100%
rename from source/DuneNvme/Makefile
rename to Makefile
index 7ff0561ad46056cfcfaba722f15f3230af73f84b..f6952cf0124a467592bea067556159628f77515d 100644 (file)
@@ -3,17 +3,43 @@
 #      T.Barnaby,      Beam Ltd,       2020-02-18
 ################################################################################
 #
-TOP    = ..
+TOP    = ../../..
+include ../Config.mk
 
-all:   docs
+.PHONY:        config release
+
+all:   config docs
+
+config: .configured
+
+.configured: ../Config.mk
+       sed -i "s/PROJECT_NUMBER.*/PROJECT_NUMBER\t\t= ${VERSION}/g" fpga_doxygen.dox
+       sed -i "s/PROJECT_NUMBER.*/PROJECT_NUMBER\t\t= ${VERSION}/g" host_doxygen.dox
+       sed -i "s/\\\version.*/\\\version ${VERSION}/g" fpga_overview.dox
+       sed -i "s/\\\version.*/\\\version ${VERSION}/g" host_overview.dox
+       touch .configured
 
 install:
+       mkdir -p ${DOCDIR}/host ${DOCDIR}/fpga
+       cp -a ../doc/host/html ${DOCDIR}/host
+       cp -a ../doc/fpga/html ${DOCDIR}/fpga
+       cp -a ../doc/*.pdf ${DOCDIR}
 
 clean:
 
 distclean: clean
+       rm -fr ../doc/host ../doc/fpga
+       rm -f .configured
        
+release:
+
 docs:
-       soffice --headless --convert-to pdf --outdir ../doc DuneNvmeStorageManual.odt
-       soffice --headless --convert-to pdf --outdir ../doc DuneNvmeStorageDesign.odt
-       soffice --headless --convert-to pdf --outdir ../doc DuneNvmeStorageProject.odt
+       doxygen host_doxygen.dox
+       doxygen fpga_doxygen.dox
+       soffice --headless --convert-to pdf --outdir ../doc Readme.odt
+
+docspdf: docs
+       (cd ../doc/host/latex; make)
+       cp ../doc/host/latex/refman.pdf ../doc/${PROJECT}_host.pdf
+       (cd ../doc/fpga/latex; make)
+       cp ../doc/fpga/latex/refman.pdf ../doc/${PROJECT}_fpga.pdf
similarity index 100%
rename from source/DuneNvme/license.txt
rename to license.txt
similarity index 100%
rename from source/DuneNvme/sim/Makefile
rename to sim/Makefile
diff --git a/source/DuneNvme/docsrc/Makefile b/source/DuneNvme/docsrc/Makefile
deleted file mode 100644 (file)
index f6952cf..0000000
+++ /dev/null
@@ -1,45 +0,0 @@
-################################################################################
-#      Makefile to build Dune NvmeStorage documents
-#      T.Barnaby,      Beam Ltd,       2020-02-18
-################################################################################
-#
-TOP    = ../../..
-include ../Config.mk
-
-.PHONY:        config release
-
-all:   config docs
-
-config: .configured
-
-.configured: ../Config.mk
-       sed -i "s/PROJECT_NUMBER.*/PROJECT_NUMBER\t\t= ${VERSION}/g" fpga_doxygen.dox
-       sed -i "s/PROJECT_NUMBER.*/PROJECT_NUMBER\t\t= ${VERSION}/g" host_doxygen.dox
-       sed -i "s/\\\version.*/\\\version ${VERSION}/g" fpga_overview.dox
-       sed -i "s/\\\version.*/\\\version ${VERSION}/g" host_overview.dox
-       touch .configured
-
-install:
-       mkdir -p ${DOCDIR}/host ${DOCDIR}/fpga
-       cp -a ../doc/host/html ${DOCDIR}/host
-       cp -a ../doc/fpga/html ${DOCDIR}/fpga
-       cp -a ../doc/*.pdf ${DOCDIR}
-
-clean:
-
-distclean: clean
-       rm -fr ../doc/host ../doc/fpga
-       rm -f .configured
-       
-release:
-
-docs:
-       doxygen host_doxygen.dox
-       doxygen fpga_doxygen.dox
-       soffice --headless --convert-to pdf --outdir ../doc Readme.odt
-
-docspdf: docs
-       (cd ../doc/host/latex; make)
-       cp ../doc/host/latex/refman.pdf ../doc/${PROJECT}_host.pdf
-       (cd ../doc/fpga/latex; make)
-       cp ../doc/fpga/latex/refman.pdf ../doc/${PROJECT}_fpga.pdf
diff --git a/source/DuneNvmeTest/Config.mk b/source/DuneNvmeTest/Config.mk
deleted file mode 100644 (file)
index aa2cb2f..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-################################################################################
-#      Config.mk       Makefile build system settings
-#      T.Barnaby,      Beam Ltd,       2020-02-18
-################################################################################
-#
-PROJECT                = DuneNvmeTest
-VERSION                = 0.1.1
-DOCDIR         ?= ${TOP}/doc/${PROJECT}
diff --git a/source/DuneNvmeTest/Makefile b/source/DuneNvmeTest/Makefile
deleted file mode 100644 (file)
index 15493c5..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-################################################################################
-#      Makefile to build Dune NvmeStorage system
-#      T.Barnaby,      Beam Ltd,       2020-02-18
-################################################################################
-#
-TOP    = ../..
-include Config.mk
-
-.PHONY:        release
-
-all:
-       
-
-install:
-
-clean:
-       make -C vivado clean
-       make -C sim clean
-       make -C test clean
-       make -C docsrc clean
-
-distclean: clean
-       make -C vivado distclean
-       make -C docsrc distclean
-       make -C test distclean
-       
-release:
-       mkdir -p release
-       cp vivado/*.runs/impl_1/*.bit release/${PROJECT}-${VERSION}.bit
-
-docs:
-       make -C docsrc
-
-packages:
-       dnf install texlive-scheme-medium texlive-hanging texlive-stackengine texlive-etoc texlive-newunicodechar
diff --git a/source/DuneNvmeTest/doc/Readme.pdf b/source/DuneNvmeTest/doc/Readme.pdf
deleted file mode 100644 (file)
index 40b7eaa..0000000
Binary files a/source/DuneNvmeTest/doc/Readme.pdf and /dev/null differ
diff --git a/source/DuneNvmeTest/docsrc/Makefile b/source/DuneNvmeTest/docsrc/Makefile
deleted file mode 100644 (file)
index f6952cf..0000000
+++ /dev/null
@@ -1,45 +0,0 @@
-################################################################################
-#      Makefile to build Dune NvmeStorage documents
-#      T.Barnaby,      Beam Ltd,       2020-02-18
-################################################################################
-#
-TOP    = ../../..
-include ../Config.mk
-
-.PHONY:        config release
-
-all:   config docs
-
-config: .configured
-
-.configured: ../Config.mk
-       sed -i "s/PROJECT_NUMBER.*/PROJECT_NUMBER\t\t= ${VERSION}/g" fpga_doxygen.dox
-       sed -i "s/PROJECT_NUMBER.*/PROJECT_NUMBER\t\t= ${VERSION}/g" host_doxygen.dox
-       sed -i "s/\\\version.*/\\\version ${VERSION}/g" fpga_overview.dox
-       sed -i "s/\\\version.*/\\\version ${VERSION}/g" host_overview.dox
-       touch .configured
-
-install:
-       mkdir -p ${DOCDIR}/host ${DOCDIR}/fpga
-       cp -a ../doc/host/html ${DOCDIR}/host
-       cp -a ../doc/fpga/html ${DOCDIR}/fpga
-       cp -a ../doc/*.pdf ${DOCDIR}
-
-clean:
-
-distclean: clean
-       rm -fr ../doc/host ../doc/fpga
-       rm -f .configured
-       
-release:
-
-docs:
-       doxygen host_doxygen.dox
-       doxygen fpga_doxygen.dox
-       soffice --headless --convert-to pdf --outdir ../doc Readme.odt
-
-docspdf: docs
-       (cd ../doc/host/latex; make)
-       cp ../doc/host/latex/refman.pdf ../doc/${PROJECT}_host.pdf
-       (cd ../doc/fpga/latex; make)
-       cp ../doc/fpga/latex/refman.pdf ../doc/${PROJECT}_fpga.pdf
diff --git a/source/DuneNvmeTest/docsrc/Readme.odt b/source/DuneNvmeTest/docsrc/Readme.odt
deleted file mode 100644 (file)
index 2b0e237..0000000
Binary files a/source/DuneNvmeTest/docsrc/Readme.odt and /dev/null differ
diff --git a/source/DuneNvmeTest/docsrc/beam_doxygen.css b/source/DuneNvmeTest/docsrc/beam_doxygen.css
deleted file mode 100644 (file)
index 9a75d4d..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-/* Beam doxygen CSS overrides for WebSys */
-ul {
-       overflow: visible;      /* Reverted this: Fixed: list item bullets overlap floating elements*/
-}
-
-a:hover {
-       text-decoration: none;
-}
diff --git a/source/DuneNvmeTest/docsrc/fpga_doxygen.dox b/source/DuneNvmeTest/docsrc/fpga_doxygen.dox
deleted file mode 100644 (file)
index 658dfd1..0000000
+++ /dev/null
@@ -1,397 +0,0 @@
-# Doxyfile 1.8.15
-
-PROJECT_NAME           = "DuneNvme"
-PROJECT_NUMBER         = 0.1.1
-PROJECT_BRIEF          = "This is a simple NVMe test environment that allows experimentation with the low level PCIe NVMe interfaces as available on a Xilinx FPGA environment."
-PROJECT_LOGO           =
-INPUT                  = fpga_overview.dox ../src
-OUTPUT_DIRECTORY       = ../doc/fpga
-OPTIMIZE_OUTPUT_VHDL   = YES
-HTML_EXTRA_STYLESHEET  = beam_doxygen.css
-
-#---------------------------------------------------------------------------
-# Project related configuration options
-#---------------------------------------------------------------------------
-DOXYFILE_ENCODING      = UTF-8
-CREATE_SUBDIRS         = NO
-ALLOW_UNICODE_NAMES    = NO
-OUTPUT_LANGUAGE        = English
-OUTPUT_TEXT_DIRECTION  = None
-BRIEF_MEMBER_DESC      = YES
-REPEAT_BRIEF           = YES
-ABBREVIATE_BRIEF       = "The $name class" \
-                         "The $name widget" \
-                         "The $name file" \
-                         is \
-                         provides \
-                         specifies \
-                         contains \
-                         represents \
-                         a \
-                         an \
-                         the
-
-ALWAYS_DETAILED_SEC    = NO
-INLINE_INHERITED_MEMB  = NO
-FULL_PATH_NAMES        = YES
-STRIP_FROM_PATH        =
-STRIP_FROM_INC_PATH    =
-SHORT_NAMES            = NO
-JAVADOC_AUTOBRIEF      = NO
-QT_AUTOBRIEF           = NO
-MULTILINE_CPP_IS_BRIEF = NO
-INHERIT_DOCS           = YES
-SEPARATE_MEMBER_PAGES  = NO
-TAB_SIZE               = 4
-ALIASES                =
-TCL_SUBST              =
-OPTIMIZE_OUTPUT_FOR_C  = NO
-OPTIMIZE_OUTPUT_JAVA   = NO
-OPTIMIZE_FOR_FORTRAN   = NO
-#OPTIMIZE_OUTPUT_VHDL   = NO
-OPTIMIZE_OUTPUT_SLICE  = NO
-EXTENSION_MAPPING      =
-MARKDOWN_SUPPORT       = YES
-TOC_INCLUDE_HEADINGS   = 0
-AUTOLINK_SUPPORT       = YES
-BUILTIN_STL_SUPPORT    = NO
-CPP_CLI_SUPPORT        = NO
-SIP_SUPPORT            = NO
-IDL_PROPERTY_SUPPORT   = YES
-DISTRIBUTE_GROUP_DOC   = NO
-GROUP_NESTED_COMPOUNDS = NO
-SUBGROUPING            = YES
-INLINE_GROUPED_CLASSES = NO
-INLINE_SIMPLE_STRUCTS  = NO
-TYPEDEF_HIDES_STRUCT   = NO
-LOOKUP_CACHE_SIZE      = 0
-
-#---------------------------------------------------------------------------
-# Build related configuration options
-#---------------------------------------------------------------------------
-EXTRACT_ALL            = NO
-EXTRACT_PRIVATE        = NO
-EXTRACT_PACKAGE        = NO
-EXTRACT_STATIC         = NO
-EXTRACT_LOCAL_CLASSES  = YES
-EXTRACT_LOCAL_METHODS  = NO
-EXTRACT_ANON_NSPACES   = NO
-HIDE_UNDOC_MEMBERS     = NO
-HIDE_UNDOC_CLASSES     = NO
-HIDE_FRIEND_COMPOUNDS  = NO
-HIDE_IN_BODY_DOCS      = NO
-INTERNAL_DOCS          = NO
-CASE_SENSE_NAMES       = YES
-HIDE_SCOPE_NAMES       = NO
-HIDE_COMPOUND_REFERENCE= NO
-SHOW_INCLUDE_FILES     = YES
-SHOW_GROUPED_MEMB_INC  = NO
-FORCE_LOCAL_INCLUDES   = NO
-INLINE_INFO            = YES
-SORT_MEMBER_DOCS       = YES
-SORT_BRIEF_DOCS        = NO
-SORT_MEMBERS_CTORS_1ST = NO
-SORT_GROUP_NAMES       = NO
-SORT_BY_SCOPE_NAME     = NO
-STRICT_PROTO_MATCHING  = NO
-GENERATE_TODOLIST      = YES
-GENERATE_TESTLIST      = YES
-GENERATE_BUGLIST       = YES
-GENERATE_DEPRECATEDLIST= YES
-ENABLED_SECTIONS       =
-MAX_INITIALIZER_LINES  = 30
-SHOW_USED_FILES        = YES
-SHOW_FILES             = YES
-SHOW_NAMESPACES        = YES
-FILE_VERSION_FILTER    =
-LAYOUT_FILE            =
-CITE_BIB_FILES         =
-QUIET                  = NO
-WARNINGS               = YES
-WARN_IF_UNDOCUMENTED   = YES
-WARN_IF_DOC_ERROR      = YES
-WARN_NO_PARAMDOC       = NO
-WARN_AS_ERROR          = NO
-WARN_FORMAT            = "$file:$line: $text"
-WARN_LOGFILE           =
-
-#---------------------------------------------------------------------------
-# Configuration options related to the input files
-#---------------------------------------------------------------------------
-#INPUT                  = ../src
-NPUT_ENCODING         = UTF-8
-FILE_PATTERNS          = *.c \
-                         *.cc \
-                         *.cxx \
-                         *.cpp \
-                         *.c++ \
-                         *.java \
-                         *.ii \
-                         *.ixx \
-                         *.ipp \
-                         *.i++ \
-                         *.inl \
-                         *.idl \
-                         *.ddl \
-                         *.odl \
-                         *.h \
-                         *.hh \
-                         *.hxx \
-                         *.hpp \
-                         *.h++ \
-                         *.cs \
-                         *.d \
-                         *.php \
-                         *.php4 \
-                         *.php5 \
-                         *.phtml \
-                         *.inc \
-                         *.m \
-                         *.markdown \
-                         *.md \
-                         *.mm \
-                         *.dox \
-                         *.py \
-                         *.pyw \
-                         *.f90 \
-                         *.f95 \
-                         *.f03 \
-                         *.f08 \
-                         *.f \
-                         *.for \
-                         *.tcl \
-                         *.vhd \
-                         *.vhdl \
-                         *.ucf \
-                         *.qsf \
-                         *.ice
-
-RECURSIVE              = YES
-EXCLUDE                =
-EXCLUDE_SYMLINKS       = NO
-EXCLUDE_PATTERNS       =
-EXCLUDE_SYMBOLS        =
-EXAMPLE_PATH           =
-EXAMPLE_PATTERNS       = *
-EXAMPLE_RECURSIVE      = NO
-IMAGE_PATH             =
-INPUT_FILTER           =
-FILTER_PATTERNS        =
-FILTER_SOURCE_FILES    = NO
-FILTER_SOURCE_PATTERNS =
-USE_MDFILE_AS_MAINPAGE =
-
-#---------------------------------------------------------------------------
-# Configuration options related to source browsing
-#---------------------------------------------------------------------------
-SOURCE_BROWSER         = NO
-INLINE_SOURCES         = NO
-STRIP_CODE_COMMENTS    = YES
-REFERENCED_BY_RELATION = NO
-REFERENCES_RELATION    = NO
-REFERENCES_LINK_SOURCE = YES
-SOURCE_TOOLTIPS        = YES
-USE_HTAGS              = NO
-VERBATIM_HEADERS       = YES
-
-#---------------------------------------------------------------------------
-# Configuration options related to the alphabetical class index
-#---------------------------------------------------------------------------
-ALPHABETICAL_INDEX     = YES
-COLS_IN_ALPHA_INDEX    = 5
-IGNORE_PREFIX          =
-
-#---------------------------------------------------------------------------
-# Configuration options related to the HTML output
-#---------------------------------------------------------------------------
-GENERATE_HTML          = YES
-HTML_OUTPUT            = html
-HTML_FILE_EXTENSION    = .html
-HTML_HEADER            =
-HTML_FOOTER            =
-HTML_STYLESHEET        =
-#HTML_EXTRA_STYLESHEET  =
-HTML_EXTRA_FILES       =
-HTML_COLORSTYLE_HUE    = 220
-HTML_COLORSTYLE_SAT    = 100
-HTML_COLORSTYLE_GAMMA  = 80
-HTML_TIMESTAMP         = NO
-HTML_DYNAMIC_MENUS     = YES
-HTML_DYNAMIC_SECTIONS  = NO
-HTML_INDEX_NUM_ENTRIES = 100
-GENERATE_DOCSET        = NO
-DOCSET_FEEDNAME        = "Doxygen generated docs"
-DOCSET_BUNDLE_ID       = org.doxygen.Project
-DOCSET_PUBLISHER_ID    = org.doxygen.Publisher
-DOCSET_PUBLISHER_NAME  = Publisher
-GENERATE_HTMLHELP      = NO
-CHM_FILE               =
-HHC_LOCATION           =
-GENERATE_CHI           = NO
-CHM_INDEX_ENCODING     =
-BINARY_TOC             = NO
-TOC_EXPAND             = NO
-GENERATE_QHP           = NO
-QCH_FILE               =
-QHP_NAMESPACE          = org.doxygen.Project
-QHP_VIRTUAL_FOLDER     = doc
-QHP_CUST_FILTER_NAME   =
-QHP_CUST_FILTER_ATTRS  =
-QHP_SECT_FILTER_ATTRS  =
-QHG_LOCATION           =
-GENERATE_ECLIPSEHELP   = NO
-ECLIPSE_DOC_ID         = org.doxygen.Project
-DISABLE_INDEX          = NO
-GENERATE_TREEVIEW      = NO
-ENUM_VALUES_PER_LINE   = 4
-TREEVIEW_WIDTH         = 250
-EXT_LINKS_IN_WINDOW    = NO
-FORMULA_FONTSIZE       = 10
-FORMULA_TRANSPARENT    = YES
-USE_MATHJAX            = NO
-MATHJAX_FORMAT         = HTML-CSS
-MATHJAX_RELPATH        = https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/
-MATHJAX_EXTENSIONS     =
-MATHJAX_CODEFILE       =
-SEARCHENGINE           = YES
-SERVER_BASED_SEARCH    = NO
-EXTERNAL_SEARCH        = NO
-SEARCHENGINE_URL       =
-SEARCHDATA_FILE        = searchdata.xml
-EXTERNAL_SEARCH_ID     =
-EXTRA_SEARCH_MAPPINGS  =
-
-#---------------------------------------------------------------------------
-# Configuration options related to the LaTeX output
-#---------------------------------------------------------------------------
-GENERATE_LATEX         = YES
-LATEX_OUTPUT           = latex
-LATEX_CMD_NAME         =
-MAKEINDEX_CMD_NAME     = makeindex
-LATEX_MAKEINDEX_CMD    = \makeindex
-COMPACT_LATEX          = NO
-PAPER_TYPE             = a4
-EXTRA_PACKAGES         =
-LATEX_HEADER           =
-LATEX_FOOTER           =
-LATEX_EXTRA_STYLESHEET =
-LATEX_EXTRA_FILES      =
-PDF_HYPERLINKS         = YES
-USE_PDFLATEX           = YES
-LATEX_BATCHMODE        = NO
-LATEX_HIDE_INDICES     = NO
-LATEX_SOURCE_CODE      = NO
-LATEX_BIB_STYLE        = plain
-LATEX_TIMESTAMP        = NO
-LATEX_EMOJI_DIRECTORY  =
-
-#---------------------------------------------------------------------------
-# Configuration options related to the RTF output
-#---------------------------------------------------------------------------
-GENERATE_RTF           = NO
-RTF_OUTPUT             = rtf
-COMPACT_RTF            = NO
-RTF_HYPERLINKS         = NO
-RTF_STYLESHEET_FILE    =
-RTF_EXTENSIONS_FILE    =
-RTF_SOURCE_CODE        = NO
-
-#---------------------------------------------------------------------------
-# Configuration options related to the man page output
-#---------------------------------------------------------------------------
-GENERATE_MAN           = NO
-MAN_OUTPUT             = man
-MAN_EXTENSION          = .3
-MAN_SUBDIR             =
-MAN_LINKS              = NO
-
-#---------------------------------------------------------------------------
-# Configuration options related to the XML output
-#---------------------------------------------------------------------------
-GENERATE_XML           = NO
-XML_OUTPUT             = xml
-XML_PROGRAMLISTING     = YES
-XML_NS_MEMB_FILE_SCOPE = NO
-
-#---------------------------------------------------------------------------
-# Configuration options related to the DOCBOOK output
-#---------------------------------------------------------------------------
-GENERATE_DOCBOOK       = NO
-DOCBOOK_OUTPUT         = docbook
-DOCBOOK_PROGRAMLISTING = NO
-
-#---------------------------------------------------------------------------
-# Configuration options for the AutoGen Definitions output
-#---------------------------------------------------------------------------
-GENERATE_AUTOGEN_DEF   = NO
-
-#---------------------------------------------------------------------------
-# Configuration options related to the Perl module output
-#---------------------------------------------------------------------------
-GENERATE_PERLMOD       = NO
-PERLMOD_LATEX          = NO
-PERLMOD_PRETTY         = YES
-PERLMOD_MAKEVAR_PREFIX =
-
-#---------------------------------------------------------------------------
-# Configuration options related to the preprocessor
-#---------------------------------------------------------------------------
-ENABLE_PREPROCESSING   = YES
-MACRO_EXPANSION        = NO
-EXPAND_ONLY_PREDEF     = NO
-SEARCH_INCLUDES        = YES
-INCLUDE_PATH           =
-INCLUDE_FILE_PATTERNS  =
-PREDEFINED             =
-EXPAND_AS_DEFINED      =
-SKIP_FUNCTION_MACROS   = YES
-
-#---------------------------------------------------------------------------
-# Configuration options related to external references
-#---------------------------------------------------------------------------
-TAGFILES               =
-GENERATE_TAGFILE       =
-ALLEXTERNALS           = NO
-EXTERNAL_GROUPS        = YES
-EXTERNAL_PAGES         = YES
-PERL_PATH              = /usr/bin/perl
-
-#---------------------------------------------------------------------------
-# Configuration options related to the dot tool
-#---------------------------------------------------------------------------
-CLASS_DIAGRAMS         = YES
-MSCGEN_PATH            =
-DIA_PATH               =
-HIDE_UNDOC_RELATIONS   = YES
-HAVE_DOT               = NO
-DOT_NUM_THREADS        = 0
-DOT_FONTNAME           = Helvetica
-DOT_FONTSIZE           = 10
-DOT_FONTPATH           =
-CLASS_GRAPH            = YES
-COLLABORATION_GRAPH    = YES
-GROUP_GRAPHS           = YES
-UML_LOOK               = NO
-UML_LIMIT_NUM_FIELDS   = 10
-TEMPLATE_RELATIONS     = NO
-INCLUDE_GRAPH          = YES
-INCLUDED_BY_GRAPH      = YES
-CALL_GRAPH             = NO
-CALLER_GRAPH           = NO
-GRAPHICAL_HIERARCHY    = YES
-DIRECTORY_GRAPH        = YES
-DOT_IMAGE_FORMAT       = png
-INTERACTIVE_SVG        = NO
-DOT_PATH               =
-DOTFILE_DIRS           =
-MSCFILE_DIRS           =
-DIAFILE_DIRS           =
-PLANTUML_JAR_PATH      =
-PLANTUML_CFG_FILE      =
-PLANTUML_INCLUDE_PATH  =
-DOT_GRAPH_MAX_NODES    = 50
-MAX_DOT_GRAPH_DEPTH    = 0
-DOT_TRANSPARENT        = NO
-DOT_MULTI_TARGETS      = NO
-GENERATE_LEGEND        = YES
-DOT_CLEANUP            = YES
diff --git a/source/DuneNvmeTest/docsrc/fpga_overview.dox b/source/DuneNvmeTest/docsrc/fpga_overview.dox
deleted file mode 100644 (file)
index b7d25b5..0000000
+++ /dev/null
@@ -1,50 +0,0 @@
-/*******************************************************************************
- *     fpga_overview.doc       Main overview page for code
- *******************************************************************************
- */
-/**
-\author Dr Terry Barnaby
-\version 0.1.1
-\date 2020-04-26
-
-\mainpage
-
-\section Introduction
-This directory contains the DuneNvme storage system that provides data storage to NVMe devices as available on a Xilinx FPGA.
-The directory contains the source code, simulation environment, build environment and test software for the NVME test FPGA firmware as well as the nvme_test host software.
-
-See the Readme.pdf file for more information.
-
-\section Directories
-<table>
-<tr><td>src</td><td>The main VHDL source code</td></tr>
-<tr><td>ip-core</td><td>IP cores generated with Vivado</td></tr>
-<tr><td>sim</td><td>The simulation environment</td></tr>
-<tr><td>vivado</td><td>The build environment</td></tr>
-<tr><td>test</td><td>Host test programs accessing the FPGA firmware</td></tr>
-<tr><td>docsrc</td><td>Source for the documentation</td></tr>
-<tr><td>doc</td><td>Output for the documentation</td></tr>
-</table>
-
-\section The Test Program
-The test Linux host program is in the test directory and is called nvme_test. This program communicates with an NVMe device through the FPGA connected to the host machines PCIe
-bus. This program allows experimentation with the NVMe low level PCIe interface.
-
-\section Building the FPGA bit file and programming
-<ol>
-<li>cd vivado </li>
-<li><make clean/li>
-<li><make all/li>
-<li>make program</li>
-</ol>
-
-\section To Simulate FPGA
-
-<ol>
-<li>cd sim</li>
-<li>Edit Makefile and testbench files for simulation required</li>
-<li>make</li>
-<li>make view</li>
-</ol>
-
-*/
diff --git a/source/DuneNvmeTest/docsrc/host_doxygen.dox b/source/DuneNvmeTest/docsrc/host_doxygen.dox
deleted file mode 100644 (file)
index 0276e39..0000000
+++ /dev/null
@@ -1,397 +0,0 @@
-# Doxyfile 1.8.15
-
-PROJECT_NAME           = "DuneNvme"
-PROJECT_NUMBER         = 0.1.1
-PROJECT_BRIEF          = "This is a simple NVMe test environment that allows experimentation with the low level PCIe NVMe interfaces as available on a Xilinx FPGA environment."
-PROJECT_LOGO           =
-INPUT                  = host_overview.dox ../test
-OUTPUT_DIRECTORY       = ../doc/host
-OPTIMIZE_OUTPUT_VHDL   = NO
-HTML_EXTRA_STYLESHEET  = beam_doxygen.css
-
-#---------------------------------------------------------------------------
-# Project related configuration options
-#---------------------------------------------------------------------------
-DOXYFILE_ENCODING      = UTF-8
-CREATE_SUBDIRS         = NO
-ALLOW_UNICODE_NAMES    = NO
-OUTPUT_LANGUAGE        = English
-OUTPUT_TEXT_DIRECTION  = None
-BRIEF_MEMBER_DESC      = YES
-REPEAT_BRIEF           = YES
-ABBREVIATE_BRIEF       = "The $name class" \
-                         "The $name widget" \
-                         "The $name file" \
-                         is \
-                         provides \
-                         specifies \
-                         contains \
-                         represents \
-                         a \
-                         an \
-                         the
-
-ALWAYS_DETAILED_SEC    = NO
-INLINE_INHERITED_MEMB  = NO
-FULL_PATH_NAMES        = YES
-STRIP_FROM_PATH        =
-STRIP_FROM_INC_PATH    =
-SHORT_NAMES            = NO
-JAVADOC_AUTOBRIEF      = NO
-QT_AUTOBRIEF           = NO
-MULTILINE_CPP_IS_BRIEF = NO
-INHERIT_DOCS           = YES
-SEPARATE_MEMBER_PAGES  = NO
-TAB_SIZE               = 4
-ALIASES                =
-TCL_SUBST              =
-OPTIMIZE_OUTPUT_FOR_C  = NO
-OPTIMIZE_OUTPUT_JAVA   = NO
-OPTIMIZE_FOR_FORTRAN   = NO
-#OPTIMIZE_OUTPUT_VHDL   = NO
-OPTIMIZE_OUTPUT_SLICE  = NO
-EXTENSION_MAPPING      =
-MARKDOWN_SUPPORT       = YES
-TOC_INCLUDE_HEADINGS   = 0
-AUTOLINK_SUPPORT       = YES
-BUILTIN_STL_SUPPORT    = NO
-CPP_CLI_SUPPORT        = NO
-SIP_SUPPORT            = NO
-IDL_PROPERTY_SUPPORT   = YES
-DISTRIBUTE_GROUP_DOC   = NO
-GROUP_NESTED_COMPOUNDS = NO
-SUBGROUPING            = YES
-INLINE_GROUPED_CLASSES = NO
-INLINE_SIMPLE_STRUCTS  = NO
-TYPEDEF_HIDES_STRUCT   = NO
-LOOKUP_CACHE_SIZE      = 0
-
-#---------------------------------------------------------------------------
-# Build related configuration options
-#---------------------------------------------------------------------------
-EXTRACT_ALL            = NO
-EXTRACT_PRIVATE        = NO
-EXTRACT_PACKAGE        = NO
-EXTRACT_STATIC         = NO
-EXTRACT_LOCAL_CLASSES  = YES
-EXTRACT_LOCAL_METHODS  = NO
-EXTRACT_ANON_NSPACES   = NO
-HIDE_UNDOC_MEMBERS     = NO
-HIDE_UNDOC_CLASSES     = NO
-HIDE_FRIEND_COMPOUNDS  = NO
-HIDE_IN_BODY_DOCS      = NO
-INTERNAL_DOCS          = NO
-CASE_SENSE_NAMES       = YES
-HIDE_SCOPE_NAMES       = NO
-HIDE_COMPOUND_REFERENCE= NO
-SHOW_INCLUDE_FILES     = YES
-SHOW_GROUPED_MEMB_INC  = NO
-FORCE_LOCAL_INCLUDES   = NO
-INLINE_INFO            = YES
-SORT_MEMBER_DOCS       = YES
-SORT_BRIEF_DOCS        = NO
-SORT_MEMBERS_CTORS_1ST = NO
-SORT_GROUP_NAMES       = NO
-SORT_BY_SCOPE_NAME     = NO
-STRICT_PROTO_MATCHING  = NO
-GENERATE_TODOLIST      = YES
-GENERATE_TESTLIST      = YES
-GENERATE_BUGLIST       = YES
-GENERATE_DEPRECATEDLIST= YES
-ENABLED_SECTIONS       =
-MAX_INITIALIZER_LINES  = 30
-SHOW_USED_FILES        = YES
-SHOW_FILES             = YES
-SHOW_NAMESPACES        = YES
-FILE_VERSION_FILTER    =
-LAYOUT_FILE            =
-CITE_BIB_FILES         =
-QUIET                  = NO
-WARNINGS               = YES
-WARN_IF_UNDOCUMENTED   = YES
-WARN_IF_DOC_ERROR      = YES
-WARN_NO_PARAMDOC       = NO
-WARN_AS_ERROR          = NO
-WARN_FORMAT            = "$file:$line: $text"
-WARN_LOGFILE           =
-
-#---------------------------------------------------------------------------
-# Configuration options related to the input files
-#---------------------------------------------------------------------------
-#INPUT                  = ../src
-NPUT_ENCODING         = UTF-8
-FILE_PATTERNS          = *.c \
-                         *.cc \
-                         *.cxx \
-                         *.cpp \
-                         *.c++ \
-                         *.java \
-                         *.ii \
-                         *.ixx \
-                         *.ipp \
-                         *.i++ \
-                         *.inl \
-                         *.idl \
-                         *.ddl \
-                         *.odl \
-                         *.h \
-                         *.hh \
-                         *.hxx \
-                         *.hpp \
-                         *.h++ \
-                         *.cs \
-                         *.d \
-                         *.php \
-                         *.php4 \
-                         *.php5 \
-                         *.phtml \
-                         *.inc \
-                         *.m \
-                         *.markdown \
-                         *.md \
-                         *.mm \
-                         *.dox \
-                         *.py \
-                         *.pyw \
-                         *.f90 \
-                         *.f95 \
-                         *.f03 \
-                         *.f08 \
-                         *.f \
-                         *.for \
-                         *.tcl \
-                         *.vhd \
-                         *.vhdl \
-                         *.ucf \
-                         *.qsf \
-                         *.ice
-
-RECURSIVE              = YES
-EXCLUDE                =
-EXCLUDE_SYMLINKS       = NO
-EXCLUDE_PATTERNS       =
-EXCLUDE_SYMBOLS        =
-EXAMPLE_PATH           =
-EXAMPLE_PATTERNS       = *
-EXAMPLE_RECURSIVE      = NO
-IMAGE_PATH             =
-INPUT_FILTER           =
-FILTER_PATTERNS        =
-FILTER_SOURCE_FILES    = NO
-FILTER_SOURCE_PATTERNS =
-USE_MDFILE_AS_MAINPAGE =
-
-#---------------------------------------------------------------------------
-# Configuration options related to source browsing
-#---------------------------------------------------------------------------
-SOURCE_BROWSER         = NO
-INLINE_SOURCES         = NO
-STRIP_CODE_COMMENTS    = YES
-REFERENCED_BY_RELATION = NO
-REFERENCES_RELATION    = NO
-REFERENCES_LINK_SOURCE = YES
-SOURCE_TOOLTIPS        = YES
-USE_HTAGS              = NO
-VERBATIM_HEADERS       = YES
-
-#---------------------------------------------------------------------------
-# Configuration options related to the alphabetical class index
-#---------------------------------------------------------------------------
-ALPHABETICAL_INDEX     = YES
-COLS_IN_ALPHA_INDEX    = 5
-IGNORE_PREFIX          =
-
-#---------------------------------------------------------------------------
-# Configuration options related to the HTML output
-#---------------------------------------------------------------------------
-GENERATE_HTML          = YES
-HTML_OUTPUT            = html
-HTML_FILE_EXTENSION    = .html
-HTML_HEADER            =
-HTML_FOOTER            =
-HTML_STYLESHEET        =
-#HTML_EXTRA_STYLESHEET  =
-HTML_EXTRA_FILES       =
-HTML_COLORSTYLE_HUE    = 220
-HTML_COLORSTYLE_SAT    = 100
-HTML_COLORSTYLE_GAMMA  = 80
-HTML_TIMESTAMP         = NO
-HTML_DYNAMIC_MENUS     = YES
-HTML_DYNAMIC_SECTIONS  = NO
-HTML_INDEX_NUM_ENTRIES = 100
-GENERATE_DOCSET        = NO
-DOCSET_FEEDNAME        = "Doxygen generated docs"
-DOCSET_BUNDLE_ID       = org.doxygen.Project
-DOCSET_PUBLISHER_ID    = org.doxygen.Publisher
-DOCSET_PUBLISHER_NAME  = Publisher
-GENERATE_HTMLHELP      = NO
-CHM_FILE               =
-HHC_LOCATION           =
-GENERATE_CHI           = NO
-CHM_INDEX_ENCODING     =
-BINARY_TOC             = NO
-TOC_EXPAND             = NO
-GENERATE_QHP           = NO
-QCH_FILE               =
-QHP_NAMESPACE          = org.doxygen.Project
-QHP_VIRTUAL_FOLDER     = doc
-QHP_CUST_FILTER_NAME   =
-QHP_CUST_FILTER_ATTRS  =
-QHP_SECT_FILTER_ATTRS  =
-QHG_LOCATION           =
-GENERATE_ECLIPSEHELP   = NO
-ECLIPSE_DOC_ID         = org.doxygen.Project
-DISABLE_INDEX          = NO
-GENERATE_TREEVIEW      = NO
-ENUM_VALUES_PER_LINE   = 4
-TREEVIEW_WIDTH         = 250
-EXT_LINKS_IN_WINDOW    = NO
-FORMULA_FONTSIZE       = 10
-FORMULA_TRANSPARENT    = YES
-USE_MATHJAX            = NO
-MATHJAX_FORMAT         = HTML-CSS
-MATHJAX_RELPATH        = https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/
-MATHJAX_EXTENSIONS     =
-MATHJAX_CODEFILE       =
-SEARCHENGINE           = YES
-SERVER_BASED_SEARCH    = NO
-EXTERNAL_SEARCH        = NO
-SEARCHENGINE_URL       =
-SEARCHDATA_FILE        = searchdata.xml
-EXTERNAL_SEARCH_ID     =
-EXTRA_SEARCH_MAPPINGS  =
-
-#---------------------------------------------------------------------------
-# Configuration options related to the LaTeX output
-#---------------------------------------------------------------------------
-GENERATE_LATEX         = YES
-LATEX_OUTPUT           = latex
-LATEX_CMD_NAME         =
-MAKEINDEX_CMD_NAME     = makeindex
-LATEX_MAKEINDEX_CMD    = \makeindex
-COMPACT_LATEX          = NO
-PAPER_TYPE             = a4
-EXTRA_PACKAGES         =
-LATEX_HEADER           =
-LATEX_FOOTER           =
-LATEX_EXTRA_STYLESHEET =
-LATEX_EXTRA_FILES      =
-PDF_HYPERLINKS         = YES
-USE_PDFLATEX           = YES
-LATEX_BATCHMODE        = NO
-LATEX_HIDE_INDICES     = NO
-LATEX_SOURCE_CODE      = NO
-LATEX_BIB_STYLE        = plain
-LATEX_TIMESTAMP        = NO
-LATEX_EMOJI_DIRECTORY  =
-
-#---------------------------------------------------------------------------
-# Configuration options related to the RTF output
-#---------------------------------------------------------------------------
-GENERATE_RTF           = NO
-RTF_OUTPUT             = rtf
-COMPACT_RTF            = NO
-RTF_HYPERLINKS         = NO
-RTF_STYLESHEET_FILE    =
-RTF_EXTENSIONS_FILE    =
-RTF_SOURCE_CODE        = NO
-
-#---------------------------------------------------------------------------
-# Configuration options related to the man page output
-#---------------------------------------------------------------------------
-GENERATE_MAN           = NO
-MAN_OUTPUT             = man
-MAN_EXTENSION          = .3
-MAN_SUBDIR             =
-MAN_LINKS              = NO
-
-#---------------------------------------------------------------------------
-# Configuration options related to the XML output
-#---------------------------------------------------------------------------
-GENERATE_XML           = NO
-XML_OUTPUT             = xml
-XML_PROGRAMLISTING     = YES
-XML_NS_MEMB_FILE_SCOPE = NO
-
-#---------------------------------------------------------------------------
-# Configuration options related to the DOCBOOK output
-#---------------------------------------------------------------------------
-GENERATE_DOCBOOK       = NO
-DOCBOOK_OUTPUT         = docbook
-DOCBOOK_PROGRAMLISTING = NO
-
-#---------------------------------------------------------------------------
-# Configuration options for the AutoGen Definitions output
-#---------------------------------------------------------------------------
-GENERATE_AUTOGEN_DEF   = NO
-
-#---------------------------------------------------------------------------
-# Configuration options related to the Perl module output
-#---------------------------------------------------------------------------
-GENERATE_PERLMOD       = NO
-PERLMOD_LATEX          = NO
-PERLMOD_PRETTY         = YES
-PERLMOD_MAKEVAR_PREFIX =
-
-#---------------------------------------------------------------------------
-# Configuration options related to the preprocessor
-#---------------------------------------------------------------------------
-ENABLE_PREPROCESSING   = YES
-MACRO_EXPANSION        = NO
-EXPAND_ONLY_PREDEF     = NO
-SEARCH_INCLUDES        = YES
-INCLUDE_PATH           =
-INCLUDE_FILE_PATTERNS  =
-PREDEFINED             =
-EXPAND_AS_DEFINED      =
-SKIP_FUNCTION_MACROS   = YES
-
-#---------------------------------------------------------------------------
-# Configuration options related to external references
-#---------------------------------------------------------------------------
-TAGFILES               =
-GENERATE_TAGFILE       =
-ALLEXTERNALS           = NO
-EXTERNAL_GROUPS        = YES
-EXTERNAL_PAGES         = YES
-PERL_PATH              = /usr/bin/perl
-
-#---------------------------------------------------------------------------
-# Configuration options related to the dot tool
-#---------------------------------------------------------------------------
-CLASS_DIAGRAMS         = YES
-MSCGEN_PATH            =
-DIA_PATH               =
-HIDE_UNDOC_RELATIONS   = YES
-HAVE_DOT               = NO
-DOT_NUM_THREADS        = 0
-DOT_FONTNAME           = Helvetica
-DOT_FONTSIZE           = 10
-DOT_FONTPATH           =
-CLASS_GRAPH            = YES
-COLLABORATION_GRAPH    = YES
-GROUP_GRAPHS           = YES
-UML_LOOK               = NO
-UML_LIMIT_NUM_FIELDS   = 10
-TEMPLATE_RELATIONS     = NO
-INCLUDE_GRAPH          = YES
-INCLUDED_BY_GRAPH      = YES
-CALL_GRAPH             = NO
-CALLER_GRAPH           = NO
-GRAPHICAL_HIERARCHY    = YES
-DIRECTORY_GRAPH        = YES
-DOT_IMAGE_FORMAT       = png
-INTERACTIVE_SVG        = NO
-DOT_PATH               =
-DOTFILE_DIRS           =
-MSCFILE_DIRS           =
-DIAFILE_DIRS           =
-PLANTUML_JAR_PATH      =
-PLANTUML_CFG_FILE      =
-PLANTUML_INCLUDE_PATH  =
-DOT_GRAPH_MAX_NODES    = 50
-MAX_DOT_GRAPH_DEPTH    = 0
-DOT_TRANSPARENT        = NO
-DOT_MULTI_TARGETS      = NO
-GENERATE_LEGEND        = YES
-DOT_CLEANUP            = YES
diff --git a/source/DuneNvmeTest/docsrc/host_overview.dox b/source/DuneNvmeTest/docsrc/host_overview.dox
deleted file mode 100644 (file)
index d108e2b..0000000
+++ /dev/null
@@ -1,50 +0,0 @@
-/*******************************************************************************
- *     host_overview.doc       Main overview page for code
- *******************************************************************************
- */
-/**
-\author Dr Terry Barnaby
-\version 0.1.1
-\date 2020-04-26
-
-\mainpage
-
-\section Introduction
-This directory contains a simple NVMe test environment that allows experimentation with the low level PCIe NVMe interfaces as available on a Xilinx FPGA environment.
-The directory contains the source code, simulation environment and build environment for the NVME test FPGA firmware as well as the nvme_test host software.
-
-See the Readme.pdf file for more information.
-
-\section Directories
-<table>
-<tr><td>src</td><td>The main VHDL source code</td></tr>
-<tr><td>ip-core</td><td>IP cores generated with Vivado</td></tr>
-<tr><td>sim</td><td>The simulation environment</td></tr>
-<tr><td>vivado</td><td>The build environment</td></tr>
-<tr><td>test</td><td>Host test programs accessing the FPGA firmware</td></tr>
-<tr><td>docsrc</td><td>Source for the documentation</td></tr>
-<tr><td>doc</td><td>Output for the documentation</td></tr>
-</table>
-
-\section The Test Program
-The test Linux host program is in the test directory and is called nvme_test. This program communicates with an NVMe device through the FPGA connected to the host machines PCIe
-bus. This program allows experimentation with the NVMe low level PCIe interface.
-
-\section Building the FPGA bit file and programming
-<ol>
-<li>cd vivado </li>
-<li><make clean/li>
-<li><make all/li>
-<li>make program</li>
-</ol>
-
-\section To Simulate FPGA
-
-<ol>
-<li>cd sim</li>
-<li>Edit Makefile and testbench files for simulation required</li>
-<li>make</li>
-<li>make view</li>
-</ol>
-
-*/
diff --git a/source/DuneNvmeTest/license.txt b/source/DuneNvmeTest/license.txt
deleted file mode 100644 (file)
index f288702..0000000
+++ /dev/null
@@ -1,674 +0,0 @@
-                    GNU GENERAL PUBLIC LICENSE
-                       Version 3, 29 June 2007
-
- Copyright (C) 2007 Free Software Foundation, Inc. <https://fsf.org/>
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
-                            Preamble
-
-  The GNU General Public License is a free, copyleft license for
-software and other kinds of works.
-
-  The licenses for most software and other practical works are designed
-to take away your freedom to share and change the works.  By contrast,
-the GNU General Public License is intended to guarantee your freedom to
-share and change all versions of a program--to make sure it remains free
-software for all its users.  We, the Free Software Foundation, use the
-GNU General Public License for most of our software; it applies also to
-any other work released this way by its authors.  You can apply it to
-your programs, too.
-
-  When we speak of free software, we are referring to freedom, not
-price.  Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-them if you wish), that you receive source code or can get it if you
-want it, that you can change the software or use pieces of it in new
-free programs, and that you know you can do these things.
-
-  To protect your rights, we need to prevent others from denying you
-these rights or asking you to surrender the rights.  Therefore, you have
-certain responsibilities if you distribute copies of the software, or if
-you modify it: responsibilities to respect the freedom of others.
-
-  For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must pass on to the recipients the same
-freedoms that you received.  You must make sure that they, too, receive
-or can get the source code.  And you must show them these terms so they
-know their rights.
-
-  Developers that use the GNU GPL protect your rights with two steps:
-(1) assert copyright on the software, and (2) offer you this License
-giving you legal permission to copy, distribute and/or modify it.
-
-  For the developers' and authors' protection, the GPL clearly explains
-that there is no warranty for this free software.  For both users' and
-authors' sake, the GPL requires that modified versions be marked as
-changed, so that their problems will not be attributed erroneously to
-authors of previous versions.
-
-  Some devices are designed to deny users access to install or run
-modified versions of the software inside them, although the manufacturer
-can do so.  This is fundamentally incompatible with the aim of
-protecting users' freedom to change the software.  The systematic
-pattern of such abuse occurs in the area of products for individuals to
-use, which is precisely where it is most unacceptable.  Therefore, we
-have designed this version of the GPL to prohibit the practice for those
-products.  If such problems arise substantially in other domains, we
-stand ready to extend this provision to those domains in future versions
-of the GPL, as needed to protect the freedom of users.
-
-  Finally, every program is threatened constantly by software patents.
-States should not allow patents to restrict development and use of
-software on general-purpose computers, but in those that do, we wish to
-avoid the special danger that patents applied to a free program could
-make it effectively proprietary.  To prevent this, the GPL assures that
-patents cannot be used to render the program non-free.
-
-  The precise terms and conditions for copying, distribution and
-modification follow.
-
-                       TERMS AND CONDITIONS
-
-  0. Definitions.
-
-  "This License" refers to version 3 of the GNU General Public License.
-
-  "Copyright" also means copyright-like laws that apply to other kinds of
-works, such as semiconductor masks.
-
-  "The Program" refers to any copyrightable work licensed under this
-License.  Each licensee is addressed as "you".  "Licensees" and
-"recipients" may be individuals or organizations.
-
-  To "modify" a work means to copy from or adapt all or part of the work
-in a fashion requiring copyright permission, other than the making of an
-exact copy.  The resulting work is called a "modified version" of the
-earlier work or a work "based on" the earlier work.
-
-  A "covered work" means either the unmodified Program or a work based
-on the Program.
-
-  To "propagate" a work means to do anything with it that, without
-permission, would make you directly or secondarily liable for
-infringement under applicable copyright law, except executing it on a
-computer or modifying a private copy.  Propagation includes copying,
-distribution (with or without modification), making available to the
-public, and in some countries other activities as well.
-
-  To "convey" a work means any kind of propagation that enables other
-parties to make or receive copies.  Mere interaction with a user through
-a computer network, with no transfer of a copy, is not conveying.
-
-  An interactive user interface displays "Appropriate Legal Notices"
-to the extent that it includes a convenient and prominently visible
-feature that (1) displays an appropriate copyright notice, and (2)
-tells the user that there is no warranty for the work (except to the
-extent that warranties are provided), that licensees may convey the
-work under this License, and how to view a copy of this License.  If
-the interface presents a list of user commands or options, such as a
-menu, a prominent item in the list meets this criterion.
-
-  1. Source Code.
-
-  The "source code" for a work means the preferred form of the work
-for making modifications to it.  "Object code" means any non-source
-form of a work.
-
-  A "Standard Interface" means an interface that either is an official
-standard defined by a recognized standards body, or, in the case of
-interfaces specified for a particular programming language, one that
-is widely used among developers working in that language.
-
-  The "System Libraries" of an executable work include anything, other
-than the work as a whole, that (a) is included in the normal form of
-packaging a Major Component, but which is not part of that Major
-Component, and (b) serves only to enable use of the work with that
-Major Component, or to implement a Standard Interface for which an
-implementation is available to the public in source code form.  A
-"Major Component", in this context, means a major essential component
-(kernel, window system, and so on) of the specific operating system
-(if any) on which the executable work runs, or a compiler used to
-produce the work, or an object code interpreter used to run it.
-
-  The "Corresponding Source" for a work in object code form means all
-the source code needed to generate, install, and (for an executable
-work) run the object code and to modify the work, including scripts to
-control those activities.  However, it does not include the work's
-System Libraries, or general-purpose tools or generally available free
-programs which are used unmodified in performing those activities but
-which are not part of the work.  For example, Corresponding Source
-includes interface definition files associated with source files for
-the work, and the source code for shared libraries and dynamically
-linked subprograms that the work is specifically designed to require,
-such as by intimate data communication or control flow between those
-subprograms and other parts of the work.
-
-  The Corresponding Source need not include anything that users
-can regenerate automatically from other parts of the Corresponding
-Source.
-
-  The Corresponding Source for a work in source code form is that
-same work.
-
-  2. Basic Permissions.
-
-  All rights granted under this License are granted for the term of
-copyright on the Program, and are irrevocable provided the stated
-conditions are met.  This License explicitly affirms your unlimited
-permission to run the unmodified Program.  The output from running a
-covered work is covered by this License only if the output, given its
-content, constitutes a covered work.  This License acknowledges your
-rights of fair use or other equivalent, as provided by copyright law.
-
-  You may make, run and propagate covered works that you do not
-convey, without conditions so long as your license otherwise remains
-in force.  You may convey covered works to others for the sole purpose
-of having them make modifications exclusively for you, or provide you
-with facilities for running those works, provided that you comply with
-the terms of this License in conveying all material for which you do
-not control copyright.  Those thus making or running the covered works
-for you must do so exclusively on your behalf, under your direction
-and control, on terms that prohibit them from making any copies of
-your copyrighted material outside their relationship with you.
-
-  Conveying under any other circumstances is permitted solely under
-the conditions stated below.  Sublicensing is not allowed; section 10
-makes it unnecessary.
-
-  3. Protecting Users' Legal Rights From Anti-Circumvention Law.
-
-  No covered work shall be deemed part of an effective technological
-measure under any applicable law fulfilling obligations under article
-11 of the WIPO copyright treaty adopted on 20 December 1996, or
-similar laws prohibiting or restricting circumvention of such
-measures.
-
-  When you convey a covered work, you waive any legal power to forbid
-circumvention of technological measures to the extent such circumvention
-is effected by exercising rights under this License with respect to
-the covered work, and you disclaim any intention to limit operation or
-modification of the work as a means of enforcing, against the work's
-users, your or third parties' legal rights to forbid circumvention of
-technological measures.
-
-  4. Conveying Verbatim Copies.
-
-  You may convey verbatim copies of the Program's source code as you
-receive it, in any medium, provided that you conspicuously and
-appropriately publish on each copy an appropriate copyright notice;
-keep intact all notices stating that this License and any
-non-permissive terms added in accord with section 7 apply to the code;
-keep intact all notices of the absence of any warranty; and give all
-recipients a copy of this License along with the Program.
-
-  You may charge any price or no price for each copy that you convey,
-and you may offer support or warranty protection for a fee.
-
-  5. Conveying Modified Source Versions.
-
-  You may convey a work based on the Program, or the modifications to
-produce it from the Program, in the form of source code under the
-terms of section 4, provided that you also meet all of these conditions:
-
-    a) The work must carry prominent notices stating that you modified
-    it, and giving a relevant date.
-
-    b) The work must carry prominent notices stating that it is
-    released under this License and any conditions added under section
-    7.  This requirement modifies the requirement in section 4 to
-    "keep intact all notices".
-
-    c) You must license the entire work, as a whole, under this
-    License to anyone who comes into possession of a copy.  This
-    License will therefore apply, along with any applicable section 7
-    additional terms, to the whole of the work, and all its parts,
-    regardless of how they are packaged.  This License gives no
-    permission to license the work in any other way, but it does not
-    invalidate such permission if you have separately received it.
-
-    d) If the work has interactive user interfaces, each must display
-    Appropriate Legal Notices; however, if the Program has interactive
-    interfaces that do not display Appropriate Legal Notices, your
-    work need not make them do so.
-
-  A compilation of a covered work with other separate and independent
-works, which are not by their nature extensions of the covered work,
-and which are not combined with it such as to form a larger program,
-in or on a volume of a storage or distribution medium, is called an
-"aggregate" if the compilation and its resulting copyright are not
-used to limit the access or legal rights of the compilation's users
-beyond what the individual works permit.  Inclusion of a covered work
-in an aggregate does not cause this License to apply to the other
-parts of the aggregate.
-
-  6. Conveying Non-Source Forms.
-
-  You may convey a covered work in object code form under the terms
-of sections 4 and 5, provided that you also convey the
-machine-readable Corresponding Source under the terms of this License,
-in one of these ways:
-
-    a) Convey the object code in, or embodied in, a physical product
-    (including a physical distribution medium), accompanied by the
-    Corresponding Source fixed on a durable physical medium
-    customarily used for software interchange.
-
-    b) Convey the object code in, or embodied in, a physical product
-    (including a physical distribution medium), accompanied by a
-    written offer, valid for at least three years and valid for as
-    long as you offer spare parts or customer support for that product
-    model, to give anyone who possesses the object code either (1) a
-    copy of the Corresponding Source for all the software in the
-    product that is covered by this License, on a durable physical
-    medium customarily used for software interchange, for a price no
-    more than your reasonable cost of physically performing this
-    conveying of source, or (2) access to copy the
-    Corresponding Source from a network server at no charge.
-
-    c) Convey individual copies of the object code with a copy of the
-    written offer to provide the Corresponding Source.  This
-    alternative is allowed only occasionally and noncommercially, and
-    only if you received the object code with such an offer, in accord
-    with subsection 6b.
-
-    d) Convey the object code by offering access from a designated
-    place (gratis or for a charge), and offer equivalent access to the
-    Corresponding Source in the same way through the same place at no
-    further charge.  You need not require recipients to copy the
-    Corresponding Source along with the object code.  If the place to
-    copy the object code is a network server, the Corresponding Source
-    may be on a different server (operated by you or a third party)
-    that supports equivalent copying facilities, provided you maintain
-    clear directions next to the object code saying where to find the
-    Corresponding Source.  Regardless of what server hosts the
-    Corresponding Source, you remain obligated to ensure that it is
-    available for as long as needed to satisfy these requirements.
-
-    e) Convey the object code using peer-to-peer transmission, provided
-    you inform other peers where the object code and Corresponding
-    Source of the work are being offered to the general public at no
-    charge under subsection 6d.
-
-  A separable portion of the object code, whose source code is excluded
-from the Corresponding Source as a System Library, need not be
-included in conveying the object code work.
-
-  A "User Product" is either (1) a "consumer product", which means any
-tangible personal property which is normally used for personal, family,
-or household purposes, or (2) anything designed or sold for incorporation
-into a dwelling.  In determining whether a product is a consumer product,
-doubtful cases shall be resolved in favor of coverage.  For a particular
-product received by a particular user, "normally used" refers to a
-typical or common use of that class of product, regardless of the status
-of the particular user or of the way in which the particular user
-actually uses, or expects or is expected to use, the product.  A product
-is a consumer product regardless of whether the product has substantial
-commercial, industrial or non-consumer uses, unless such uses represent
-the only significant mode of use of the product.
-
-  "Installation Information" for a User Product means any methods,
-procedures, authorization keys, or other information required to install
-and execute modified versions of a covered work in that User Product from
-a modified version of its Corresponding Source.  The information must
-suffice to ensure that the continued functioning of the modified object
-code is in no case prevented or interfered with solely because
-modification has been made.
-
-  If you convey an object code work under this section in, or with, or
-specifically for use in, a User Product, and the conveying occurs as
-part of a transaction in which the right of possession and use of the
-User Product is transferred to the recipient in perpetuity or for a
-fixed term (regardless of how the transaction is characterized), the
-Corresponding Source conveyed under this section must be accompanied
-by the Installation Information.  But this requirement does not apply
-if neither you nor any third party retains the ability to install
-modified object code on the User Product (for example, the work has
-been installed in ROM).
-
-  The requirement to provide Installation Information does not include a
-requirement to continue to provide support service, warranty, or updates
-for a work that has been modified or installed by the recipient, or for
-the User Product in which it has been modified or installed.  Access to a
-network may be denied when the modification itself materially and
-adversely affects the operation of the network or violates the rules and
-protocols for communication across the network.
-
-  Corresponding Source conveyed, and Installation Information provided,
-in accord with this section must be in a format that is publicly
-documented (and with an implementation available to the public in
-source code form), and must require no special password or key for
-unpacking, reading or copying.
-
-  7. Additional Terms.
-
-  "Additional permissions" are terms that supplement the terms of this
-License by making exceptions from one or more of its conditions.
-Additional permissions that are applicable to the entire Program shall
-be treated as though they were included in this License, to the extent
-that they are valid under applicable law.  If additional permissions
-apply only to part of the Program, that part may be used separately
-under those permissions, but the entire Program remains governed by
-this License without regard to the additional permissions.
-
-  When you convey a copy of a covered work, you may at your option
-remove any additional permissions from that copy, or from any part of
-it.  (Additional permissions may be written to require their own
-removal in certain cases when you modify the work.)  You may place
-additional permissions on material, added by you to a covered work,
-for which you have or can give appropriate copyright permission.
-
-  Notwithstanding any other provision of this License, for material you
-add to a covered work, you may (if authorized by the copyright holders of
-that material) supplement the terms of this License with terms:
-
-    a) Disclaiming warranty or limiting liability differently from the
-    terms of sections 15 and 16 of this License; or
-
-    b) Requiring preservation of specified reasonable legal notices or
-    author attributions in that material or in the Appropriate Legal
-    Notices displayed by works containing it; or
-
-    c) Prohibiting misrepresentation of the origin of that material, or
-    requiring that modified versions of such material be marked in
-    reasonable ways as different from the original version; or
-
-    d) Limiting the use for publicity purposes of names of licensors or
-    authors of the material; or
-
-    e) Declining to grant rights under trademark law for use of some
-    trade names, trademarks, or service marks; or
-
-    f) Requiring indemnification of licensors and authors of that
-    material by anyone who conveys the material (or modified versions of
-    it) with contractual assumptions of liability to the recipient, for
-    any liability that these contractual assumptions directly impose on
-    those licensors and authors.
-
-  All other non-permissive additional terms are considered "further
-restrictions" within the meaning of section 10.  If the Program as you
-received it, or any part of it, contains a notice stating that it is
-governed by this License along with a term that is a further
-restriction, you may remove that term.  If a license document contains
-a further restriction but permits relicensing or conveying under this
-License, you may add to a covered work material governed by the terms
-of that license document, provided that the further restriction does
-not survive such relicensing or conveying.
-
-  If you add terms to a covered work in accord with this section, you
-must place, in the relevant source files, a statement of the
-additional terms that apply to those files, or a notice indicating
-where to find the applicable terms.
-
-  Additional terms, permissive or non-permissive, may be stated in the
-form of a separately written license, or stated as exceptions;
-the above requirements apply either way.
-
-  8. Termination.
-
-  You may not propagate or modify a covered work except as expressly
-provided under this License.  Any attempt otherwise to propagate or
-modify it is void, and will automatically terminate your rights under
-this License (including any patent licenses granted under the third
-paragraph of section 11).
-
-  However, if you cease all violation of this License, then your
-license from a particular copyright holder is reinstated (a)
-provisionally, unless and until the copyright holder explicitly and
-finally terminates your license, and (b) permanently, if the copyright
-holder fails to notify you of the violation by some reasonable means
-prior to 60 days after the cessation.
-
-  Moreover, your license from a particular copyright holder is
-reinstated permanently if the copyright holder notifies you of the
-violation by some reasonable means, this is the first time you have
-received notice of violation of this License (for any work) from that
-copyright holder, and you cure the violation prior to 30 days after
-your receipt of the notice.
-
-  Termination of your rights under this section does not terminate the
-licenses of parties who have received copies or rights from you under
-this License.  If your rights have been terminated and not permanently
-reinstated, you do not qualify to receive new licenses for the same
-material under section 10.
-
-  9. Acceptance Not Required for Having Copies.
-
-  You are not required to accept this License in order to receive or
-run a copy of the Program.  Ancillary propagation of a covered work
-occurring solely as a consequence of using peer-to-peer transmission
-to receive a copy likewise does not require acceptance.  However,
-nothing other than this License grants you permission to propagate or
-modify any covered work.  These actions infringe copyright if you do
-not accept this License.  Therefore, by modifying or propagating a
-covered work, you indicate your acceptance of this License to do so.
-
-  10. Automatic Licensing of Downstream Recipients.
-
-  Each time you convey a covered work, the recipient automatically
-receives a license from the original licensors, to run, modify and
-propagate that work, subject to this License.  You are not responsible
-for enforcing compliance by third parties with this License.
-
-  An "entity transaction" is a transaction transferring control of an
-organization, or substantially all assets of one, or subdividing an
-organization, or merging organizations.  If propagation of a covered
-work results from an entity transaction, each party to that
-transaction who receives a copy of the work also receives whatever
-licenses to the work the party's predecessor in interest had or could
-give under the previous paragraph, plus a right to possession of the
-Corresponding Source of the work from the predecessor in interest, if
-the predecessor has it or can get it with reasonable efforts.
-
-  You may not impose any further restrictions on the exercise of the
-rights granted or affirmed under this License.  For example, you may
-not impose a license fee, royalty, or other charge for exercise of
-rights granted under this License, and you may not initiate litigation
-(including a cross-claim or counterclaim in a lawsuit) alleging that
-any patent claim is infringed by making, using, selling, offering for
-sale, or importing the Program or any portion of it.
-
-  11. Patents.
-
-  A "contributor" is a copyright holder who authorizes use under this
-License of the Program or a work on which the Program is based.  The
-work thus licensed is called the contributor's "contributor version".
-
-  A contributor's "essential patent claims" are all patent claims
-owned or controlled by the contributor, whether already acquired or
-hereafter acquired, that would be infringed by some manner, permitted
-by this License, of making, using, or selling its contributor version,
-but do not include claims that would be infringed only as a
-consequence of further modification of the contributor version.  For
-purposes of this definition, "control" includes the right to grant
-patent sublicenses in a manner consistent with the requirements of
-this License.
-
-  Each contributor grants you a non-exclusive, worldwide, royalty-free
-patent license under the contributor's essential patent claims, to
-make, use, sell, offer for sale, import and otherwise run, modify and
-propagate the contents of its contributor version.
-
-  In the following three paragraphs, a "patent license" is any express
-agreement or commitment, however denominated, not to enforce a patent
-(such as an express permission to practice a patent or covenant not to
-sue for patent infringement).  To "grant" such a patent license to a
-party means to make such an agreement or commitment not to enforce a
-patent against the party.
-
-  If you convey a covered work, knowingly relying on a patent license,
-and the Corresponding Source of the work is not available for anyone
-to copy, free of charge and under the terms of this License, through a
-publicly available network server or other readily accessible means,
-then you must either (1) cause the Corresponding Source to be so
-available, or (2) arrange to deprive yourself of the benefit of the
-patent license for this particular work, or (3) arrange, in a manner
-consistent with the requirements of this License, to extend the patent
-license to downstream recipients.  "Knowingly relying" means you have
-actual knowledge that, but for the patent license, your conveying the
-covered work in a country, or your recipient's use of the covered work
-in a country, would infringe one or more identifiable patents in that
-country that you have reason to believe are valid.
-
-  If, pursuant to or in connection with a single transaction or
-arrangement, you convey, or propagate by procuring conveyance of, a
-covered work, and grant a patent license to some of the parties
-receiving the covered work authorizing them to use, propagate, modify
-or convey a specific copy of the covered work, then the patent license
-you grant is automatically extended to all recipients of the covered
-work and works based on it.
-
-  A patent license is "discriminatory" if it does not include within
-the scope of its coverage, prohibits the exercise of, or is
-conditioned on the non-exercise of one or more of the rights that are
-specifically granted under this License.  You may not convey a covered
-work if you are a party to an arrangement with a third party that is
-in the business of distributing software, under which you make payment
-to the third party based on the extent of your activity of conveying
-the work, and under which the third party grants, to any of the
-parties who would receive the covered work from you, a discriminatory
-patent license (a) in connection with copies of the covered work
-conveyed by you (or copies made from those copies), or (b) primarily
-for and in connection with specific products or compilations that
-contain the covered work, unless you entered into that arrangement,
-or that patent license was granted, prior to 28 March 2007.
-
-  Nothing in this License shall be construed as excluding or limiting
-any implied license or other defenses to infringement that may
-otherwise be available to you under applicable patent law.
-
-  12. No Surrender of Others' Freedom.
-
-  If conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License.  If you cannot convey a
-covered work so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you may
-not convey it at all.  For example, if you agree to terms that obligate you
-to collect a royalty for further conveying from those to whom you convey
-the Program, the only way you could satisfy both those terms and this
-License would be to refrain entirely from conveying the Program.
-
-  13. Use with the GNU Affero General Public License.
-
-  Notwithstanding any other provision of this License, you have
-permission to link or combine any covered work with a work licensed
-under version 3 of the GNU Affero General Public License into a single
-combined work, and to convey the resulting work.  The terms of this
-License will continue to apply to the part which is the covered work,
-but the special requirements of the GNU Affero General Public License,
-section 13, concerning interaction through a network will apply to the
-combination as such.
-
-  14. Revised Versions of this License.
-
-  The Free Software Foundation may publish revised and/or new versions of
-the GNU General Public License from time to time.  Such new versions will
-be similar in spirit to the present version, but may differ in detail to
-address new problems or concerns.
-
-  Each version is given a distinguishing version number.  If the
-Program specifies that a certain numbered version of the GNU General
-Public License "or any later version" applies to it, you have the
-option of following the terms and conditions either of that numbered
-version or of any later version published by the Free Software
-Foundation.  If the Program does not specify a version number of the
-GNU General Public License, you may choose any version ever published
-by the Free Software Foundation.
-
-  If the Program specifies that a proxy can decide which future
-versions of the GNU General Public License can be used, that proxy's
-public statement of acceptance of a version permanently authorizes you
-to choose that version for the Program.
-
-  Later license versions may give you additional or different
-permissions.  However, no additional obligations are imposed on any
-author or copyright holder as a result of your choosing to follow a
-later version.
-
-  15. Disclaimer of Warranty.
-
-  THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
-APPLICABLE LAW.  EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
-HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
-OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
-THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
-IS WITH YOU.  SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
-ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
-
-  16. Limitation of Liability.
-
-  IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
-THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
-GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
-USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
-DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
-PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
-EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
-SUCH DAMAGES.
-
-  17. Interpretation of Sections 15 and 16.
-
-  If the disclaimer of warranty and limitation of liability provided
-above cannot be given local legal effect according to their terms,
-reviewing courts shall apply local law that most closely approximates
-an absolute waiver of all civil liability in connection with the
-Program, unless a warranty or assumption of liability accompanies a
-copy of the Program in return for a fee.
-
-                     END OF TERMS AND CONDITIONS
-
-            How to Apply These Terms to Your New Programs
-
-  If you develop a new program, and you want it to be of the greatest
-possible use to the public, the best way to achieve this is to make it
-free software which everyone can redistribute and change under these terms.
-
-  To do so, attach the following notices to the program.  It is safest
-to attach them to the start of each source file to most effectively
-state the exclusion of warranty; and each file should have at least
-the "copyright" line and a pointer to where the full notice is found.
-
-    <one line to give the program's name and a brief idea of what it does.>
-    Copyright (C) <year>  <name of author>
-
-    This program is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    This program is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with this program.  If not, see <https://www.gnu.org/licenses/>.
-
-Also add information on how to contact you by electronic and paper mail.
-
-  If the program does terminal interaction, make it output a short
-notice like this when it starts in an interactive mode:
-
-    <program>  Copyright (C) <year>  <name of author>
-    This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
-    This is free software, and you are welcome to redistribute it
-    under certain conditions; type `show c' for details.
-
-The hypothetical commands `show w' and `show c' should show the appropriate
-parts of the General Public License.  Of course, your program's commands
-might be different; for a GUI interface, you would use an "about box".
-
-  You should also get your employer (if you work as a programmer) or school,
-if any, to sign a "copyright disclaimer" for the program, if necessary.
-For more information on this, and how to apply and follow the GNU GPL, see
-<https://www.gnu.org/licenses/>.
-
-  The GNU General Public License does not permit incorporating your program
-into proprietary programs.  If your program is a subroutine library, you
-may consider it more useful to permit linking proprietary applications with
-the library.  If this is what you want to do, use the GNU Lesser General
-Public License instead of this License.  But first, please read
-<https://www.gnu.org/licenses/why-not-lgpl.html>.
diff --git a/source/DuneNvmeTest/sim/Makefile b/source/DuneNvmeTest/sim/Makefile
deleted file mode 100644 (file)
index 676f280..0000000
+++ /dev/null
@@ -1,112 +0,0 @@
-################################################################################
-#      Makefile        VHDL simulation
-#                      T. Barnaby,     Beam Ltd,       2011-07-17
-################################################################################
-#
-
-# The Test
-#TEST  = test001-leds
-#TEST  = test002-axil
-#TEST  = test003-regs
-#TEST  = test004-nvme
-#TEST  = test005-nvme
-#TEST  = test006-testdata
-#TEST  = test007-hostnvme
-#TEST  = test008-nvmeconfig
-#TEST  = test009-packets
-
-#TEST  = test010-queueram
-#TEST  = test011-switch
-#TEST  = test012-hostnvme
-#TEST  = test013-hostnvme
-#TEST  = test014-queueram
-#TEST  = test015-hostnvme
-#TEST  = test016-fifo
-#TEST  = test017-write
-#TEST  = test018-buffer
-TEST   = test019-write
-
-# VHDL source files
-FILES_BASE     += testbench/TestPkg.vhd ../src/NvmeStoragePkg.vhd ../src/NvmeStorageIntPkg.vhd ../src/AxilClockConverter.vhd ../src/AxisClockConverter.vhd 
-FILES_BASE     += ../src/NvmeStreamMux.vhd
-#FILES_BASE    += ../vivado/nvme-test.srcs/sources_1/ip/Fifo4k/Fifo4k_sim_netlist.vhdl
-#FILES_BASE    += ../vivado/nvme-test.srcs/sources_1/ip/Fifo32k/Fifo32k_sim_netlist.vhdl
-
-FILES_SYSTEM   = ../src/NvmeStorageUnit.vhd ../src/NvmeSim.vhd ../src/NvmeConfig.vhd ../src/StreamSwitch.vhd ../src/NvmeQueues.vhd
-FILES_SYSTEM   += ../src/TestData.vhd ../src/DataBuffer.vhd ../src/NvmeWrite.vhd
-
-# Test files
-FILES_test001-leds += testbench/${TEST}.vhd ${FILES_BASE} ../src/LedCount.vhd
-FILES_test002-axil += testbench/${TEST}.vhd ${FILES_BASE} ../src/AxilToCfg.vhd
-FILES_test003-regs += testbench/${TEST}.vhd ${FILES_BASE} ../src/NvmeStorage.vhd
-FILES_test004-nvme += testbench/${TEST}.vhd ${FILES_BASE} ../src/NvmeSim.vhd
-FILES_test005-nvme += testbench/${TEST}.vhd ${FILES_BASE} ../src/NvmeSim.vhd
-FILES_test006-testdata += testbench/${TEST}.vhd ${FILES_BASE} ../src/TestData.vhd
-FILES_test007-hostnvme += testbench/${TEST}.vhd ${FILES_BASE}  ../src/NvmeStorage.vhd ../src/NvmeSim.vhd
-FILES_test008-nvmeconfig += testbench/${TEST}.vhd ${FILES_BASE}  ../src/NvmeStorage.vhd ../src/NvmeSim.vhd ../src/NvmeConfig.vhd
-FILES_test009-packets += testbench/${TEST}.vhd ${FILES_BASE}  ../src/NvmeStorageUnit.vhd ../src/NvmeSim.vhd ../src/NvmeConfig.vhd
-FILES_test010-queueram += testbench/${TEST}.vhd ${FILES_BASE}  ../src/NvmeQueues.vhd ../src/NvmeConfig.vhd
-FILES_test011-switch += testbench/${TEST}.vhd ${FILES_BASE} ../src/StreamSwitch.vhd
-FILES_test012-hostnvme += testbench/${TEST}.vhd ${FILES_BASE} ${FILES_SYSTEM}
-FILES_test013-hostnvme += testbench/${TEST}.vhd ${FILES_BASE} ${FILES_SYSTEM}
-FILES_test014-queueram += testbench/${TEST}.vhd ${FILES_BASE}  ../src/NvmeQueues.vhd
-FILES_test015-hostnvme += testbench/${TEST}.vhd ${FILES_BASE} ${FILES_SYSTEM}
-FILES_test016-fifo += testbench/${TEST}.vhd ${FILES_BASE} ${FILES_SYSTEM}
-FILES_test017-write += testbench/${TEST}.vhd ${FILES_BASE} ${FILES_SYSTEM}
-FILES_test018-buffer += testbench/${TEST}.vhd ${FILES_BASE} ${FILES_SYSTEM}
-FILES_test019-write += testbench/${TEST}.vhd ${FILES_BASE} ${FILES_SYSTEM}
-
-# VHDL testbench files
-STOP   = test
-SVIEW  = testbench/${TEST}.sav
-
-FILES  = ${FILES_${TEST}}
-
-# Options
-#GFLAGS        = --ieee=synopsys --warn-no-vital-generic
-GFLAGS = --ieee=synopsys --warn-no-unused
-GFLAGS += -fexplicit
-GFLAGS += -Psimu
-SFLAGS = --assert-level=error
-#SFLAGS += --stop-time=300ns
-SFLAGS += --stop-time=30us
-
-#GFLAGS        += --std=93
-#GFLAGS        += --std=02
-#GFLAGS        += --std=08
-
-.PHONY: isim
-
-all:   compile run
-
-compile: unisim
-       ghdl -i $(GFLAGS) --workdir=simu --work=work $(FILES)
-       ghdl -m $(GFLAGS) --workdir=simu --work=work $(STOP)
-       @mv $(STOP) simu/$(STOP)
-
-run:
-       #@simu/$(STOP) $(SFLAGS) --vcd=simu/$(STOP).vcd
-       @simu/$(STOP) $(SFLAGS) --wave=simu/$(STOP).ghw
-
-view:
-       #gtkwave --vcd -f simu/$(STOP).vcd -a ${SVIEW}
-       #gtkwave simu/$(STOP).vcd -a ${SVIEW}
-       gtkwave -f simu/$(STOP).ghw -a ${SVIEW}
-
-clean:
-       rm -f simu/* e~test.o
-
-unisim: simu/unisim-obj93.cf
-
-simu/unisim-obj93.cf:
-       ghdl -i $(GFLAGS) --workdir=simu --work=unisim /opt/Xilinx/Vivado/2019.2/data/vhdl/src/unisims/*.vhd
-       #ghdl -i $(GFLAGS) --workdir=simu --work=unisim /opt/Xilinx/Vivado/2019.2/data/vhdl/src/unisims/primitive/*.vhd
-       #ghdl -i $(GFLAGS) --workdir=simu --work=xilinxcorelib /opt/Xilinx/13.4/ISE_DS/ISE/vhdl/src/XilinxCoreLib/*.vhd
-
-setup:
-       mkdir -p bin simu src testbench work unisim
-
-isim:
-       rm -f ${TEST}.prj
-       (for f in $(SFILES) ${FILES}; do echo vhdl work "$$f" >> ${TEST}.prj; done)
-       fuse -prj ${TEST}.prj work.test -o ${TEST} && ./${TEST} -gui
diff --git a/source/DuneNvmeTest/sim/testbench/TestPkg.vhd b/source/DuneNvmeTest/sim/testbench/TestPkg.vhd
deleted file mode 100644 (file)
index 926eaf7..0000000
+++ /dev/null
@@ -1,178 +0,0 @@
---------------------------------------------------------------------------------
---     TestPkg.vhd, Common bits for test harnesses
---     T.Barnaby, Beam Ltd. 2020-03-18
--------------------------------------------------------------------------------
---!
---! @class     TestPkg
---! @author    Terry Barnaby (terry.barnaby@beam.ltd.uk)
---! @date      2020-04-21
---! @version   0.0.1
---!
---! @brief
---! This package provides definitions for the NvmeStorage system internals.
---!
---! @details
---!
---! @copyright GNU GPL License
---! Copyright (c) Beam Ltd, All rights reserved. <br>
---! This code is free software: you can redistribute it and/or modify
---! it under the terms of the GNU General Public License as published by
---! the Free Software Foundation, either version 3 of the License, or
---! (at your option) any later version.
---! This program is distributed in the hope that it will be useful,
---! but WITHOUT ANY WARRANTY; without even the implied warranty of
---! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
---! GNU General Public License for more details. <br>
---! You should have received a copy of the GNU General Public License
---! along with this code. If not, see <https://www.gnu.org/licenses/>.
---!
-library ieee ;
-use ieee.std_logic_1164.all;
-use ieee.numeric_std.all;
-
-library work;
-use work.NvmeStoragePkg.all;
-use work.NvmeStorageIntPkg.all;
-
-package TestPkg is
-       procedure pcieRequestWrite(signal clk: std_logic; signal stream: inout AxisStreamType; requesterId: in integer; request: in integer; address: in integer; tag: in integer; count: in integer; data: in integer);
-       procedure pcieRequestRead(signal clk: std_logic; signal stream: inout AxisStreamType; requesterId: in integer; request: in integer; address: in integer; tag: in integer; count: in integer);
-       procedure pcieReply(signal clk: std_logic; signal stream: inout AxisStreamType; requesterId: in integer; status: in integer; address: in integer; tag: in integer; count: in integer; data: in integer);
-       procedure busWrite(signal clk: std_logic; signal toSlave: out AxilToSlaveType; signal toMaster: in AxilToMasterType; address: in integer; data: in integer);
-       procedure busRead(signal clk: std_logic; signal toSlave: out AxilToSlaveType; signal toMaster: in AxilToMasterType; address: in integer);
-end;
-
-package body TestPkg is
-       procedure pcieRequestWrite(signal clk: std_logic; signal stream: inout AxisStreamType; requesterId: in integer; request: in integer; address: in integer; tag: in integer; count: in integer; data: in integer) is
-       variable packetHead     : PcieRequestHeadType;
-       variable c              : integer;
-       variable d              : integer;
-       begin
-               packetHead.address := to_unsigned(address, packetHead.address'length);
-               packetHead.tag := to_unsigned(tag, packetHead.tag'length);
-               packetHead.count := to_unsigned(count, packetHead.count'length);
-               packetHead.request := to_unsigned(request, packetHead.request'length);
-               packetHead.requesterId := to_unsigned(requesterId, packetHead.requesterId'length);
-
-               c := count;
-               d := data;
-
-               -- Send Header
-               wait until rising_edge(clk);
-               stream.data <= to_stl(packetHead);
-               stream.keep <= concat('1', 16);
-               stream.valid <= '1';
-
-               while(c > 0) loop
-                       wait until rising_edge(clk) and (stream.ready = '1');
-                       
-                       -- Note enclodes requester ID for queue write entry
-                       stream.data <=  to_stl(d + 3, 32) & to_stl(d + 2, 32) & to_stl(d + 1, 32) & to_stl(requesterId, 8) & to_stl(d, 24);
-
-                       stream.keep <= keepBits(c);
-                       stream.valid <= '1';
-                       d := d + 4;
-                       c := c - 4;
-               end loop;
-               stream.last <= '1';
-
-               wait until rising_edge(clk) and (stream.ready = '1');
-               stream.valid <= '0';
-               stream.last <= '0';
-       end procedure;
-
-       procedure pcieRequestRead(signal clk: std_logic; signal stream: inout AxisStreamType; requesterId: in integer; request: in integer; address: in integer; tag: in integer; count: in integer) is
-       variable packetHead     : PcieRequestHeadType;
-       variable c              : integer;
-       variable d              : integer;
-       begin
-               packetHead.address := to_unsigned(address, packetHead.address'length);
-               packetHead.tag := to_unsigned(tag, packetHead.tag'length);
-               packetHead.count := to_unsigned(count, packetHead.count'length);
-               packetHead.request := to_unsigned(request, packetHead.request'length);
-               packetHead.requesterId := to_unsigned(requesterId, packetHead.requesterId'length);
-
-               -- Write address
-               wait until rising_edge(clk);
-               stream.data <= to_stl(packetHead);
-               stream.keep <= concat('1', 16);
-               stream.valid <= '1';
-               stream.last <= '1';
-
-               wait until rising_edge(clk) and (stream.ready = '1');
-               stream.valid <= '0';
-               stream.last <= '0';
-       end procedure;
-
-       procedure pcieReply(signal clk: std_logic; signal stream: inout AxisStreamType; requesterId: in integer; status: in integer; address: in integer; tag: in integer; count: in integer; data: in integer) is
-       variable packetHead     : PcieReplyHeadType;
-       variable c              : integer;
-       variable d              : integer;
-       begin
-               packetHead.byteCount := to_unsigned(count * 4, packetHead.byteCount'length);
-               packetHead.error := to_unsigned(0, packetHead.error'length);
-               packetHead.address := to_unsigned(address, packetHead.address'length);
-               packetHead.tag := to_unsigned(tag, packetHead.tag'length);
-               packetHead.count := to_unsigned(count, packetHead.count'length);
-               packetHead.status := to_unsigned(status, packetHead.status'length);
-               packetHead.requesterId := to_unsigned(requesterId, packetHead.requesterId'length);
-               c := (count + 3) / 4;
-               d := data;
-
-               -- Write address
-               wait until rising_edge(clk);
-               stream.data <= to_stl(d, 32) &to_stl(packetHead);
-               stream.keep <= concat('1', 16);
-               stream.valid <= '1';
-               d := d + 1;
-
-               while(c > 0) loop
-                       wait until rising_edge(clk) and (stream.ready = '1');
-                       stream.data <= to_stl(d + 3, 32) & to_stl(d + 2, 32) & to_stl(d + 1, 32) & to_stl(d, 32);
-                       stream.valid <= '1';
-                       d := d + 4;
-                       c := c - 1;
-               end loop;
-               stream.last <= '1';
-               stream.keep <= concat('0', 4) & concat('1', 12);                -- Hard coded for multiple of 4 data words
-
-               wait until rising_edge(clk) and (stream.ready = '1');
-               stream.valid <= '0';
-               stream.last <= '0';
-       end procedure;
-       
-       procedure busWrite(signal clk: std_logic; signal toSlave: out AxilToSlaveType; signal toMaster: in AxilToMasterType; address: in integer; data: in integer) is
-       begin
-               -- Write address
-               wait until rising_edge(clk);
-               toSlave.awaddr <= to_AxilAddress(address);
-               toSlave.awvalid <= '1';
-
-               wait until rising_edge(clk) and (toMaster.awready = '1');
-               toSlave.awvalid <= '0';
-
-               -- Write data
-               toSlave.wvalid <= '1';
-               toSlave.wdata <= to_AxilData(data);
-
-               wait until rising_edge(clk) and (toMaster.wready = '1');
-               toSlave.wvalid <= '0';
-       end procedure;
-
-       procedure busRead(signal clk: std_logic; signal toSlave: out AxilToSlaveType; signal toMaster: in AxilToMasterType; address: in integer) is
-       begin
-               -- Write address
-               wait until rising_edge(clk);
-               toSlave.araddr <= to_AxilAddress(address);
-               toSlave.arvalid <= '1';
-
-               wait until rising_edge(clk) and (toMaster.arready = '1');
-               toSlave.arvalid <= '0';
-
-               -- Read data
-               toSlave.rready <= '1';
-
-               wait until rising_edge(clk) and (toMaster.rvalid = '1');
-               toSlave.rready <= '0';
-       end procedure;
-end;
diff --git a/source/DuneNvmeTest/sim/testbench/genData.cpp b/source/DuneNvmeTest/sim/testbench/genData.cpp
deleted file mode 100644 (file)
index 5df1792..0000000
+++ /dev/null
@@ -1,94 +0,0 @@
-#include <stdio.h>
-
-void outputBinary(FILE* file, unsigned int v){
-       int     b;
-       
-       for(b = 31; b >= 0; b--){
-               if(v & (1 << b))
-                       fprintf(file, "1");
-               else
-                       fprintf(file, "0");
-       }
-       fprintf(file, "\n");
-}
-
-int output(FILE* file, unsigned int r, unsigned int i){
-       static int              state = 0;
-       static unsigned int     data[3];
-       
-//     printf("Output: %x, %x\n", r, i);
-       switch(state){
-       case 0:
-               data[0] = (r << 8) | (i >> 16);
-               data[1] = (i << 16);
-               state++;
-               break;
-       case 1:
-               data[1] |= (r >> 8);
-               data[2] = (r << 24) | i;
-
-#ifdef ZAP
-               printf("%8.8x\n", data[0]);
-               printf("%8.8x\n", data[1]);
-               printf("%8.8x\n", data[2]);
-#endif
-               fprintf(file, "%d\n", data[0]);
-               fprintf(file, "%d\n", data[1]);
-               fprintf(file, "%d\n", data[2]);
-
-//             outputBinary(file, data[0]);
-//             outputBinary(file, data[1]);
-//             outputBinary(file, data[2]);
-               state = 0;
-               break;
-       }
-       return 0;
-}
-
-void test1(FILE* file){
-       int             c;
-       unsigned int    r;
-       unsigned int    i;
-       
-       for(c = 0; c < 4096; c++){
-               r = c;
-               i = 0x10000 | c;
-               output(file, r, i);
-       }
-}
-
-void test2(FILE* file){
-       int             s;
-       int             sample = 0;;
-       int             subband;
-       int             numSamples = 8;
-       unsigned int    r;
-       unsigned int    i;
-       int             n;
-       
-       for(n = 0; n < 8; n++){
-               for(subband = 0; subband < 4; subband++){
-                       for(s = 0; s < numSamples; s++){
-//                             r = (0xF << 20) | (subband << 16) | s;
-//                             i = (0xE << 20) | (subband << 16) | s;
-                               r = (0x3 << 22) | (subband << 20) | ((sample + s) << 6);
-                               i = (0x2 << 22) | (subband << 20) | ((sample + s) << 6);
-                               output(file, r, i);
-                       }
-               }
-               sample += numSamples;
-       }
-}
-
-int main(){
-       FILE*           file;
-       
-       file = fopen("data.txt", "w");
-       
-//     test1(file);
-       test2(file);
-       
-       fclose(file);
-       
-       return 0;
-}
diff --git a/source/DuneNvmeTest/sim/testbench/test001-leds.sav b/source/DuneNvmeTest/sim/testbench/test001-leds.sav
deleted file mode 100644 (file)
index b692cd6..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-[*]
-[*] GTKWave Analyzer v3.3.102 (w)1999-2019 BSI
-[*] Tue Feb 18 14:23:01 2020
-[*]
-[dumpfile] "/src/dune/FpgaPlay/test002-leds/sim/simu/test.ghw"
-[dumpfile_mtime] "Tue Feb 18 14:22:44 2020"
-[dumpfile_size] 79311
-[savefile] "/src/dune/FpgaPlay/test002-leds/sim/testbench/test001-leds.sav"
-[timestart] 0
-[size] 1920 1019
-[pos] 3 0
-*-25.929588 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1
-[treeopen] top.
-[treeopen] top.test.
-[treeopen] top.test.ledcount0.
-[treeopen] top.vcomponents.
-[sst_width] 230
-[signals_width] 174
-[sst_expanded] 1
-[sst_vpaned_height] 290
-@28
-top.test.ledcount0.clk_i
-top.test.ledcount0.reset_i
-@22
-#{top.test.leds[7:0]} top.test.leds[7] top.test.leds[6] top.test.leds[5] top.test.leds[4] top.test.leds[3] top.test.leds[2] top.test.leds[1] top.test.leds[0]
-[pattern_trace] 1
-[pattern_trace] 0
diff --git a/source/DuneNvmeTest/sim/testbench/test001-leds.vhd b/source/DuneNvmeTest/sim/testbench/test001-leds.vhd
deleted file mode 100644 (file)
index 75cdf03..0000000
+++ /dev/null
@@ -1,75 +0,0 @@
---------------------------------------------------------------------------------
---     Test001.vhd     Simple Leds
---                     T.Barnaby,      Beam Ltd.       2020-02-18
---------------------------------------------------------------------------------
---
-library ieee ;
-use ieee.std_logic_1164.all;
-use ieee.std_logic_unsigned.all;
-use ieee.std_logic_arith.all;
-use ieee.std_logic_misc.all;
-use ieee.std_logic_textio.all;
-use std.textio.all; 
-
---library work;
---use work.PacketLink.all;
-
-entity Test is
-end;
-
-architecture sim of Test is
-
-component LedCount is
-generic (
-       Simulate        : boolean       := True;
-       Divider         : integer       := 4
-);
-port (
-       clk_p   : in std_logic;
-       clk_n   : in std_logic;
-       reset   : in std_logic;
-       leds    : out std_logic_vector(7 downto 0)
-);
-end component;
-
-constant TCQ           : time := 1 ns;
-
-signal clk_p           : std_logic := '1';
-signal clk_n           : std_logic := '0';
-signal reset           : std_logic := '0';
-signal leds            : std_logic_vector(7 downto 0);
-
-begin
-       ledCount0 : LedCount port map (
-               clk_p           => clk_p,
-               clk_n           => clk_n,
-               reset           => reset,
-               leds            => leds
-       );
-
-       clock : process
-       begin
-               wait for 5 ns; clk_p  <= not clk_p;
-       end process clock;
-
-       clk_n <= not clk_p;
-
-       init : process
-       begin
-               reset   <= '1';
-               wait for 50 ns;
-               reset   <= '0';
-               wait;
-       end process;
-       
-       run : process
-       begin
-               wait;
-       end process;
-
-       stop : process
-       begin
-               wait for 500 ns;
-               --assert false report "simulation ended" severity failure;
-       end process;
-end;
diff --git a/source/DuneNvmeTest/sim/testbench/test002-axil.sav b/source/DuneNvmeTest/sim/testbench/test002-axil.sav
deleted file mode 100644 (file)
index 291f19b..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-[*]
-[*] GTKWave Analyzer v3.3.102 (w)1999-2019 BSI
-[*] Fri Feb 28 13:14:29 2020
-[*]
-[dumpfile] "/src/dune/FpgaPlay/test007-axi/sim/simu/test.ghw"
-[dumpfile_mtime] "Fri Feb 28 12:49:20 2020"
-[dumpfile_size] 3404
-[savefile] "/src/dune/FpgaPlay/test007-axi/sim/testbench/test002-axil.sav"
-[timestart] 0
-[size] 1730 871
-[pos] -1 -1
-*-26.000000 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1
-[treeopen] top.
-[treeopen] top.test.
-[treeopen] top.test.axil.
-[treeopen] top.test.axil.tomaster.
-[treeopen] top.test.axil.toslave.
-[sst_width] 299
-[signals_width] 230
-[sst_expanded] 1
-[sst_vpaned_height] 339
-@28
-top.test.clk
-top.test.reset
-top.test.axil.toslave.awvalid
-top.test.axil.tomaster.awready
-@22
-#{top.test.axil.toslave.awaddr[31:0]} top.test.axil.toslave.awaddr[31] top.test.axil.toslave.awaddr[30] top.test.axil.toslave.awaddr[29] top.test.axil.toslave.awaddr[28] top.test.axil.toslave.awaddr[27] top.test.axil.toslave.awaddr[26] top.test.axil.toslave.awaddr[25] top.test.axil.toslave.awaddr[24] top.test.axil.toslave.awaddr[23] top.test.axil.toslave.awaddr[22] top.test.axil.toslave.awaddr[21] top.test.axil.toslave.awaddr[20] top.test.axil.toslave.awaddr[19] top.test.axil.toslave.awaddr[18] top.test.axil.toslave.awaddr[17] top.test.axil.toslave.awaddr[16] top.test.axil.toslave.awaddr[15] top.test.axil.toslave.awaddr[14] top.test.axil.toslave.awaddr[13] top.test.axil.toslave.awaddr[12] top.test.axil.toslave.awaddr[11] top.test.axil.toslave.awaddr[10] top.test.axil.toslave.awaddr[9] top.test.axil.toslave.awaddr[8] top.test.axil.toslave.awaddr[7] top.test.axil.toslave.awaddr[6] top.test.axil.toslave.awaddr[5] top.test.axil.toslave.awaddr[4] top.test.axil.toslave.awaddr[3] top.test.axil.toslave.awaddr[2] top.test.axil.toslave.awaddr[1] top.test.axil.toslave.awaddr[0]
-@29
-top.test.axil.toslave.wvalid
-@28
-top.test.axil.tomaster.wready
-top.test.axiltocfg0.cfg_mgmt_write
-@22
-#{top.test.cfg_mgmt_addr[18:0]} top.test.cfg_mgmt_addr[18] top.test.cfg_mgmt_addr[17] top.test.cfg_mgmt_addr[16] top.test.cfg_mgmt_addr[15] top.test.cfg_mgmt_addr[14] top.test.cfg_mgmt_addr[13] top.test.cfg_mgmt_addr[12] top.test.cfg_mgmt_addr[11] top.test.cfg_mgmt_addr[10] top.test.cfg_mgmt_addr[9] top.test.cfg_mgmt_addr[8] top.test.cfg_mgmt_addr[7] top.test.cfg_mgmt_addr[6] top.test.cfg_mgmt_addr[5] top.test.cfg_mgmt_addr[4] top.test.cfg_mgmt_addr[3] top.test.cfg_mgmt_addr[2] top.test.cfg_mgmt_addr[1] top.test.cfg_mgmt_addr[0]
-#{top.test.cfg_mgmt_write_data[31:0]} top.test.cfg_mgmt_write_data[31] top.test.cfg_mgmt_write_data[30] top.test.cfg_mgmt_write_data[29] top.test.cfg_mgmt_write_data[28] top.test.cfg_mgmt_write_data[27] top.test.cfg_mgmt_write_data[26] top.test.cfg_mgmt_write_data[25] top.test.cfg_mgmt_write_data[24] top.test.cfg_mgmt_write_data[23] top.test.cfg_mgmt_write_data[22] top.test.cfg_mgmt_write_data[21] top.test.cfg_mgmt_write_data[20] top.test.cfg_mgmt_write_data[19] top.test.cfg_mgmt_write_data[18] top.test.cfg_mgmt_write_data[17] top.test.cfg_mgmt_write_data[16] top.test.cfg_mgmt_write_data[15] top.test.cfg_mgmt_write_data[14] top.test.cfg_mgmt_write_data[13] top.test.cfg_mgmt_write_data[12] top.test.cfg_mgmt_write_data[11] top.test.cfg_mgmt_write_data[10] top.test.cfg_mgmt_write_data[9] top.test.cfg_mgmt_write_data[8] top.test.cfg_mgmt_write_data[7] top.test.cfg_mgmt_write_data[6] top.test.cfg_mgmt_write_data[5] top.test.cfg_mgmt_write_data[4] top.test.cfg_mgmt_write_data[3] top.test.cfg_mgmt_write_data[2] top.test.cfg_mgmt_write_data[1] top.test.cfg_mgmt_write_data[0]
-@28
-top.test.axiltocfg0.cfg_mgmt_read
-[pattern_trace] 1
-[pattern_trace] 0
diff --git a/source/DuneNvmeTest/sim/testbench/test002-axil.vhd b/source/DuneNvmeTest/sim/testbench/test002-axil.vhd
deleted file mode 100644 (file)
index 827de77..0000000
+++ /dev/null
@@ -1,133 +0,0 @@
---------------------------------------------------------------------------------
---     Test002-axil.vhd        Simple AXI lite interface tests
---     T.Barnaby,      Beam Ltd.       2020-02-18
---------------------------------------------------------------------------------
---
-library ieee ;
-use ieee.std_logic_1164.all;
---use ieee.std_logic_unsigned.all;
-use ieee.numeric_std.all;
---use ieee.std_logic_arith.all;
---use ieee.std_logic_misc.all;
---use ieee.std_logic_textio.all;
---use std.textio.all; 
-
-library work;
-use work.Axil.all;
-
-entity Test is
-end;
-
-architecture sim of Test is
-
-component AxilToCfg is
-generic(
-       Simulate        : boolean       := False
-);
-port (
-       clk                             : in std_logic;
-       reset                           : in std_logic;
-
-       axilIn                          : in AxilToSlave;
-       axilOut                         : out AxilToMaster;
-       
-       cfg_mgmt_addr                   : out std_logic_vector(18 downto 0);
-       cfg_mgmt_write                  : out std_logic;
-       cfg_mgmt_write_data             : out std_logic_vector(31 downto 0);
-       cfg_mgmt_byte_enable            : out std_logic_vector(3 downto 0);
-       cfg_mgmt_read                   : out std_logic;
-       cfg_mgmt_read_data              : in std_logic_vector(31 downto 0);
-       cfg_mgmt_read_write_done        : in std_logic;
-       cfg_mgmt_type1_cfg_reg_access   : out std_logic
-);
-end component;
-
-constant TCQ           : time := 1 ns;
-
-signal clk             : std_logic := '0';
-signal reset           : std_logic := '0';
-signal axil            : AxilInterface;
-
-signal cfg_mgmt_addr                   : std_logic_vector(18 downto 0);
-signal cfg_mgmt_write                  : std_logic;
-signal cfg_mgmt_write_data             : std_logic_vector(31 downto 0);
-signal cfg_mgmt_byte_enable            : std_logic_vector(3 downto 0);
-signal cfg_mgmt_read                   : std_logic;
-signal cfg_mgmt_read_data              : std_logic_vector(31 downto 0);
-signal cfg_mgmt_read_write_done                : std_logic;
-signal cfg_mgmt_type1_cfg_reg_access   : std_logic;
-
-function toAxilAddress(v: integer)     return std_logic_vector is
-begin
-       return std_logic_vector(to_unsigned(v, AxilAddressWidth));
-end function;
-
-procedure busWrite(signal toSlave: out AxilToSlave; signal toMaster: in AxilToMaster; address: in integer; data: in integer) is
-begin
-       -- Write address
-       wait until rising_edge(clk);
-       toSlave.awaddr <= toAxilAddress(address) after TCQ;
-       toSlave.awvalid <= '1' after TCQ;
-
-       wait until rising_edge(clk) and (axil.toMaster.awready = '1');
-       toSlave.awvalid <= '0' after TCQ;
-
-       -- Write data
-       toSlave.wvalid <= '1' after TCQ;
-       toSlave.wdata <= toAxilAddress(data) after TCQ;
-
-       wait until rising_edge(clk) and (axil.toMaster.wready = '1');
-       toSlave.wvalid <= '0' after TCQ;
-               
-end procedure;
-
-       
-begin
-       axilToCfg0 : AxilToCfg port map (
-               clk                             => clk,
-               reset                           => reset,
-
-               axilIn                          => axil.toSlave,
-               axilOut                         => axil.toMaster,
-
-               cfg_mgmt_addr                   => cfg_mgmt_addr,
-               cfg_mgmt_write                  => cfg_mgmt_write,
-               cfg_mgmt_write_data             => cfg_mgmt_write_data,
-               cfg_mgmt_byte_enable            => cfg_mgmt_byte_enable,
-               cfg_mgmt_read                   => cfg_mgmt_read,
-               cfg_mgmt_read_data              => cfg_mgmt_read_data,
-               cfg_mgmt_read_write_done        => cfg_mgmt_read_write_done,
-               cfg_mgmt_type1_cfg_reg_access   => cfg_mgmt_type1_cfg_reg_access
-       );
-
-       clock : process
-       begin
-               wait for 5 ns; clk  <= not clk;
-       end process clock;
-
-       init : process
-       begin
-               reset   <= '1';
-               wait for 50 ns;
-               reset   <= '0';
-               wait;
-       end process;
-       
-       run : process
-       begin
-
-               axil.toSlave.awvalid <= '0';
-               axil.toSlave.wvalid <= '0';
-               axil.toSlave.arvalid <= '0';
-               
-               wait until reset = '0';
-               busWrite(axil.toSlave, axil.toMaster, 1, 2);
-               wait;
-       end process;
-
-       stop : process
-       begin
-               wait for 500 ns;
-               assert false report "simulation ended ok" severity failure;
-       end process;
-end;
diff --git a/source/DuneNvmeTest/sim/testbench/test003-regs.sav b/source/DuneNvmeTest/sim/testbench/test003-regs.sav
deleted file mode 100644 (file)
index 7fc1412..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-[*]
-[*] GTKWave Analyzer v3.3.104 (w)1999-2020 BSI
-[*] Mon Mar  2 07:56:01 2020
-[*]
-[dumpfile] "/src/dune/FpgaPlay/test008-nvme/sim/simu/test.ghw"
-[dumpfile_mtime] "Mon Mar  2 07:17:55 2020"
-[dumpfile_size] 11669
-[savefile] "/src/dune/FpgaPlay/test008-nvme/sim/testbench/test003-regs.sav"
-[timestart] 0
-[size] 1907 820
-[pos] 1923 0
-*-26.000000 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1
-[treeopen] top.
-[treeopen] top.test.
-[treeopen] top.test.axil.
-[treeopen] top.test.axil.tomaster.
-[treeopen] top.test.axil.toslave.
-[treeopen] top.test.nvmestorage0.
-[sst_width] 322
-[signals_width] 184
-[sst_expanded] 1
-[sst_vpaned_height] 342
-@28
-top.test.clk
-top.test.reset
-top.test.axil.toslave.awvalid
-top.test.axil.tomaster.awready
-top.test.axil.toslave.wvalid
-top.test.axil.tomaster.wready
-top.test.axil.toslave.arvalid
-top.test.axil.tomaster.arready
-top.test.axil.tomaster.rvalid
-top.test.axil.toslave.rready
-@22
-#{top.test.axil.toslave.araddr[31:0]} top.test.axil.toslave.araddr[31] top.test.axil.toslave.araddr[30] top.test.axil.toslave.araddr[29] top.test.axil.toslave.araddr[28] top.test.axil.toslave.araddr[27] top.test.axil.toslave.araddr[26] top.test.axil.toslave.araddr[25] top.test.axil.toslave.araddr[24] top.test.axil.toslave.araddr[23] top.test.axil.toslave.araddr[22] top.test.axil.toslave.araddr[21] top.test.axil.toslave.araddr[20] top.test.axil.toslave.araddr[19] top.test.axil.toslave.araddr[18] top.test.axil.toslave.araddr[17] top.test.axil.toslave.araddr[16] top.test.axil.toslave.araddr[15] top.test.axil.toslave.araddr[14] top.test.axil.toslave.araddr[13] top.test.axil.toslave.araddr[12] top.test.axil.toslave.araddr[11] top.test.axil.toslave.araddr[10] top.test.axil.toslave.araddr[9] top.test.axil.toslave.araddr[8] top.test.axil.toslave.araddr[7] top.test.axil.toslave.araddr[6] top.test.axil.toslave.araddr[5] top.test.axil.toslave.araddr[4] top.test.axil.toslave.araddr[3] top.test.axil.toslave.araddr[2] top.test.axil.toslave.araddr[1] top.test.axil.toslave.araddr[0]
-#{top.test.axil.tomaster.rdata[31:0]} top.test.axil.tomaster.rdata[31] top.test.axil.tomaster.rdata[30] top.test.axil.tomaster.rdata[29] top.test.axil.tomaster.rdata[28] top.test.axil.tomaster.rdata[27] top.test.axil.tomaster.rdata[26] top.test.axil.tomaster.rdata[25] top.test.axil.tomaster.rdata[24] top.test.axil.tomaster.rdata[23] top.test.axil.tomaster.rdata[22] top.test.axil.tomaster.rdata[21] top.test.axil.tomaster.rdata[20] top.test.axil.tomaster.rdata[19] top.test.axil.tomaster.rdata[18] top.test.axil.tomaster.rdata[17] top.test.axil.tomaster.rdata[16] top.test.axil.tomaster.rdata[15] top.test.axil.tomaster.rdata[14] top.test.axil.tomaster.rdata[13] top.test.axil.tomaster.rdata[12] top.test.axil.tomaster.rdata[11] top.test.axil.tomaster.rdata[10] top.test.axil.tomaster.rdata[9] top.test.axil.tomaster.rdata[8] top.test.axil.tomaster.rdata[7] top.test.axil.tomaster.rdata[6] top.test.axil.tomaster.rdata[5] top.test.axil.tomaster.rdata[4] top.test.axil.tomaster.rdata[3] top.test.axil.tomaster.rdata[2] top.test.axil.tomaster.rdata[1] top.test.axil.tomaster.rdata[0]
-#{top.test.nvmestorage0.reg_control[31:0]} top.test.nvmestorage0.reg_control[31] top.test.nvmestorage0.reg_control[30] top.test.nvmestorage0.reg_control[29] top.test.nvmestorage0.reg_control[28] top.test.nvmestorage0.reg_control[27] top.test.nvmestorage0.reg_control[26] top.test.nvmestorage0.reg_control[25] top.test.nvmestorage0.reg_control[24] top.test.nvmestorage0.reg_control[23] top.test.nvmestorage0.reg_control[22] top.test.nvmestorage0.reg_control[21] top.test.nvmestorage0.reg_control[20] top.test.nvmestorage0.reg_control[19] top.test.nvmestorage0.reg_control[18] top.test.nvmestorage0.reg_control[17] top.test.nvmestorage0.reg_control[16] top.test.nvmestorage0.reg_control[15] top.test.nvmestorage0.reg_control[14] top.test.nvmestorage0.reg_control[13] top.test.nvmestorage0.reg_control[12] top.test.nvmestorage0.reg_control[11] top.test.nvmestorage0.reg_control[10] top.test.nvmestorage0.reg_control[9] top.test.nvmestorage0.reg_control[8] top.test.nvmestorage0.reg_control[7] top.test.nvmestorage0.reg_control[6] top.test.nvmestorage0.reg_control[5] top.test.nvmestorage0.reg_control[4] top.test.nvmestorage0.reg_control[3] top.test.nvmestorage0.reg_control[2] top.test.nvmestorage0.reg_control[1] top.test.nvmestorage0.reg_control[0]
-@420
-top.test.nvmestorage0.state
-[pattern_trace] 1
-[pattern_trace] 0
diff --git a/source/DuneNvmeTest/sim/testbench/test003-regs.vhd b/source/DuneNvmeTest/sim/testbench/test003-regs.vhd
deleted file mode 100644 (file)
index bba8998..0000000
+++ /dev/null
@@ -1,162 +0,0 @@
---------------------------------------------------------------------------------
---     Test003-regs.vhd        Simple AXI lite interface tests
---     T.Barnaby,      Beam Ltd.       2020-02-18
---------------------------------------------------------------------------------
---
-library ieee ;
-use ieee.std_logic_1164.all;
-use ieee.numeric_std.all;
---use ieee.std_logic_unsigned.all;
---use ieee.std_logic_arith.all;
---use ieee.std_logic_misc.all;
---use ieee.std_logic_textio.all;
---use std.textio.all; 
-
-library work;
-use work.Axi.all;
-
-entity Test is
-end;
-
-architecture sim of Test is
-
-component NvmeStorage is
-generic(
-       Simulate        : boolean       := True
-);
-port (
-       clk             : in std_logic;
-       reset           : in std_logic;
-
-       -- Control and status interface
-       axilIn          : in AxilToSlave;
-       axilOut         : out AxilToMaster;
-
-       -- AXIS Interface to PCIE
-       hostReq         : inout AxisStream      := AxisInput;
-       hostReply       : inout AxisStream      := AxisOutput;                        
-       
-       -- From Nvme reqeuest and reply stream
-       nvmeReq         : inout AxisStream      := AxisOutput;
-       nvmeReply       : inout AxisStream      := AxisInput;                        
-       
-       -- AXIS data stream input
-       --dataRx        : inout AxisStream      := AxisInput;
-       
-       -- NVMe interface
-       nvme_clk_p      : in std_logic;
-       nvme_clk_n      : in std_logic;
-       nvme0_exp_txp   : out std_logic_vector(0 downto 0);
-       nvme0_exp_txn   : out std_logic_vector(0 downto 0);
-       nvme0_exp_rxp   : in std_logic_vector(0 downto 0);
-       nvme0_exp_rxn   : in std_logic_vector(0 downto 0);
-
-       -- Debug
-       leds            : out std_logic_vector(3 downto 0)
-);
-end component;
-
-constant TCQ           : time := 1 ns;
-
-signal clk             : std_logic := '0';
-signal reset           : std_logic := '0';
-
-signal axil            : AxilBus;
-signal hostReply               : AxisStream;
-signal hostReq         : AxisStream;
-signal leds            : std_logic_vector(3 downto 0);
-
-procedure busWrite(signal toSlave: out AxilToSlave; signal toMaster: in AxilToMaster; address: in integer; data: in integer) is
-begin
-       -- Write address
-       wait until rising_edge(clk);
-       toSlave.awaddr <= toAxilAddress(address) after TCQ;
-       toSlave.awvalid <= '1' after TCQ;
-
-       wait until rising_edge(clk) and (axil.toMaster.awready = '1');
-       toSlave.awvalid <= '0' after TCQ;
-
-       -- Write data
-       toSlave.wvalid <= '1' after TCQ;
-       toSlave.wdata <= toAxilData(data) after TCQ;
-
-       wait until rising_edge(clk) and (axil.toMaster.wready = '1');
-       toSlave.wvalid <= '0' after TCQ;
-end procedure;
-
-procedure busRead(signal toSlave: out AxilToSlave; signal toMaster: in AxilToMaster; address: in integer) is
-begin
-       -- Read address
-       wait until rising_edge(clk);
-       toSlave.araddr <= toAxilAddress(address) after TCQ;
-       toSlave.arvalid <= '1' after TCQ;
-
-       wait until rising_edge(clk) and (axil.toMaster.arready = '1');
-       toSlave.arvalid <= '0' after TCQ;
-
-       -- Read data
-       wait until rising_edge(clk) and (axil.toMaster.rvalid = '1');
-       toSlave.rready <= '1' after TCQ;
-
-       wait until rising_edge(clk) and (axil.toMaster.rvalid = '1');
-       toSlave.rready <= '0' after TCQ;
-end procedure;
-
-       
-begin
-       nvmeStorage0 : NvmeStorage
-       port map (
-               clk             => clk,
-               reset           => reset,
-
-               axilIn          => axil.toSlave,
-               axilOut         => axil.toMaster,
-
-               hostReply               => hostReply,
-               hostReq => hostReq,
-
-               -- NVMe interface
-               nvme_clk_p      => '0',
-               nvme_clk_n      => '0',
-               --nvme0_exp_txp : out std_logic_vector(0 downto 0);
-               --nvme0_exp_txn : out std_logic_vector(0 downto 0);
-               nvme0_exp_rxp   => "0",
-               nvme0_exp_rxn   => "0",
-
-               leds            => leds
-       );
-
-       clock : process
-       begin
-               wait for 5 ns; clk  <= not clk;
-       end process clock;
-
-       init : process
-       begin
-               reset   <= '1';
-               wait for 20 ns;
-               reset   <= '0';
-               wait;
-       end process;
-       
-       run : process
-       begin
-
-               axil.toSlave.awvalid <= '0';
-               axil.toSlave.wvalid <= '0';
-               axil.toSlave.arvalid <= '0';
-               axil.toSlave.rready <= '0';
-               
-               wait until reset = '0';
-               busWrite(axil.toSlave, axil.toMaster, 4, 2);
-               busRead(axil.toSlave, axil.toMaster, 0);
-               busRead(axil.toSlave, axil.toMaster, 4);
-               wait;
-       end process;
-
-       stop : process
-       begin
-               wait for 500 ns;
-               assert false report "simulation ended ok" severity failure;
-       end process;
-end;
diff --git a/source/DuneNvmeTest/sim/testbench/test004-nvme.sav b/source/DuneNvmeTest/sim/testbench/test004-nvme.sav
deleted file mode 100644 (file)
index e8c6fa9..0000000
+++ /dev/null
@@ -1,49 +0,0 @@
-[*]
-[*] GTKWave Analyzer v3.3.104 (w)1999-2020 BSI
-[*] Sun Mar 15 08:00:57 2020
-[*]
-[dumpfile] "/src/dune/FpgaPlay/hack/test005-nvme-queues/sim/simu/test.ghw"
-[dumpfile_mtime] "Sun Mar 15 07:50:34 2020"
-[dumpfile_size] 6179
-[savefile] "/src/dune/FpgaPlay/hack/test005-nvme-queues/sim/testbench/test004-nvme.sav"
-[timestart] 0
-[size] 1795 882
-[pos] -1 -1
-*-26.000000 31800000 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1
-[treeopen] top.
-[treeopen] top.test.
-[treeopen] top.test.nvmesim0.
-[treeopen] top.test.nvmesim0.hostreq.
-[treeopen] top.test.nvmesim0.packethead.
-[sst_width] 230
-[signals_width] 534
-[sst_expanded] 1
-[sst_vpaned_height] 242
-@28
-top.test.clk
-top.test.reset
-@420
-top.test.nvmesim0.state
-@28
-top.test.nvmesim0.hostreq.ready
-top.test.nvmesim0.hostreq.valid
-top.test.nvmesim0.hostreq.last
-@22
-#{top.test.nvmesim0.hostreq.data[127:0]} top.test.nvmesim0.hostreq.data[127] top.test.nvmesim0.hostreq.data[126] top.test.nvmesim0.hostreq.data[125] top.test.nvmesim0.hostreq.data[124] top.test.nvmesim0.hostreq.data[123] top.test.nvmesim0.hostreq.data[122] top.test.nvmesim0.hostreq.data[121] top.test.nvmesim0.hostreq.data[120] top.test.nvmesim0.hostreq.data[119] top.test.nvmesim0.hostreq.data[118] top.test.nvmesim0.hostreq.data[117] top.test.nvmesim0.hostreq.data[116] top.test.nvmesim0.hostreq.data[115] top.test.nvmesim0.hostreq.data[114] top.test.nvmesim0.hostreq.data[113] top.test.nvmesim0.hostreq.data[112] top.test.nvmesim0.hostreq.data[111] top.test.nvmesim0.hostreq.data[110] top.test.nvmesim0.hostreq.data[109] top.test.nvmesim0.hostreq.data[108] top.test.nvmesim0.hostreq.data[107] top.test.nvmesim0.hostreq.data[106] top.test.nvmesim0.hostreq.data[105] top.test.nvmesim0.hostreq.data[104] top.test.nvmesim0.hostreq.data[103] top.test.nvmesim0.hostreq.data[102] top.test.nvmesim0.hostreq.data[101] top.test.nvmesim0.hostreq.data[100] top.test.nvmesim0.hostreq.data[99] top.test.nvmesim0.hostreq.data[98] top.test.nvmesim0.hostreq.data[97] top.test.nvmesim0.hostreq.data[96] top.test.nvmesim0.hostreq.data[95] top.test.nvmesim0.hostreq.data[94] top.test.nvmesim0.hostreq.data[93] top.test.nvmesim0.hostreq.data[92] top.test.nvmesim0.hostreq.data[91] top.test.nvmesim0.hostreq.data[90] top.test.nvmesim0.hostreq.data[89] top.test.nvmesim0.hostreq.data[88] top.test.nvmesim0.hostreq.data[87] top.test.nvmesim0.hostreq.data[86] top.test.nvmesim0.hostreq.data[85] top.test.nvmesim0.hostreq.data[84] top.test.nvmesim0.hostreq.data[83] top.test.nvmesim0.hostreq.data[82] top.test.nvmesim0.hostreq.data[81] top.test.nvmesim0.hostreq.data[80] top.test.nvmesim0.hostreq.data[79] top.test.nvmesim0.hostreq.data[78] top.test.nvmesim0.hostreq.data[77] top.test.nvmesim0.hostreq.data[76] top.test.nvmesim0.hostreq.data[75] top.test.nvmesim0.hostreq.data[74] top.test.nvmesim0.hostreq.data[73] top.test.nvmesim0.hostreq.data[72] top.test.nvmesim0.hostreq.data[71] top.test.nvmesim0.hostreq.data[70] top.test.nvmesim0.hostreq.data[69] top.test.nvmesim0.hostreq.data[68] top.test.nvmesim0.hostreq.data[67] top.test.nvmesim0.hostreq.data[66] top.test.nvmesim0.hostreq.data[65] top.test.nvmesim0.hostreq.data[64] top.test.nvmesim0.hostreq.data[63] top.test.nvmesim0.hostreq.data[62] top.test.nvmesim0.hostreq.data[61] top.test.nvmesim0.hostreq.data[60] top.test.nvmesim0.hostreq.data[59] top.test.nvmesim0.hostreq.data[58] top.test.nvmesim0.hostreq.data[57] top.test.nvmesim0.hostreq.data[56] top.test.nvmesim0.hostreq.data[55] top.test.nvmesim0.hostreq.data[54] top.test.nvmesim0.hostreq.data[53] top.test.nvmesim0.hostreq.data[52] top.test.nvmesim0.hostreq.data[51] top.test.nvmesim0.hostreq.data[50] top.test.nvmesim0.hostreq.data[49] top.test.nvmesim0.hostreq.data[48] top.test.nvmesim0.hostreq.data[47] top.test.nvmesim0.hostreq.data[46] top.test.nvmesim0.hostreq.data[45] top.test.nvmesim0.hostreq.data[44] top.test.nvmesim0.hostreq.data[43] top.test.nvmesim0.hostreq.data[42] top.test.nvmesim0.hostreq.data[41] top.test.nvmesim0.hostreq.data[40] top.test.nvmesim0.hostreq.data[39] top.test.nvmesim0.hostreq.data[38] top.test.nvmesim0.hostreq.data[37] top.test.nvmesim0.hostreq.data[36] top.test.nvmesim0.hostreq.data[35] top.test.nvmesim0.hostreq.data[34] top.test.nvmesim0.hostreq.data[33] top.test.nvmesim0.hostreq.data[32] top.test.nvmesim0.hostreq.data[31] top.test.nvmesim0.hostreq.data[30] top.test.nvmesim0.hostreq.data[29] top.test.nvmesim0.hostreq.data[28] top.test.nvmesim0.hostreq.data[27] top.test.nvmesim0.hostreq.data[26] top.test.nvmesim0.hostreq.data[25] top.test.nvmesim0.hostreq.data[24] top.test.nvmesim0.hostreq.data[23] top.test.nvmesim0.hostreq.data[22] top.test.nvmesim0.hostreq.data[21] top.test.nvmesim0.hostreq.data[20] top.test.nvmesim0.hostreq.data[19] top.test.nvmesim0.hostreq.data[18] top.test.nvmesim0.hostreq.data[17] top.test.nvmesim0.hostreq.data[16] top.test.nvmesim0.hostreq.data[15] top.test.nvmesim0.hostreq.data[14] top.test.nvmesim0.hostreq.data[13] top.test.nvmesim0.hostreq.data[12] top.test.nvmesim0.hostreq.data[11] top.test.nvmesim0.hostreq.data[10] top.test.nvmesim0.hostreq.data[9] top.test.nvmesim0.hostreq.data[8] top.test.nvmesim0.hostreq.data[7] top.test.nvmesim0.hostreq.data[6] top.test.nvmesim0.hostreq.data[5] top.test.nvmesim0.hostreq.data[4] top.test.nvmesim0.hostreq.data[3] top.test.nvmesim0.hostreq.data[2] top.test.nvmesim0.hostreq.data[1] top.test.nvmesim0.hostreq.data[0]
-@23
-#{top.test.nvmesim0.reg_pci_command[31:0]} top.test.nvmesim0.reg_pci_command[31] top.test.nvmesim0.reg_pci_command[30] top.test.nvmesim0.reg_pci_command[29] top.test.nvmesim0.reg_pci_command[28] top.test.nvmesim0.reg_pci_command[27] top.test.nvmesim0.reg_pci_command[26] top.test.nvmesim0.reg_pci_command[25] top.test.nvmesim0.reg_pci_command[24] top.test.nvmesim0.reg_pci_command[23] top.test.nvmesim0.reg_pci_command[22] top.test.nvmesim0.reg_pci_command[21] top.test.nvmesim0.reg_pci_command[20] top.test.nvmesim0.reg_pci_command[19] top.test.nvmesim0.reg_pci_command[18] top.test.nvmesim0.reg_pci_command[17] top.test.nvmesim0.reg_pci_command[16] top.test.nvmesim0.reg_pci_command[15] top.test.nvmesim0.reg_pci_command[14] top.test.nvmesim0.reg_pci_command[13] top.test.nvmesim0.reg_pci_command[12] top.test.nvmesim0.reg_pci_command[11] top.test.nvmesim0.reg_pci_command[10] top.test.nvmesim0.reg_pci_command[9] top.test.nvmesim0.reg_pci_command[8] top.test.nvmesim0.reg_pci_command[7] top.test.nvmesim0.reg_pci_command[6] top.test.nvmesim0.reg_pci_command[5] top.test.nvmesim0.reg_pci_command[4] top.test.nvmesim0.reg_pci_command[3] top.test.nvmesim0.reg_pci_command[2] top.test.nvmesim0.reg_pci_command[1] top.test.nvmesim0.reg_pci_command[0]
-@22
-#{top.test.nvmesim0.packethead.address[23:0]} top.test.nvmesim0.packethead.address[23] top.test.nvmesim0.packethead.address[22] top.test.nvmesim0.packethead.address[21] top.test.nvmesim0.packethead.address[20] top.test.nvmesim0.packethead.address[19] top.test.nvmesim0.packethead.address[18] top.test.nvmesim0.packethead.address[17] top.test.nvmesim0.packethead.address[16] top.test.nvmesim0.packethead.address[15] top.test.nvmesim0.packethead.address[14] top.test.nvmesim0.packethead.address[13] top.test.nvmesim0.packethead.address[12] top.test.nvmesim0.packethead.address[11] top.test.nvmesim0.packethead.address[10] top.test.nvmesim0.packethead.address[9] top.test.nvmesim0.packethead.address[8] top.test.nvmesim0.packethead.address[7] top.test.nvmesim0.packethead.address[6] top.test.nvmesim0.packethead.address[5] top.test.nvmesim0.packethead.address[4] top.test.nvmesim0.packethead.address[3] top.test.nvmesim0.packethead.address[2] top.test.nvmesim0.packethead.address[1] top.test.nvmesim0.packethead.address[0]
-#{top.test.nvmesim0.packethead.count[7:0]} top.test.nvmesim0.packethead.count[7] top.test.nvmesim0.packethead.count[6] top.test.nvmesim0.packethead.count[5] top.test.nvmesim0.packethead.count[4] top.test.nvmesim0.packethead.count[3] top.test.nvmesim0.packethead.count[2] top.test.nvmesim0.packethead.count[1] top.test.nvmesim0.packethead.count[0]
-#{top.test.nvmesim0.packethead.data0[31:0]} top.test.nvmesim0.packethead.data0[31] top.test.nvmesim0.packethead.data0[30] top.test.nvmesim0.packethead.data0[29] top.test.nvmesim0.packethead.data0[28] top.test.nvmesim0.packethead.data0[27] top.test.nvmesim0.packethead.data0[26] top.test.nvmesim0.packethead.data0[25] top.test.nvmesim0.packethead.data0[24] top.test.nvmesim0.packethead.data0[23] top.test.nvmesim0.packethead.data0[22] top.test.nvmesim0.packethead.data0[21] top.test.nvmesim0.packethead.data0[20] top.test.nvmesim0.packethead.data0[19] top.test.nvmesim0.packethead.data0[18] top.test.nvmesim0.packethead.data0[17] top.test.nvmesim0.packethead.data0[16] top.test.nvmesim0.packethead.data0[15] top.test.nvmesim0.packethead.data0[14] top.test.nvmesim0.packethead.data0[13] top.test.nvmesim0.packethead.data0[12] top.test.nvmesim0.packethead.data0[11] top.test.nvmesim0.packethead.data0[10] top.test.nvmesim0.packethead.data0[9] top.test.nvmesim0.packethead.data0[8] top.test.nvmesim0.packethead.data0[7] top.test.nvmesim0.packethead.data0[6] top.test.nvmesim0.packethead.data0[5] top.test.nvmesim0.packethead.data0[4] top.test.nvmesim0.packethead.data0[3] top.test.nvmesim0.packethead.data0[2] top.test.nvmesim0.packethead.data0[1] top.test.nvmesim0.packethead.data0[0]
-#{top.test.nvmesim0.packethead.data1[31:0]} top.test.nvmesim0.packethead.data1[31] top.test.nvmesim0.packethead.data1[30] top.test.nvmesim0.packethead.data1[29] top.test.nvmesim0.packethead.data1[28] top.test.nvmesim0.packethead.data1[27] top.test.nvmesim0.packethead.data1[26] top.test.nvmesim0.packethead.data1[25] top.test.nvmesim0.packethead.data1[24] top.test.nvmesim0.packethead.data1[23] top.test.nvmesim0.packethead.data1[22] top.test.nvmesim0.packethead.data1[21] top.test.nvmesim0.packethead.data1[20] top.test.nvmesim0.packethead.data1[19] top.test.nvmesim0.packethead.data1[18] top.test.nvmesim0.packethead.data1[17] top.test.nvmesim0.packethead.data1[16] top.test.nvmesim0.packethead.data1[15] top.test.nvmesim0.packethead.data1[14] top.test.nvmesim0.packethead.data1[13] top.test.nvmesim0.packethead.data1[12] top.test.nvmesim0.packethead.data1[11] top.test.nvmesim0.packethead.data1[10] top.test.nvmesim0.packethead.data1[9] top.test.nvmesim0.packethead.data1[8] top.test.nvmesim0.packethead.data1[7] top.test.nvmesim0.packethead.data1[6] top.test.nvmesim0.packethead.data1[5] top.test.nvmesim0.packethead.data1[4] top.test.nvmesim0.packethead.data1[3] top.test.nvmesim0.packethead.data1[2] top.test.nvmesim0.packethead.data1[1] top.test.nvmesim0.packethead.data1[0]
-@28
-#{top.test.nvmesim0.packethead.nvme[2:0]} top.test.nvmesim0.packethead.nvme[2] top.test.nvmesim0.packethead.nvme[1] top.test.nvmesim0.packethead.nvme[0]
-top.test.nvmesim0.packethead.reply
-@22
-#{top.test.nvmesim0.packethead.request[3:0]} top.test.nvmesim0.packethead.request[3] top.test.nvmesim0.packethead.request[2] top.test.nvmesim0.packethead.request[1] top.test.nvmesim0.packethead.request[0]
-#{top.test.nvmesim0.packethead.spare0[11:0]} top.test.nvmesim0.packethead.spare0[11] top.test.nvmesim0.packethead.spare0[10] top.test.nvmesim0.packethead.spare0[9] top.test.nvmesim0.packethead.spare0[8] top.test.nvmesim0.packethead.spare0[7] top.test.nvmesim0.packethead.spare0[6] top.test.nvmesim0.packethead.spare0[5] top.test.nvmesim0.packethead.spare0[4] top.test.nvmesim0.packethead.spare0[3] top.test.nvmesim0.packethead.spare0[2] top.test.nvmesim0.packethead.spare0[1] top.test.nvmesim0.packethead.spare0[0]
-#{top.test.nvmesim0.packethead.stream[3:0]} top.test.nvmesim0.packethead.stream[3] top.test.nvmesim0.packethead.stream[2] top.test.nvmesim0.packethead.stream[1] top.test.nvmesim0.packethead.stream[0]
-#{top.test.nvmesim0.packethead.tag[7:0]} top.test.nvmesim0.packethead.tag[7] top.test.nvmesim0.packethead.tag[6] top.test.nvmesim0.packethead.tag[5] top.test.nvmesim0.packethead.tag[4] top.test.nvmesim0.packethead.tag[3] top.test.nvmesim0.packethead.tag[2] top.test.nvmesim0.packethead.tag[1] top.test.nvmesim0.packethead.tag[0]
-[pattern_trace] 1
-[pattern_trace] 0
diff --git a/source/DuneNvmeTest/sim/testbench/test004-nvme.vhd b/source/DuneNvmeTest/sim/testbench/test004-nvme.vhd
deleted file mode 100644 (file)
index f9a66f3..0000000
+++ /dev/null
@@ -1,122 +0,0 @@
---------------------------------------------------------------------------------
---     Test004-nvme.vhd        Simple AXI lite interface tests
---     T.Barnaby,      Beam Ltd.       2020-03-13
---------------------------------------------------------------------------------
---
-library ieee ;
-use ieee.std_logic_1164.all;
-use ieee.numeric_std.all;
---use ieee.std_logic_unsigned.all;
---use ieee.std_logic_arith.all;
---use ieee.std_logic_misc.all;
---use ieee.std_logic_textio.all;
---use std.textio.all; 
-
-library work;
-use work.Axi.all;
-
-entity Test is
-end;
-
-architecture sim of Test is
-
-component NvmeSim is
-generic(
-       Simulate        : boolean       := True
-);
-port (
-       clk             : in std_logic;
-       reset           : in std_logic;
-
-       -- AXIS Interface to PCIE
-       hostReq         : inout AxisStream      := AxisInput;
-       hostReply       : inout AxisStream      := AxisOutput;                        
-       
-       -- From Nvme reqeuest and reply stream
-       nvmeReq         : inout AxisStream      := AxisOutput;
-       nvmeReply       : inout AxisStream      := AxisInput
-);
-end component;
-
-constant TCQ           : time := 1 ns;
-
-signal clk             : std_logic := '0';
-signal reset           : std_logic := '0';
-
-signal hostReply       : AxisStream    := AxisInput;
-signal hostReq         : AxisStream    := AxisOutput;
-signal nvmeReq         : AxisStream    := AxisOutput;
-signal nvmeReply       : AxisStream    := AxisInput;
-
-function toStdLogicVector(v: integer; b: integer) return std_logic_vector is
-begin
-       return std_logic_vector(to_unsigned(v, b));
-end function;
-
-procedure streamWrite(signal toSlave: inout AxisStream; address: in integer; tag: in integer; data: in integer) is
-variable packet        : NvmePacket;
-begin
-       packet.reply := '0';
-       packet.nvme := toStdLogicVector(0, packet.nvme'length);
-       packet.stream := toStdLogicVector(0, packet.stream'length);
-       packet.address := toStdLogicVector(address, packet.address'length);
-       packet.tag := toStdLogicVector(tag, packet.tag'length);
-       packet.request := toStdLogicVector(1, packet.request'length);
-       packet.spare0 := toStdLogicVector(0, packet.spare0'length);
-       packet.count := toStdLogicVector(1, packet.count'length);
-       packet.data0 := toStdLogicVector(data, packet.data0'length);
-       packet.data1 := toStdLogicVector(0, packet.data1'length);
-       
-       -- Write address
-       wait until rising_edge(clk);
-       toSlave.data <= toStdLogicVector(packet);
-       --toSlave.data <= x"000000" & toStdLogicVector(tag, 8) & x"00000000" & toStdLogicVector(address, 64) after TCQ;
-       toSlave.valid <= '1' after TCQ;
-
-       wait until rising_edge(clk) and (toSlave.ready = '1');
-       toSlave.data <= x"00000000" & x"00000000" & x"00000000" & toStdLogicVector(data, 32) after TCQ;
-       
-       wait until rising_edge(clk) and (toSlave.ready = '1');
-       toSlave.valid <= '0' after TCQ;
-end procedure;
-
-begin
-       nvmeSim0 : NvmeSim
-       port map (
-               clk             => clk,
-               reset           => reset,
-
-               hostReply       => hostReply,
-               hostReq         => hostReq,
-
-               nvmeReq         => nvmeReq,
-               nvmeReply       =>nvmeReply
-       );
-
-       clock : process
-       begin
-               wait for 5 ns; clk  <= not clk;
-       end process clock;
-
-       init : process
-       begin
-               reset   <= '1';
-               wait for 20 ns;
-               reset   <= '0';
-               wait;
-       end process;
-       
-       run : process
-       begin
-               wait until reset = '0';
-               streamWrite(hostReq, 4, 1, 6);
-               streamWrite(hostReq, 4, 2, 6);
-               wait;
-       end process;
-
-       stop : process
-       begin
-               wait for 500 ns;
-               assert false report "simulation ended ok" severity failure;
-       end process;
-end;
diff --git a/source/DuneNvmeTest/sim/testbench/test005-nvme.sav b/source/DuneNvmeTest/sim/testbench/test005-nvme.sav
deleted file mode 100644 (file)
index 28b309f..0000000
+++ /dev/null
@@ -1,72 +0,0 @@
-[*]
-[*] GTKWave Analyzer v3.3.104 (w)1999-2020 BSI
-[*] Mon Mar 30 17:14:52 2020
-[*]
-[dumpfile] "/src/dune/FpgaPlay/hack/test007-nvme-queues/sim/simu/test.ghw"
-[dumpfile_mtime] "Mon Mar 30 14:27:21 2020"
-[dumpfile_size] 9992
-[savefile] "/src/dune/FpgaPlay/hack/test007-nvme-queues/sim/testbench/test005-nvme.sav"
-[timestart] 46000000
-[size] 1920 1051
-[pos] -1 -1
-*-25.925068 330000000 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1
-[treeopen] top.
-[treeopen] top.test.
-[treeopen] top.test.nvmesim0.
-[treeopen] top.test.nvmesim0.nvmereply.
-[treeopen] top.test.nvmesim0.nvmereplyhead.
-[sst_width] 295
-[signals_width] 586
-[sst_expanded] 1
-[sst_vpaned_height] 614
-@29
-top.test.clk
-@28
-top.test.reset
-top.test.nvmesim0.hostreq.ready
-top.test.nvmesim0.hostreq.valid
-@420
-top.test.nvmesim0.state
-@22
-#{top.test.nvmesim0.reg_pci_command[31:0]} top.test.nvmesim0.reg_pci_command[31] top.test.nvmesim0.reg_pci_command[30] top.test.nvmesim0.reg_pci_command[29] top.test.nvmesim0.reg_pci_command[28] top.test.nvmesim0.reg_pci_command[27] top.test.nvmesim0.reg_pci_command[26] top.test.nvmesim0.reg_pci_command[25] top.test.nvmesim0.reg_pci_command[24] top.test.nvmesim0.reg_pci_command[23] top.test.nvmesim0.reg_pci_command[22] top.test.nvmesim0.reg_pci_command[21] top.test.nvmesim0.reg_pci_command[20] top.test.nvmesim0.reg_pci_command[19] top.test.nvmesim0.reg_pci_command[18] top.test.nvmesim0.reg_pci_command[17] top.test.nvmesim0.reg_pci_command[16] top.test.nvmesim0.reg_pci_command[15] top.test.nvmesim0.reg_pci_command[14] top.test.nvmesim0.reg_pci_command[13] top.test.nvmesim0.reg_pci_command[12] top.test.nvmesim0.reg_pci_command[11] top.test.nvmesim0.reg_pci_command[10] top.test.nvmesim0.reg_pci_command[9] top.test.nvmesim0.reg_pci_command[8] top.test.nvmesim0.reg_pci_command[7] top.test.nvmesim0.reg_pci_command[6] top.test.nvmesim0.reg_pci_command[5] top.test.nvmesim0.reg_pci_command[4] top.test.nvmesim0.reg_pci_command[3] top.test.nvmesim0.reg_pci_command[2] top.test.nvmesim0.reg_pci_command[1] top.test.nvmesim0.reg_pci_command[0]
-#{top.test.nvmesim0.reg_admin_queue[31:0]} top.test.nvmesim0.reg_admin_queue[31] top.test.nvmesim0.reg_admin_queue[30] top.test.nvmesim0.reg_admin_queue[29] top.test.nvmesim0.reg_admin_queue[28] top.test.nvmesim0.reg_admin_queue[27] top.test.nvmesim0.reg_admin_queue[26] top.test.nvmesim0.reg_admin_queue[25] top.test.nvmesim0.reg_admin_queue[24] top.test.nvmesim0.reg_admin_queue[23] top.test.nvmesim0.reg_admin_queue[22] top.test.nvmesim0.reg_admin_queue[21] top.test.nvmesim0.reg_admin_queue[20] top.test.nvmesim0.reg_admin_queue[19] top.test.nvmesim0.reg_admin_queue[18] top.test.nvmesim0.reg_admin_queue[17] top.test.nvmesim0.reg_admin_queue[16] top.test.nvmesim0.reg_admin_queue[15] top.test.nvmesim0.reg_admin_queue[14] top.test.nvmesim0.reg_admin_queue[13] top.test.nvmesim0.reg_admin_queue[12] top.test.nvmesim0.reg_admin_queue[11] top.test.nvmesim0.reg_admin_queue[10] top.test.nvmesim0.reg_admin_queue[9] top.test.nvmesim0.reg_admin_queue[8] top.test.nvmesim0.reg_admin_queue[7] top.test.nvmesim0.reg_admin_queue[6] top.test.nvmesim0.reg_admin_queue[5] top.test.nvmesim0.reg_admin_queue[4] top.test.nvmesim0.reg_admin_queue[3] top.test.nvmesim0.reg_admin_queue[2] top.test.nvmesim0.reg_admin_queue[1] top.test.nvmesim0.reg_admin_queue[0]
-#{top.test.nvmesim0.reg_io1_queue[31:0]} top.test.nvmesim0.reg_io1_queue[31] top.test.nvmesim0.reg_io1_queue[30] top.test.nvmesim0.reg_io1_queue[29] top.test.nvmesim0.reg_io1_queue[28] top.test.nvmesim0.reg_io1_queue[27] top.test.nvmesim0.reg_io1_queue[26] top.test.nvmesim0.reg_io1_queue[25] top.test.nvmesim0.reg_io1_queue[24] top.test.nvmesim0.reg_io1_queue[23] top.test.nvmesim0.reg_io1_queue[22] top.test.nvmesim0.reg_io1_queue[21] top.test.nvmesim0.reg_io1_queue[20] top.test.nvmesim0.reg_io1_queue[19] top.test.nvmesim0.reg_io1_queue[18] top.test.nvmesim0.reg_io1_queue[17] top.test.nvmesim0.reg_io1_queue[16] top.test.nvmesim0.reg_io1_queue[15] top.test.nvmesim0.reg_io1_queue[14] top.test.nvmesim0.reg_io1_queue[13] top.test.nvmesim0.reg_io1_queue[12] top.test.nvmesim0.reg_io1_queue[11] top.test.nvmesim0.reg_io1_queue[10] top.test.nvmesim0.reg_io1_queue[9] top.test.nvmesim0.reg_io1_queue[8] top.test.nvmesim0.reg_io1_queue[7] top.test.nvmesim0.reg_io1_queue[6] top.test.nvmesim0.reg_io1_queue[5] top.test.nvmesim0.reg_io1_queue[4] top.test.nvmesim0.reg_io1_queue[3] top.test.nvmesim0.reg_io1_queue[2] top.test.nvmesim0.reg_io1_queue[1] top.test.nvmesim0.reg_io1_queue[0]
-#{top.test.nvmesim0.reg_io2_queue[31:0]} top.test.nvmesim0.reg_io2_queue[31] top.test.nvmesim0.reg_io2_queue[30] top.test.nvmesim0.reg_io2_queue[29] top.test.nvmesim0.reg_io2_queue[28] top.test.nvmesim0.reg_io2_queue[27] top.test.nvmesim0.reg_io2_queue[26] top.test.nvmesim0.reg_io2_queue[25] top.test.nvmesim0.reg_io2_queue[24] top.test.nvmesim0.reg_io2_queue[23] top.test.nvmesim0.reg_io2_queue[22] top.test.nvmesim0.reg_io2_queue[21] top.test.nvmesim0.reg_io2_queue[20] top.test.nvmesim0.reg_io2_queue[19] top.test.nvmesim0.reg_io2_queue[18] top.test.nvmesim0.reg_io2_queue[17] top.test.nvmesim0.reg_io2_queue[16] top.test.nvmesim0.reg_io2_queue[15] top.test.nvmesim0.reg_io2_queue[14] top.test.nvmesim0.reg_io2_queue[13] top.test.nvmesim0.reg_io2_queue[12] top.test.nvmesim0.reg_io2_queue[11] top.test.nvmesim0.reg_io2_queue[10] top.test.nvmesim0.reg_io2_queue[9] top.test.nvmesim0.reg_io2_queue[8] top.test.nvmesim0.reg_io2_queue[7] top.test.nvmesim0.reg_io2_queue[6] top.test.nvmesim0.reg_io2_queue[5] top.test.nvmesim0.reg_io2_queue[4] top.test.nvmesim0.reg_io2_queue[3] top.test.nvmesim0.reg_io2_queue[2] top.test.nvmesim0.reg_io2_queue[1] top.test.nvmesim0.reg_io2_queue[0]
-@28
-top.test.nvmesim0.nvmereq.ready
-top.test.nvmesim0.nvmereq.valid
-@22
-#{top.test.nvmesim0.nvmerequest.address[23:0]} top.test.nvmesim0.nvmerequest.address[23] top.test.nvmesim0.nvmerequest.address[22] top.test.nvmesim0.nvmerequest.address[21] top.test.nvmesim0.nvmerequest.address[20] top.test.nvmesim0.nvmerequest.address[19] top.test.nvmesim0.nvmerequest.address[18] top.test.nvmesim0.nvmerequest.address[17] top.test.nvmesim0.nvmerequest.address[16] top.test.nvmesim0.nvmerequest.address[15] top.test.nvmesim0.nvmerequest.address[14] top.test.nvmesim0.nvmerequest.address[13] top.test.nvmesim0.nvmerequest.address[12] top.test.nvmesim0.nvmerequest.address[11] top.test.nvmesim0.nvmerequest.address[10] top.test.nvmesim0.nvmerequest.address[9] top.test.nvmesim0.nvmerequest.address[8] top.test.nvmesim0.nvmerequest.address[7] top.test.nvmesim0.nvmerequest.address[6] top.test.nvmesim0.nvmerequest.address[5] top.test.nvmesim0.nvmerequest.address[4] top.test.nvmesim0.nvmerequest.address[3] top.test.nvmesim0.nvmerequest.address[2] top.test.nvmesim0.nvmerequest.address[1] top.test.nvmesim0.nvmerequest.address[0]
-#{top.test.nvmesim0.nvmerequest.count[10:0]} top.test.nvmesim0.nvmerequest.count[10] top.test.nvmesim0.nvmerequest.count[9] top.test.nvmesim0.nvmerequest.count[8] top.test.nvmesim0.nvmerequest.count[7] top.test.nvmesim0.nvmerequest.count[6] top.test.nvmesim0.nvmerequest.count[5] top.test.nvmesim0.nvmerequest.count[4] top.test.nvmesim0.nvmerequest.count[3] top.test.nvmesim0.nvmerequest.count[2] top.test.nvmesim0.nvmerequest.count[1] top.test.nvmesim0.nvmerequest.count[0]
-#{top.test.nvmesim0.nvmerequest.nvme[3:0]} top.test.nvmesim0.nvmerequest.nvme[3] top.test.nvmesim0.nvmerequest.nvme[2] top.test.nvmesim0.nvmerequest.nvme[1] top.test.nvmesim0.nvmerequest.nvme[0]
-#{top.test.nvmesim0.nvmerequest.request[3:0]} top.test.nvmesim0.nvmerequest.request[3] top.test.nvmesim0.nvmerequest.request[2] top.test.nvmesim0.nvmerequest.request[1] top.test.nvmesim0.nvmerequest.request[0]
-#{top.test.nvmesim0.nvmerequest.stream[3:0]} top.test.nvmesim0.nvmerequest.stream[3] top.test.nvmesim0.nvmerequest.stream[2] top.test.nvmesim0.nvmerequest.stream[1] top.test.nvmesim0.nvmerequest.stream[0]
-#{top.test.nvmesim0.nvmerequest.tag[7:0]} top.test.nvmesim0.nvmerequest.tag[7] top.test.nvmesim0.nvmerequest.tag[6] top.test.nvmesim0.nvmerequest.tag[5] top.test.nvmesim0.nvmerequest.tag[4] top.test.nvmesim0.nvmerequest.tag[3] top.test.nvmesim0.nvmerequest.tag[2] top.test.nvmesim0.nvmerequest.tag[1] top.test.nvmesim0.nvmerequest.tag[0]
-@28
-top.test.nvmesim0.nvmereply.ready
-top.test.nvmesim0.nvmereply.valid
-@22
-#{top.test.nvmereplyhead.address[11:0]} top.test.nvmereplyhead.address[11] top.test.nvmereplyhead.address[10] top.test.nvmereplyhead.address[9] top.test.nvmereplyhead.address[8] top.test.nvmereplyhead.address[7] top.test.nvmereplyhead.address[6] top.test.nvmereplyhead.address[5] top.test.nvmereplyhead.address[4] top.test.nvmereplyhead.address[3] top.test.nvmereplyhead.address[2] top.test.nvmereplyhead.address[1] top.test.nvmereplyhead.address[0]
-#{top.test.nvmereplyhead.bytecount[12:0]} top.test.nvmereplyhead.bytecount[12] top.test.nvmereplyhead.bytecount[11] top.test.nvmereplyhead.bytecount[10] top.test.nvmereplyhead.bytecount[9] top.test.nvmereplyhead.bytecount[8] top.test.nvmereplyhead.bytecount[7] top.test.nvmereplyhead.bytecount[6] top.test.nvmereplyhead.bytecount[5] top.test.nvmereplyhead.bytecount[4] top.test.nvmereplyhead.bytecount[3] top.test.nvmereplyhead.bytecount[2] top.test.nvmereplyhead.bytecount[1] top.test.nvmereplyhead.bytecount[0]
-#{top.test.nvmereplyhead.count[10:0]} top.test.nvmereplyhead.count[10] top.test.nvmereplyhead.count[9] top.test.nvmereplyhead.count[8] top.test.nvmereplyhead.count[7] top.test.nvmereplyhead.count[6] top.test.nvmereplyhead.count[5] top.test.nvmereplyhead.count[4] top.test.nvmereplyhead.count[3] top.test.nvmereplyhead.count[2] top.test.nvmereplyhead.count[1] top.test.nvmereplyhead.count[0]
-#{top.test.nvmereplyhead.error[3:0]} top.test.nvmereplyhead.error[3] top.test.nvmereplyhead.error[2] top.test.nvmereplyhead.error[1] top.test.nvmereplyhead.error[0]
-@28
-#{top.test.nvmereplyhead.status[2:0]} top.test.nvmereplyhead.status[2] top.test.nvmereplyhead.status[1] top.test.nvmereplyhead.status[0]
-@22
-#{top.test.nvmereplyhead.tag[7:0]} top.test.nvmereplyhead.tag[7] top.test.nvmereplyhead.tag[6] top.test.nvmereplyhead.tag[5] top.test.nvmereplyhead.tag[4] top.test.nvmereplyhead.tag[3] top.test.nvmereplyhead.tag[2] top.test.nvmereplyhead.tag[1] top.test.nvmereplyhead.tag[0]
-@420
-top.test.nvmesim0.state
-@22
-#{top.test.nvmesim0.nvmereplyhead.count[10:0]} top.test.nvmesim0.nvmereplyhead.count[10] top.test.nvmesim0.nvmereplyhead.count[9] top.test.nvmesim0.nvmereplyhead.count[8] top.test.nvmesim0.nvmereplyhead.count[7] top.test.nvmesim0.nvmereplyhead.count[6] top.test.nvmesim0.nvmereplyhead.count[5] top.test.nvmesim0.nvmereplyhead.count[4] top.test.nvmesim0.nvmereplyhead.count[3] top.test.nvmesim0.nvmereplyhead.count[2] top.test.nvmesim0.nvmereplyhead.count[1] top.test.nvmesim0.nvmereplyhead.count[0]
-#{top.test.nvmesim0.count[10:0]} top.test.nvmesim0.count[10] top.test.nvmesim0.count[9] top.test.nvmesim0.count[8] top.test.nvmesim0.count[7] top.test.nvmesim0.count[6] top.test.nvmesim0.count[5] top.test.nvmesim0.count[4] top.test.nvmesim0.count[3] top.test.nvmesim0.count[2] top.test.nvmesim0.count[1] top.test.nvmesim0.count[0]
-#{top.test.nvmecount[10:0]} top.test.nvmecount[10] top.test.nvmecount[9] top.test.nvmecount[8] top.test.nvmecount[7] top.test.nvmecount[6] top.test.nvmecount[5] top.test.nvmecount[4] top.test.nvmecount[3] top.test.nvmecount[2] top.test.nvmecount[1] top.test.nvmecount[0]
-#{top.test.nvmechunkcount[10:0]} top.test.nvmechunkcount[10] top.test.nvmechunkcount[9] top.test.nvmechunkcount[8] top.test.nvmechunkcount[7] top.test.nvmechunkcount[6] top.test.nvmechunkcount[5] top.test.nvmechunkcount[4] top.test.nvmechunkcount[3] top.test.nvmechunkcount[2] top.test.nvmechunkcount[1] top.test.nvmechunkcount[0]
-@420
-top.test.nvmestate
-@22
-#{top.test.nvmesim0.nvmereply.data[127:0]} top.test.nvmesim0.nvmereply.data[127] top.test.nvmesim0.nvmereply.data[126] top.test.nvmesim0.nvmereply.data[125] top.test.nvmesim0.nvmereply.data[124] top.test.nvmesim0.nvmereply.data[123] top.test.nvmesim0.nvmereply.data[122] top.test.nvmesim0.nvmereply.data[121] top.test.nvmesim0.nvmereply.data[120] top.test.nvmesim0.nvmereply.data[119] top.test.nvmesim0.nvmereply.data[118] top.test.nvmesim0.nvmereply.data[117] top.test.nvmesim0.nvmereply.data[116] top.test.nvmesim0.nvmereply.data[115] top.test.nvmesim0.nvmereply.data[114] top.test.nvmesim0.nvmereply.data[113] top.test.nvmesim0.nvmereply.data[112] top.test.nvmesim0.nvmereply.data[111] top.test.nvmesim0.nvmereply.data[110] top.test.nvmesim0.nvmereply.data[109] top.test.nvmesim0.nvmereply.data[108] top.test.nvmesim0.nvmereply.data[107] top.test.nvmesim0.nvmereply.data[106] top.test.nvmesim0.nvmereply.data[105] top.test.nvmesim0.nvmereply.data[104] top.test.nvmesim0.nvmereply.data[103] top.test.nvmesim0.nvmereply.data[102] top.test.nvmesim0.nvmereply.data[101] top.test.nvmesim0.nvmereply.data[100] top.test.nvmesim0.nvmereply.data[99] top.test.nvmesim0.nvmereply.data[98] top.test.nvmesim0.nvmereply.data[97] top.test.nvmesim0.nvmereply.data[96] top.test.nvmesim0.nvmereply.data[95] top.test.nvmesim0.nvmereply.data[94] top.test.nvmesim0.nvmereply.data[93] top.test.nvmesim0.nvmereply.data[92] top.test.nvmesim0.nvmereply.data[91] top.test.nvmesim0.nvmereply.data[90] top.test.nvmesim0.nvmereply.data[89] top.test.nvmesim0.nvmereply.data[88] top.test.nvmesim0.nvmereply.data[87] top.test.nvmesim0.nvmereply.data[86] top.test.nvmesim0.nvmereply.data[85] top.test.nvmesim0.nvmereply.data[84] top.test.nvmesim0.nvmereply.data[83] top.test.nvmesim0.nvmereply.data[82] top.test.nvmesim0.nvmereply.data[81] top.test.nvmesim0.nvmereply.data[80] top.test.nvmesim0.nvmereply.data[79] top.test.nvmesim0.nvmereply.data[78] top.test.nvmesim0.nvmereply.data[77] top.test.nvmesim0.nvmereply.data[76] top.test.nvmesim0.nvmereply.data[75] top.test.nvmesim0.nvmereply.data[74] top.test.nvmesim0.nvmereply.data[73] top.test.nvmesim0.nvmereply.data[72] top.test.nvmesim0.nvmereply.data[71] top.test.nvmesim0.nvmereply.data[70] top.test.nvmesim0.nvmereply.data[69] top.test.nvmesim0.nvmereply.data[68] top.test.nvmesim0.nvmereply.data[67] top.test.nvmesim0.nvmereply.data[66] top.test.nvmesim0.nvmereply.data[65] top.test.nvmesim0.nvmereply.data[64] top.test.nvmesim0.nvmereply.data[63] top.test.nvmesim0.nvmereply.data[62] top.test.nvmesim0.nvmereply.data[61] top.test.nvmesim0.nvmereply.data[60] top.test.nvmesim0.nvmereply.data[59] top.test.nvmesim0.nvmereply.data[58] top.test.nvmesim0.nvmereply.data[57] top.test.nvmesim0.nvmereply.data[56] top.test.nvmesim0.nvmereply.data[55] top.test.nvmesim0.nvmereply.data[54] top.test.nvmesim0.nvmereply.data[53] top.test.nvmesim0.nvmereply.data[52] top.test.nvmesim0.nvmereply.data[51] top.test.nvmesim0.nvmereply.data[50] top.test.nvmesim0.nvmereply.data[49] top.test.nvmesim0.nvmereply.data[48] top.test.nvmesim0.nvmereply.data[47] top.test.nvmesim0.nvmereply.data[46] top.test.nvmesim0.nvmereply.data[45] top.test.nvmesim0.nvmereply.data[44] top.test.nvmesim0.nvmereply.data[43] top.test.nvmesim0.nvmereply.data[42] top.test.nvmesim0.nvmereply.data[41] top.test.nvmesim0.nvmereply.data[40] top.test.nvmesim0.nvmereply.data[39] top.test.nvmesim0.nvmereply.data[38] top.test.nvmesim0.nvmereply.data[37] top.test.nvmesim0.nvmereply.data[36] top.test.nvmesim0.nvmereply.data[35] top.test.nvmesim0.nvmereply.data[34] top.test.nvmesim0.nvmereply.data[33] top.test.nvmesim0.nvmereply.data[32] top.test.nvmesim0.nvmereply.data[31] top.test.nvmesim0.nvmereply.data[30] top.test.nvmesim0.nvmereply.data[29] top.test.nvmesim0.nvmereply.data[28] top.test.nvmesim0.nvmereply.data[27] top.test.nvmesim0.nvmereply.data[26] top.test.nvmesim0.nvmereply.data[25] top.test.nvmesim0.nvmereply.data[24] top.test.nvmesim0.nvmereply.data[23] top.test.nvmesim0.nvmereply.data[22] top.test.nvmesim0.nvmereply.data[21] top.test.nvmesim0.nvmereply.data[20] top.test.nvmesim0.nvmereply.data[19] top.test.nvmesim0.nvmereply.data[18] top.test.nvmesim0.nvmereply.data[17] top.test.nvmesim0.nvmereply.data[16] top.test.nvmesim0.nvmereply.data[15] top.test.nvmesim0.nvmereply.data[14] top.test.nvmesim0.nvmereply.data[13] top.test.nvmesim0.nvmereply.data[12] top.test.nvmesim0.nvmereply.data[11] top.test.nvmesim0.nvmereply.data[10] top.test.nvmesim0.nvmereply.data[9] top.test.nvmesim0.nvmereply.data[8] top.test.nvmesim0.nvmereply.data[7] top.test.nvmesim0.nvmereply.data[6] top.test.nvmesim0.nvmereply.data[5] top.test.nvmesim0.nvmereply.data[4] top.test.nvmesim0.nvmereply.data[3] top.test.nvmesim0.nvmereply.data[2] top.test.nvmesim0.nvmereply.data[1] top.test.nvmesim0.nvmereply.data[0]
-#{top.test.nvmedata[127:0]} top.test.nvmedata[127] top.test.nvmedata[126] top.test.nvmedata[125] top.test.nvmedata[124] top.test.nvmedata[123] top.test.nvmedata[122] top.test.nvmedata[121] top.test.nvmedata[120] top.test.nvmedata[119] top.test.nvmedata[118] top.test.nvmedata[117] top.test.nvmedata[116] top.test.nvmedata[115] top.test.nvmedata[114] top.test.nvmedata[113] top.test.nvmedata[112] top.test.nvmedata[111] top.test.nvmedata[110] top.test.nvmedata[109] top.test.nvmedata[108] top.test.nvmedata[107] top.test.nvmedata[106] top.test.nvmedata[105] top.test.nvmedata[104] top.test.nvmedata[103] top.test.nvmedata[102] top.test.nvmedata[101] top.test.nvmedata[100] top.test.nvmedata[99] top.test.nvmedata[98] top.test.nvmedata[97] top.test.nvmedata[96] top.test.nvmedata[95] top.test.nvmedata[94] top.test.nvmedata[93] top.test.nvmedata[92] top.test.nvmedata[91] top.test.nvmedata[90] top.test.nvmedata[89] top.test.nvmedata[88] top.test.nvmedata[87] top.test.nvmedata[86] top.test.nvmedata[85] top.test.nvmedata[84] top.test.nvmedata[83] top.test.nvmedata[82] top.test.nvmedata[81] top.test.nvmedata[80] top.test.nvmedata[79] top.test.nvmedata[78] top.test.nvmedata[77] top.test.nvmedata[76] top.test.nvmedata[75] top.test.nvmedata[74] top.test.nvmedata[73] top.test.nvmedata[72] top.test.nvmedata[71] top.test.nvmedata[70] top.test.nvmedata[69] top.test.nvmedata[68] top.test.nvmedata[67] top.test.nvmedata[66] top.test.nvmedata[65] top.test.nvmedata[64] top.test.nvmedata[63] top.test.nvmedata[62] top.test.nvmedata[61] top.test.nvmedata[60] top.test.nvmedata[59] top.test.nvmedata[58] top.test.nvmedata[57] top.test.nvmedata[56] top.test.nvmedata[55] top.test.nvmedata[54] top.test.nvmedata[53] top.test.nvmedata[52] top.test.nvmedata[51] top.test.nvmedata[50] top.test.nvmedata[49] top.test.nvmedata[48] top.test.nvmedata[47] top.test.nvmedata[46] top.test.nvmedata[45] top.test.nvmedata[44] top.test.nvmedata[43] top.test.nvmedata[42] top.test.nvmedata[41] top.test.nvmedata[40] top.test.nvmedata[39] top.test.nvmedata[38] top.test.nvmedata[37] top.test.nvmedata[36] top.test.nvmedata[35] top.test.nvmedata[34] top.test.nvmedata[33] top.test.nvmedata[32] top.test.nvmedata[31] top.test.nvmedata[30] top.test.nvmedata[29] top.test.nvmedata[28] top.test.nvmedata[27] top.test.nvmedata[26] top.test.nvmedata[25] top.test.nvmedata[24] top.test.nvmedata[23] top.test.nvmedata[22] top.test.nvmedata[21] top.test.nvmedata[20] top.test.nvmedata[19] top.test.nvmedata[18] top.test.nvmedata[17] top.test.nvmedata[16] top.test.nvmedata[15] top.test.nvmedata[14] top.test.nvmedata[13] top.test.nvmedata[12] top.test.nvmedata[11] top.test.nvmedata[10] top.test.nvmedata[9] top.test.nvmedata[8] top.test.nvmedata[7] top.test.nvmedata[6] top.test.nvmedata[5] top.test.nvmedata[4] top.test.nvmedata[3] top.test.nvmedata[2] top.test.nvmedata[1] top.test.nvmedata[0]
-#{top.test.nvmesim0.count[10:0]} top.test.nvmesim0.count[10] top.test.nvmesim0.count[9] top.test.nvmesim0.count[8] top.test.nvmesim0.count[7] top.test.nvmesim0.count[6] top.test.nvmesim0.count[5] top.test.nvmesim0.count[4] top.test.nvmesim0.count[3] top.test.nvmesim0.count[2] top.test.nvmesim0.count[1] top.test.nvmesim0.count[0]
-#{top.test.nvmesim0.chunkcount[10:0]} top.test.nvmesim0.chunkcount[10] top.test.nvmesim0.chunkcount[9] top.test.nvmesim0.chunkcount[8] top.test.nvmesim0.chunkcount[7] top.test.nvmesim0.chunkcount[6] top.test.nvmesim0.chunkcount[5] top.test.nvmesim0.chunkcount[4] top.test.nvmesim0.chunkcount[3] top.test.nvmesim0.chunkcount[2] top.test.nvmesim0.chunkcount[1] top.test.nvmesim0.chunkcount[0]
-[pattern_trace] 1
-[pattern_trace] 0
diff --git a/source/DuneNvmeTest/sim/testbench/test005-nvme.vhd b/source/DuneNvmeTest/sim/testbench/test005-nvme.vhd
deleted file mode 100644 (file)
index 48c1d78..0000000
+++ /dev/null
@@ -1,204 +0,0 @@
---------------------------------------------------------------------------------
---     Test005-nvme.vhd        Simple AXI lite interface tests
---     T.Barnaby,      Beam Ltd.       2020-03-13
---------------------------------------------------------------------------------
---
-library ieee ;
-use ieee.std_logic_1164.all;
-use ieee.numeric_std.all;
---use ieee.std_logic_unsigned.all;
---use ieee.std_logic_arith.all;
---use ieee.std_logic_misc.all;
---use ieee.std_logic_textio.all;
---use std.textio.all; 
-
-library work;
-use work.AxiPkg.all;
-use work.NvmeStoragePkg.all;
-
-entity Test is
-end;
-
-architecture sim of Test is
-
-component NvmeSim is
-generic(
-       Simulate        : boolean       := True
-);
-port (
-       clk             : in std_logic;
-       reset           : in std_logic;
-
-       -- AXIS Interface to PCIE
-       hostReq         : inout AxisStream      := AxisInput;
-       hostReply       : inout AxisStream      := AxisOutput;                        
-       
-       -- From Nvme reqeuest and reply stream
-       nvmeReq         : inout AxisStream      := AxisOutput;
-       nvmeReply       : inout AxisStream      := AxisInput
-);
-end component;
-
-constant TCQ           : time := 1 ns;
-constant CHUNK_SIZE    : integer := 32;                        -- The data write chunk size in DWords due to PCIe packet size limitations
-
-signal clk             : std_logic := '0';
-signal reset           : std_logic := '0';
-
-signal hostReply       : AxisStream    := AxisInput;
-signal hostReq         : AxisStream    := AxisOutput;
-signal nvmeReq         : AxisStream    := AxisOutput;
-signal nvmeReply       : AxisStream    := AxisInput;
-
-type NvmeStateType is (NVME_STATE_IDLE, NVME_STATE_WRITEDATA_START, NVME_STATE_WRITEDATA);
-signal nvmeState       : NvmeStateType := NVME_STATE_IDLE;
-signal nvmeRequestHead : PcieRequestHead;
-signal nvmeRequestHead1        : PcieRequestHead;
-signal nvmeReplyHead   : PcieReplyHead;
-signal nvmeCount       : unsigned(10 downto 0);                        -- DWord data send count
-signal nvmeChunkCount  : unsigned(10 downto 0);                        -- DWord data send within a chunk count
-signal nvmeByteCount   : integer;
-signal nvmeData                : std_logic_vector(127 downto 0);
-
-signal sendData                : std_logic := '0';
-
-procedure pcieWrite(signal toSlave: inout AxisStream; config: in integer; address: in integer; tag: in integer; data: in integer) is
-variable packetHead    : PcieRequestHead;
-begin
-       packetHead.nvme := to_unsigned(0, packetHead.nvme'length);
-       packetHead.stream := to_unsigned(0, packetHead.stream'length);
-       packetHead.address := to_stl(address, packetHead.address'length);
-       packetHead.tag := to_stl(tag, packetHead.tag'length);
-       packetHead.count := to_unsigned(0, packetHead.count'length);
-       
-       if(config = 1) then
-               packetHead.request := to_unsigned(10, packetHead.request'length);
-       else
-               packetHead.request := to_unsigned(1, packetHead.request'length);
-       end if;
-
-       -- Write address
-       wait until rising_edge(clk);
-       toSlave.data <= to_stl(packetHead);
-       toSlave.valid <= '1';
-
-       wait until rising_edge(clk) and (toSlave.ready = '1');
-       toSlave.data <= to_stl(0, 96) & to_stl(data, 32);
-       
-       wait until rising_edge(clk) and (toSlave.ready = '1');
-       toSlave.valid <= '0';
-end procedure;
-
-begin
-       nvmeSim0 : NvmeSim
-       port map (
-               clk             => clk,
-               reset           => reset,
-
-               hostReply       => hostReply,
-               hostReq         => hostReq,
-
-               nvmeReq         => nvmeReq,
-               nvmeReply       => nvmeReply
-       );
-
-       clock : process
-       begin
-               wait for 5 ns; clk  <= not clk;
-       end process clock;
-
-       init : process
-       begin
-               reset   <= '1';
-               wait for 20 ns;
-               reset   <= '0';
-               wait;
-       end process;
-       
-       run : process
-       begin
-               wait until reset = '0';
-               
-               -- Set PCIe configuration command register to 0x06
-               --pcieWrite(hostReq, 1, 4, 1, 6);
-               
-               -- Write to AdminQueue doorbell register
-               --pcieWrite(hostReq, 0, 16#1000#, 16#22#, 16#40#);
-
-               -- Perfoem NVMe wdata write
-               -- Write to DataWriteQueue doorbell register
-               pcieWrite(hostReq, 0, 16#1008#, 16#23#, 16#40#);
-               wait;
-       end process;
-
-       nvmeRequestHead <= to_PcieRequestHead(nvmeReq.data);
-       nvmeReply.data <= nvmeData when(nvmeState = NVME_STATE_WRITEDATA) else to_stl(nvmeReplyHead);
-       
-       requests : process(clk)
-       begin
-               if(rising_edge(clk)) then
-                       if(reset = '1') then
-                               nvmeReq.ready   <= '0';
-                               nvmeReply.valid <= '0';
-                               nvmeData        <= (others => '0');
-                               nvmeState       <= NVME_STATE_IDLE;
-                       else
-                               case (nvmeState) is
-                               when NVME_STATE_IDLE =>
-                                       if(nvmeReq.ready = '1' and nvmeReq.valid = '1') then
-                                               nvmeRequestHead1        <= nvmeRequestHead;
-                                               nvmeCount               <= nvmeRequestHead.count + 1;
-                                               nvmeState               <= NVME_STATE_WRITEDATA_START;
-                                               nvmeReq.ready           <= '0';
-                                       else
-                                               nvmeReq.ready           <= '1';
-                                       end if;
-
-                               when NVME_STATE_WRITEDATA_START =>
-                                       nvmeReplyHead.byteCount <= (nvmeRequestHead1.count + 1) & "00";
-                                       nvmeReplyHead.address   <= nvmeRequestHead1.address(nvmeReplyHead.address'length - 1 downto 0);
-                                       nvmeReplyHead.error     <= (others => '0');
-                                       nvmeReplyHead.status    <= (others => '0');
-                                       nvmeReplyHead.tag       <= nvmeRequestHead1.tag;
-
-                                       if(nvmeCount > CHUNK_SIZE) then
-                                               nvmeReplyHead.count     <= to_unsigned(CHUNK_SIZE-1, nvmeReplyHead.count'length);
-                                               nvmeChunkCount          <= to_unsigned(CHUNK_SIZE, nvmeReplyHead.count'length);
-                                       else
-                                               nvmeReplyHead.count     <= nvmeCount - 1;
-                                               nvmeChunkCount          <= nvmeCount;
-                                       end if;
-
-                                       nvmeByteCount           <= (to_integer(nvmeRequestHead1.count) + 1) * 4;
-                                       nvmeReply.valid         <= '1';
-
-                                       if(nvmeReply.ready = '1' and nvmeReply.valid = '1') then
-                                               nvmeData        <= std_logic_vector(unsigned(nvmeData) + 1);
-                                               nvmeState       <= NVME_STATE_WRITEDATA;
-                                       end if;
-
-                               when NVME_STATE_WRITEDATA =>
-                                       if(nvmeReply.ready = '1' and nvmeReply.valid = '1') then
-                                               nvmeData        <= std_logic_vector(unsigned(nvmeData) + 1);
-                                               if(nvmeChunkCount = 4) then
-                                                       if(nvmeCount = 4) then
-                                                               nvmeReply.valid <= '0';
-                                                               nvmeState       <= NVME_STATE_IDLE;
-                                                       else
-                                                               nvmeState       <= NVME_STATE_WRITEDATA_START;
-                                                       end if;
-                                               end if;
-                                               nvmeChunkCount  <= nvmeChunkCount - 4;
-                                               nvmeCount       <= nvmeCount - 4;
-                                       end if;
-                               end case;
-                       end if;
-               end if;
-       end process;
-
-       stop : process
-       begin
-               wait for 500 ns;
-               assert false report "simulation ended ok" severity failure;
-       end process;
-end;
diff --git a/source/DuneNvmeTest/sim/testbench/test006-testdata.sav b/source/DuneNvmeTest/sim/testbench/test006-testdata.sav
deleted file mode 100644 (file)
index d6a0f1a..0000000
+++ /dev/null
@@ -1,32 +0,0 @@
-[*]
-[*] GTKWave Analyzer v3.3.104 (w)1999-2020 BSI
-[*] Tue Apr  7 13:19:42 2020
-[*]
-[dumpfile] "/src/dune/FpgaPlay/test010-nvme/sim/simu/test.ghw"
-[dumpfile_mtime] "Tue Apr  7 13:15:00 2020"
-[dumpfile_size] 3024
-[savefile] "/src/dune/FpgaPlay/test010-nvme/sim/testbench/test006-testdata.sav"
-[timestart] 0
-[size] 1920 1051
-[pos] -1 -1
-*-25.922155 131300000 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1
-[treeopen] top.
-[treeopen] top.test.
-[treeopen] top.test.datastream.
-[treeopen] top.test.testdata0.
-[treeopen] top.test.testdata0.datastream.
-[sst_width] 230
-[signals_width] 391
-[sst_expanded] 1
-[sst_vpaned_height] 314
-@28
-top.test.clk
-top.test.reset
-top.test.enable
-top.test.testdata0.datastream.valid
-top.test.testdata0.datastream.last
-top.test.testdata0.datastream.ready
-@22
-#{top.test.testdata0.datastream.data[127:0]} top.test.testdata0.datastream.data[127] top.test.testdata0.datastream.data[126] top.test.testdata0.datastream.data[125] top.test.testdata0.datastream.data[124] top.test.testdata0.datastream.data[123] top.test.testdata0.datastream.data[122] top.test.testdata0.datastream.data[121] top.test.testdata0.datastream.data[120] top.test.testdata0.datastream.data[119] top.test.testdata0.datastream.data[118] top.test.testdata0.datastream.data[117] top.test.testdata0.datastream.data[116] top.test.testdata0.datastream.data[115] top.test.testdata0.datastream.data[114] top.test.testdata0.datastream.data[113] top.test.testdata0.datastream.data[112] top.test.testdata0.datastream.data[111] top.test.testdata0.datastream.data[110] top.test.testdata0.datastream.data[109] top.test.testdata0.datastream.data[108] top.test.testdata0.datastream.data[107] top.test.testdata0.datastream.data[106] top.test.testdata0.datastream.data[105] top.test.testdata0.datastream.data[104] top.test.testdata0.datastream.data[103] top.test.testdata0.datastream.data[102] top.test.testdata0.datastream.data[101] top.test.testdata0.datastream.data[100] top.test.testdata0.datastream.data[99] top.test.testdata0.datastream.data[98] top.test.testdata0.datastream.data[97] top.test.testdata0.datastream.data[96] top.test.testdata0.datastream.data[95] top.test.testdata0.datastream.data[94] top.test.testdata0.datastream.data[93] top.test.testdata0.datastream.data[92] top.test.testdata0.datastream.data[91] top.test.testdata0.datastream.data[90] top.test.testdata0.datastream.data[89] top.test.testdata0.datastream.data[88] top.test.testdata0.datastream.data[87] top.test.testdata0.datastream.data[86] top.test.testdata0.datastream.data[85] top.test.testdata0.datastream.data[84] top.test.testdata0.datastream.data[83] top.test.testdata0.datastream.data[82] top.test.testdata0.datastream.data[81] top.test.testdata0.datastream.data[80] top.test.testdata0.datastream.data[79] top.test.testdata0.datastream.data[78] top.test.testdata0.datastream.data[77] top.test.testdata0.datastream.data[76] top.test.testdata0.datastream.data[75] top.test.testdata0.datastream.data[74] top.test.testdata0.datastream.data[73] top.test.testdata0.datastream.data[72] top.test.testdata0.datastream.data[71] top.test.testdata0.datastream.data[70] top.test.testdata0.datastream.data[69] top.test.testdata0.datastream.data[68] top.test.testdata0.datastream.data[67] top.test.testdata0.datastream.data[66] top.test.testdata0.datastream.data[65] top.test.testdata0.datastream.data[64] top.test.testdata0.datastream.data[63] top.test.testdata0.datastream.data[62] top.test.testdata0.datastream.data[61] top.test.testdata0.datastream.data[60] top.test.testdata0.datastream.data[59] top.test.testdata0.datastream.data[58] top.test.testdata0.datastream.data[57] top.test.testdata0.datastream.data[56] top.test.testdata0.datastream.data[55] top.test.testdata0.datastream.data[54] top.test.testdata0.datastream.data[53] top.test.testdata0.datastream.data[52] top.test.testdata0.datastream.data[51] top.test.testdata0.datastream.data[50] top.test.testdata0.datastream.data[49] top.test.testdata0.datastream.data[48] top.test.testdata0.datastream.data[47] top.test.testdata0.datastream.data[46] top.test.testdata0.datastream.data[45] top.test.testdata0.datastream.data[44] top.test.testdata0.datastream.data[43] top.test.testdata0.datastream.data[42] top.test.testdata0.datastream.data[41] top.test.testdata0.datastream.data[40] top.test.testdata0.datastream.data[39] top.test.testdata0.datastream.data[38] top.test.testdata0.datastream.data[37] top.test.testdata0.datastream.data[36] top.test.testdata0.datastream.data[35] top.test.testdata0.datastream.data[34] top.test.testdata0.datastream.data[33] top.test.testdata0.datastream.data[32] top.test.testdata0.datastream.data[31] top.test.testdata0.datastream.data[30] top.test.testdata0.datastream.data[29] top.test.testdata0.datastream.data[28] top.test.testdata0.datastream.data[27] top.test.testdata0.datastream.data[26] top.test.testdata0.datastream.data[25] top.test.testdata0.datastream.data[24] top.test.testdata0.datastream.data[23] top.test.testdata0.datastream.data[22] top.test.testdata0.datastream.data[21] top.test.testdata0.datastream.data[20] top.test.testdata0.datastream.data[19] top.test.testdata0.datastream.data[18] top.test.testdata0.datastream.data[17] top.test.testdata0.datastream.data[16] top.test.testdata0.datastream.data[15] top.test.testdata0.datastream.data[14] top.test.testdata0.datastream.data[13] top.test.testdata0.datastream.data[12] top.test.testdata0.datastream.data[11] top.test.testdata0.datastream.data[10] top.test.testdata0.datastream.data[9] top.test.testdata0.datastream.data[8] top.test.testdata0.datastream.data[7] top.test.testdata0.datastream.data[6] top.test.testdata0.datastream.data[5] top.test.testdata0.datastream.data[4] top.test.testdata0.datastream.data[3] top.test.testdata0.datastream.data[2] top.test.testdata0.datastream.data[1] top.test.testdata0.datastream.data[0]
-[pattern_trace] 1
-[pattern_trace] 0
diff --git a/source/DuneNvmeTest/sim/testbench/test006-testdata.vhd b/source/DuneNvmeTest/sim/testbench/test006-testdata.vhd
deleted file mode 100644 (file)
index 30b67ef..0000000
+++ /dev/null
@@ -1,99 +0,0 @@
---------------------------------------------------------------------------------
---     Test006-testdata.vhd    Test of TestData module
---     T.Barnaby,      Beam Ltd.       2020-04-07
---------------------------------------------------------------------------------
---
-library ieee ;
-use ieee.std_logic_1164.all;
-use ieee.numeric_std.all;
---use ieee.std_logic_unsigned.all;
---use ieee.std_logic_arith.all;
---use ieee.std_logic_misc.all;
---use ieee.std_logic_textio.all;
---use std.textio.all; 
-
-library work;
-use work.AxiPkg.all;
-use work.NvmeStoragePkg.all;
-
-entity Test is
-end;
-
-architecture sim of Test is
-
-component TestData is
-generic(
-       BlockSize       : integer := 64                         --! The block size in Bytes.
-);
-port (
-       clk             : in std_logic;                         --! The interface clock line
-       reset           : in std_logic;                         --! The active high reset line
-
-       -- Control and status interface
-       enable          : in std_logic;                         --! Enable production of data
-
-       -- AXIS data output
-       dataStream      : inout AxisStream := AxisOutput        --! Output data stream
-);
-end component;
-
-constant TCQ           : time := 1 ns;
-
-signal clk             : std_logic := '0';
-signal reset           : std_logic := '0';
-
-signal enable          : std_logic := '0';
-signal dataStream      : AxisStream    := AxisInput;
-
-begin
-       testData0 : TestData
-       port map (
-               clk             => clk,
-               reset           => reset,
-
-               enable          => enable,
-
-               dataStream      => dataStream
-       );
-
-       clock : process
-       begin
-               wait for 5 ns; clk  <= not clk;
-       end process clock;
-
-       init : process
-       begin
-               reset   <= '1';
-               wait for 20 ns;
-               reset   <= '0';
-               wait;
-       end process;
-       
-       run : process
-       begin
-               wait until reset = '0';
-               wait until rising_edge(clk);
-               enable <= '1';
-               dataStream.ready <= '1';
-               
-               -- Watch data comming in
-               wait for 100 ns;
-               
-               -- Pause data
-               wait until rising_edge(clk);
-               dataStream.ready <= '0';
-               wait until rising_edge(clk);
-               dataStream.ready <= '1';
-
-               -- Disable
-               wait for 200 ns;
-               enable <= '0';
-               wait;
-       end process;
-
-       stop : process
-       begin
-               wait for 500 ns;
-               assert false report "simulation ended ok" severity failure;
-       end process;
-end;
diff --git a/source/DuneNvmeTest/sim/testbench/test007-hostnvme.sav b/source/DuneNvmeTest/sim/testbench/test007-hostnvme.sav
deleted file mode 100644 (file)
index ca5f114..0000000
+++ /dev/null
@@ -1,106 +0,0 @@
-[*]
-[*] GTKWave Analyzer v3.3.104 (w)1999-2020 BSI
-[*] Wed Apr  8 15:20:09 2020
-[*]
-[dumpfile] "/src/dune/FpgaPlay/test011-databuffer/sim/simu/test.ghw"
-[dumpfile_mtime] "Wed Apr  8 13:41:34 2020"
-[dumpfile_size] 26097
-[savefile] "/src/dune/FpgaPlay/test011-databuffer/sim/testbench/test007-hostnvme.sav"
-[timestart] 0
-[size] 1920 1051
-[pos] -1 -1
-*-25.922155 370100000 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1
-[treeopen] top.
-[treeopen] top.test.
-[treeopen] top.test.hostrecv.
-[treeopen] top.test.hostreq.
-[treeopen] top.test.hostsend.
-[treeopen] top.test.nvmereply.
-[treeopen] top.test.nvmereq.
-[treeopen] top.test.nvmestorage0.
-[treeopen] top.test.nvmestorage0.hostreq.
-[treeopen] top.test.nvmestorage0.hostsend1.
-[treeopen] top.test.nvmestorage0.nvmereq.
-[treeopen] top.test.nvmestorage0.sim.
-[treeopen] top.test.nvmestorage0.sim.nvmesim0.
-[treeopen] top.test.nvmestorage0.sim.nvmesim0.hostreq.
-[treeopen] top.test.nvmestorage0.sim.nvmesim0.nvmereply.
-[treeopen] top.test.nvmestorage0.sim.nvmesim0.nvmereq.
-[sst_width] 302
-[signals_width] 744
-[sst_expanded] 1
-[sst_vpaned_height] 522
-@28
-top.test.clk
-top.test.reset
-top.test.hostreq.ready
-top.test.hostreq.valid
-top.test.hostreq.last
-@22
-#{top.test.hostreq.data[127:0]} top.test.hostreq.data[127] top.test.hostreq.data[126] top.test.hostreq.data[125] top.test.hostreq.data[124] top.test.hostreq.data[123] top.test.hostreq.data[122] top.test.hostreq.data[121] top.test.hostreq.data[120] top.test.hostreq.data[119] top.test.hostreq.data[118] top.test.hostreq.data[117] top.test.hostreq.data[116] top.test.hostreq.data[115] top.test.hostreq.data[114] top.test.hostreq.data[113] top.test.hostreq.data[112] top.test.hostreq.data[111] top.test.hostreq.data[110] top.test.hostreq.data[109] top.test.hostreq.data[108] top.test.hostreq.data[107] top.test.hostreq.data[106] top.test.hostreq.data[105] top.test.hostreq.data[104] top.test.hostreq.data[103] top.test.hostreq.data[102] top.test.hostreq.data[101] top.test.hostreq.data[100] top.test.hostreq.data[99] top.test.hostreq.data[98] top.test.hostreq.data[97] top.test.hostreq.data[96] top.test.hostreq.data[95] top.test.hostreq.data[94] top.test.hostreq.data[93] top.test.hostreq.data[92] top.test.hostreq.data[91] top.test.hostreq.data[90] top.test.hostreq.data[89] top.test.hostreq.data[88] top.test.hostreq.data[87] top.test.hostreq.data[86] top.test.hostreq.data[85] top.test.hostreq.data[84] top.test.hostreq.data[83] top.test.hostreq.data[82] top.test.hostreq.data[81] top.test.hostreq.data[80] top.test.hostreq.data[79] top.test.hostreq.data[78] top.test.hostreq.data[77] top.test.hostreq.data[76] top.test.hostreq.data[75] top.test.hostreq.data[74] top.test.hostreq.data[73] top.test.hostreq.data[72] top.test.hostreq.data[71] top.test.hostreq.data[70] top.test.hostreq.data[69] top.test.hostreq.data[68] top.test.hostreq.data[67] top.test.hostreq.data[66] top.test.hostreq.data[65] top.test.hostreq.data[64] top.test.hostreq.data[63] top.test.hostreq.data[62] top.test.hostreq.data[61] top.test.hostreq.data[60] top.test.hostreq.data[59] top.test.hostreq.data[58] top.test.hostreq.data[57] top.test.hostreq.data[56] top.test.hostreq.data[55] top.test.hostreq.data[54] top.test.hostreq.data[53] top.test.hostreq.data[52] top.test.hostreq.data[51] top.test.hostreq.data[50] top.test.hostreq.data[49] top.test.hostreq.data[48] top.test.hostreq.data[47] top.test.hostreq.data[46] top.test.hostreq.data[45] top.test.hostreq.data[44] top.test.hostreq.data[43] top.test.hostreq.data[42] top.test.hostreq.data[41] top.test.hostreq.data[40] top.test.hostreq.data[39] top.test.hostreq.data[38] top.test.hostreq.data[37] top.test.hostreq.data[36] top.test.hostreq.data[35] top.test.hostreq.data[34] top.test.hostreq.data[33] top.test.hostreq.data[32] top.test.hostreq.data[31] top.test.hostreq.data[30] top.test.hostreq.data[29] top.test.hostreq.data[28] top.test.hostreq.data[27] top.test.hostreq.data[26] top.test.hostreq.data[25] top.test.hostreq.data[24] top.test.hostreq.data[23] top.test.hostreq.data[22] top.test.hostreq.data[21] top.test.hostreq.data[20] top.test.hostreq.data[19] top.test.hostreq.data[18] top.test.hostreq.data[17] top.test.hostreq.data[16] top.test.hostreq.data[15] top.test.hostreq.data[14] top.test.hostreq.data[13] top.test.hostreq.data[12] top.test.hostreq.data[11] top.test.hostreq.data[10] top.test.hostreq.data[9] top.test.hostreq.data[8] top.test.hostreq.data[7] top.test.hostreq.data[6] top.test.hostreq.data[5] top.test.hostreq.data[4] top.test.hostreq.data[3] top.test.hostreq.data[2] top.test.hostreq.data[1] top.test.hostreq.data[0]
-@28
-top.test.hostsend.ready
-top.test.hostsend.valid
-top.test.hostsend.last
-@22
-#{top.test.hostsend.data[127:0]} top.test.hostsend.data[127] top.test.hostsend.data[126] top.test.hostsend.data[125] top.test.hostsend.data[124] top.test.hostsend.data[123] top.test.hostsend.data[122] top.test.hostsend.data[121] top.test.hostsend.data[120] top.test.hostsend.data[119] top.test.hostsend.data[118] top.test.hostsend.data[117] top.test.hostsend.data[116] top.test.hostsend.data[115] top.test.hostsend.data[114] top.test.hostsend.data[113] top.test.hostsend.data[112] top.test.hostsend.data[111] top.test.hostsend.data[110] top.test.hostsend.data[109] top.test.hostsend.data[108] top.test.hostsend.data[107] top.test.hostsend.data[106] top.test.hostsend.data[105] top.test.hostsend.data[104] top.test.hostsend.data[103] top.test.hostsend.data[102] top.test.hostsend.data[101] top.test.hostsend.data[100] top.test.hostsend.data[99] top.test.hostsend.data[98] top.test.hostsend.data[97] top.test.hostsend.data[96] top.test.hostsend.data[95] top.test.hostsend.data[94] top.test.hostsend.data[93] top.test.hostsend.data[92] top.test.hostsend.data[91] top.test.hostsend.data[90] top.test.hostsend.data[89] top.test.hostsend.data[88] top.test.hostsend.data[87] top.test.hostsend.data[86] top.test.hostsend.data[85] top.test.hostsend.data[84] top.test.hostsend.data[83] top.test.hostsend.data[82] top.test.hostsend.data[81] top.test.hostsend.data[80] top.test.hostsend.data[79] top.test.hostsend.data[78] top.test.hostsend.data[77] top.test.hostsend.data[76] top.test.hostsend.data[75] top.test.hostsend.data[74] top.test.hostsend.data[73] top.test.hostsend.data[72] top.test.hostsend.data[71] top.test.hostsend.data[70] top.test.hostsend.data[69] top.test.hostsend.data[68] top.test.hostsend.data[67] top.test.hostsend.data[66] top.test.hostsend.data[65] top.test.hostsend.data[64] top.test.hostsend.data[63] top.test.hostsend.data[62] top.test.hostsend.data[61] top.test.hostsend.data[60] top.test.hostsend.data[59] top.test.hostsend.data[58] top.test.hostsend.data[57] top.test.hostsend.data[56] top.test.hostsend.data[55] top.test.hostsend.data[54] top.test.hostsend.data[53] top.test.hostsend.data[52] top.test.hostsend.data[51] top.test.hostsend.data[50] top.test.hostsend.data[49] top.test.hostsend.data[48] top.test.hostsend.data[47] top.test.hostsend.data[46] top.test.hostsend.data[45] top.test.hostsend.data[44] top.test.hostsend.data[43] top.test.hostsend.data[42] top.test.hostsend.data[41] top.test.hostsend.data[40] top.test.hostsend.data[39] top.test.hostsend.data[38] top.test.hostsend.data[37] top.test.hostsend.data[36] top.test.hostsend.data[35] top.test.hostsend.data[34] top.test.hostsend.data[33] top.test.hostsend.data[32] top.test.hostsend.data[31] top.test.hostsend.data[30] top.test.hostsend.data[29] top.test.hostsend.data[28] top.test.hostsend.data[27] top.test.hostsend.data[26] top.test.hostsend.data[25] top.test.hostsend.data[24] top.test.hostsend.data[23] top.test.hostsend.data[22] top.test.hostsend.data[21] top.test.hostsend.data[20] top.test.hostsend.data[19] top.test.hostsend.data[18] top.test.hostsend.data[17] top.test.hostsend.data[16] top.test.hostsend.data[15] top.test.hostsend.data[14] top.test.hostsend.data[13] top.test.hostsend.data[12] top.test.hostsend.data[11] top.test.hostsend.data[10] top.test.hostsend.data[9] top.test.hostsend.data[8] top.test.hostsend.data[7] top.test.hostsend.data[6] top.test.hostsend.data[5] top.test.hostsend.data[4] top.test.hostsend.data[3] top.test.hostsend.data[2] top.test.hostsend.data[1] top.test.hostsend.data[0]
-@28
-top.test.nvmestorage0.hostreq.ready
-top.test.nvmestorage0.hostreq.valid
-top.test.nvmestorage0.hostreq.last
-@22
-#{top.test.nvmestorage0.hostreq.data[127:0]} top.test.nvmestorage0.hostreq.data[127] top.test.nvmestorage0.hostreq.data[126] top.test.nvmestorage0.hostreq.data[125] top.test.nvmestorage0.hostreq.data[124] top.test.nvmestorage0.hostreq.data[123] top.test.nvmestorage0.hostreq.data[122] top.test.nvmestorage0.hostreq.data[121] top.test.nvmestorage0.hostreq.data[120] top.test.nvmestorage0.hostreq.data[119] top.test.nvmestorage0.hostreq.data[118] top.test.nvmestorage0.hostreq.data[117] top.test.nvmestorage0.hostreq.data[116] top.test.nvmestorage0.hostreq.data[115] top.test.nvmestorage0.hostreq.data[114] top.test.nvmestorage0.hostreq.data[113] top.test.nvmestorage0.hostreq.data[112] top.test.nvmestorage0.hostreq.data[111] top.test.nvmestorage0.hostreq.data[110] top.test.nvmestorage0.hostreq.data[109] top.test.nvmestorage0.hostreq.data[108] top.test.nvmestorage0.hostreq.data[107] top.test.nvmestorage0.hostreq.data[106] top.test.nvmestorage0.hostreq.data[105] top.test.nvmestorage0.hostreq.data[104] top.test.nvmestorage0.hostreq.data[103] top.test.nvmestorage0.hostreq.data[102] top.test.nvmestorage0.hostreq.data[101] top.test.nvmestorage0.hostreq.data[100] top.test.nvmestorage0.hostreq.data[99] top.test.nvmestorage0.hostreq.data[98] top.test.nvmestorage0.hostreq.data[97] top.test.nvmestorage0.hostreq.data[96] top.test.nvmestorage0.hostreq.data[95] top.test.nvmestorage0.hostreq.data[94] top.test.nvmestorage0.hostreq.data[93] top.test.nvmestorage0.hostreq.data[92] top.test.nvmestorage0.hostreq.data[91] top.test.nvmestorage0.hostreq.data[90] top.test.nvmestorage0.hostreq.data[89] top.test.nvmestorage0.hostreq.data[88] top.test.nvmestorage0.hostreq.data[87] top.test.nvmestorage0.hostreq.data[86] top.test.nvmestorage0.hostreq.data[85] top.test.nvmestorage0.hostreq.data[84] top.test.nvmestorage0.hostreq.data[83] top.test.nvmestorage0.hostreq.data[82] top.test.nvmestorage0.hostreq.data[81] top.test.nvmestorage0.hostreq.data[80] top.test.nvmestorage0.hostreq.data[79] top.test.nvmestorage0.hostreq.data[78] top.test.nvmestorage0.hostreq.data[77] top.test.nvmestorage0.hostreq.data[76] top.test.nvmestorage0.hostreq.data[75] top.test.nvmestorage0.hostreq.data[74] top.test.nvmestorage0.hostreq.data[73] top.test.nvmestorage0.hostreq.data[72] top.test.nvmestorage0.hostreq.data[71] top.test.nvmestorage0.hostreq.data[70] top.test.nvmestorage0.hostreq.data[69] top.test.nvmestorage0.hostreq.data[68] top.test.nvmestorage0.hostreq.data[67] top.test.nvmestorage0.hostreq.data[66] top.test.nvmestorage0.hostreq.data[65] top.test.nvmestorage0.hostreq.data[64] top.test.nvmestorage0.hostreq.data[63] top.test.nvmestorage0.hostreq.data[62] top.test.nvmestorage0.hostreq.data[61] top.test.nvmestorage0.hostreq.data[60] top.test.nvmestorage0.hostreq.data[59] top.test.nvmestorage0.hostreq.data[58] top.test.nvmestorage0.hostreq.data[57] top.test.nvmestorage0.hostreq.data[56] top.test.nvmestorage0.hostreq.data[55] top.test.nvmestorage0.hostreq.data[54] top.test.nvmestorage0.hostreq.data[53] top.test.nvmestorage0.hostreq.data[52] top.test.nvmestorage0.hostreq.data[51] top.test.nvmestorage0.hostreq.data[50] top.test.nvmestorage0.hostreq.data[49] top.test.nvmestorage0.hostreq.data[48] top.test.nvmestorage0.hostreq.data[47] top.test.nvmestorage0.hostreq.data[46] top.test.nvmestorage0.hostreq.data[45] top.test.nvmestorage0.hostreq.data[44] top.test.nvmestorage0.hostreq.data[43] top.test.nvmestorage0.hostreq.data[42] top.test.nvmestorage0.hostreq.data[41] top.test.nvmestorage0.hostreq.data[40] top.test.nvmestorage0.hostreq.data[39] top.test.nvmestorage0.hostreq.data[38] top.test.nvmestorage0.hostreq.data[37] top.test.nvmestorage0.hostreq.data[36] top.test.nvmestorage0.hostreq.data[35] top.test.nvmestorage0.hostreq.data[34] top.test.nvmestorage0.hostreq.data[33] top.test.nvmestorage0.hostreq.data[32] top.test.nvmestorage0.hostreq.data[31] top.test.nvmestorage0.hostreq.data[30] top.test.nvmestorage0.hostreq.data[29] top.test.nvmestorage0.hostreq.data[28] top.test.nvmestorage0.hostreq.data[27] top.test.nvmestorage0.hostreq.data[26] top.test.nvmestorage0.hostreq.data[25] top.test.nvmestorage0.hostreq.data[24] top.test.nvmestorage0.hostreq.data[23] top.test.nvmestorage0.hostreq.data[22] top.test.nvmestorage0.hostreq.data[21] top.test.nvmestorage0.hostreq.data[20] top.test.nvmestorage0.hostreq.data[19] top.test.nvmestorage0.hostreq.data[18] top.test.nvmestorage0.hostreq.data[17] top.test.nvmestorage0.hostreq.data[16] top.test.nvmestorage0.hostreq.data[15] top.test.nvmestorage0.hostreq.data[14] top.test.nvmestorage0.hostreq.data[13] top.test.nvmestorage0.hostreq.data[12] top.test.nvmestorage0.hostreq.data[11] top.test.nvmestorage0.hostreq.data[10] top.test.nvmestorage0.hostreq.data[9] top.test.nvmestorage0.hostreq.data[8] top.test.nvmestorage0.hostreq.data[7] top.test.nvmestorage0.hostreq.data[6] top.test.nvmestorage0.hostreq.data[5] top.test.nvmestorage0.hostreq.data[4] top.test.nvmestorage0.hostreq.data[3] top.test.nvmestorage0.hostreq.data[2] top.test.nvmestorage0.hostreq.data[1] top.test.nvmestorage0.hostreq.data[0]
-#{top.test.nvmestorage0.sim.nvmesim0.reg_pci_command[31:0]} top.test.nvmestorage0.sim.nvmesim0.reg_pci_command[31] top.test.nvmestorage0.sim.nvmesim0.reg_pci_command[30] top.test.nvmestorage0.sim.nvmesim0.reg_pci_command[29] top.test.nvmestorage0.sim.nvmesim0.reg_pci_command[28] top.test.nvmestorage0.sim.nvmesim0.reg_pci_command[27] top.test.nvmestorage0.sim.nvmesim0.reg_pci_command[26] top.test.nvmestorage0.sim.nvmesim0.reg_pci_command[25] top.test.nvmestorage0.sim.nvmesim0.reg_pci_command[24] top.test.nvmestorage0.sim.nvmesim0.reg_pci_command[23] top.test.nvmestorage0.sim.nvmesim0.reg_pci_command[22] top.test.nvmestorage0.sim.nvmesim0.reg_pci_command[21] top.test.nvmestorage0.sim.nvmesim0.reg_pci_command[20] top.test.nvmestorage0.sim.nvmesim0.reg_pci_command[19] top.test.nvmestorage0.sim.nvmesim0.reg_pci_command[18] top.test.nvmestorage0.sim.nvmesim0.reg_pci_command[17] top.test.nvmestorage0.sim.nvmesim0.reg_pci_command[16] top.test.nvmestorage0.sim.nvmesim0.reg_pci_command[15] top.test.nvmestorage0.sim.nvmesim0.reg_pci_command[14] top.test.nvmestorage0.sim.nvmesim0.reg_pci_command[13] top.test.nvmestorage0.sim.nvmesim0.reg_pci_command[12] top.test.nvmestorage0.sim.nvmesim0.reg_pci_command[11] top.test.nvmestorage0.sim.nvmesim0.reg_pci_command[10] top.test.nvmestorage0.sim.nvmesim0.reg_pci_command[9] top.test.nvmestorage0.sim.nvmesim0.reg_pci_command[8] top.test.nvmestorage0.sim.nvmesim0.reg_pci_command[7] top.test.nvmestorage0.sim.nvmesim0.reg_pci_command[6] top.test.nvmestorage0.sim.nvmesim0.reg_pci_command[5] top.test.nvmestorage0.sim.nvmesim0.reg_pci_command[4] top.test.nvmestorage0.sim.nvmesim0.reg_pci_command[3] top.test.nvmestorage0.sim.nvmesim0.reg_pci_command[2] top.test.nvmestorage0.sim.nvmesim0.reg_pci_command[1] top.test.nvmestorage0.sim.nvmesim0.reg_pci_command[0]
-@28
-top.test.hostrecv.ready
-top.test.hostrecv.valid
-top.test.hostrecv.last
-@22
-#{top.test.hostrecv.data[127:0]} top.test.hostrecv.data[127] top.test.hostrecv.data[126] top.test.hostrecv.data[125] top.test.hostrecv.data[124] top.test.hostrecv.data[123] top.test.hostrecv.data[122] top.test.hostrecv.data[121] top.test.hostrecv.data[120] top.test.hostrecv.data[119] top.test.hostrecv.data[118] top.test.hostrecv.data[117] top.test.hostrecv.data[116] top.test.hostrecv.data[115] top.test.hostrecv.data[114] top.test.hostrecv.data[113] top.test.hostrecv.data[112] top.test.hostrecv.data[111] top.test.hostrecv.data[110] top.test.hostrecv.data[109] top.test.hostrecv.data[108] top.test.hostrecv.data[107] top.test.hostrecv.data[106] top.test.hostrecv.data[105] top.test.hostrecv.data[104] top.test.hostrecv.data[103] top.test.hostrecv.data[102] top.test.hostrecv.data[101] top.test.hostrecv.data[100] top.test.hostrecv.data[99] top.test.hostrecv.data[98] top.test.hostrecv.data[97] top.test.hostrecv.data[96] top.test.hostrecv.data[95] top.test.hostrecv.data[94] top.test.hostrecv.data[93] top.test.hostrecv.data[92] top.test.hostrecv.data[91] top.test.hostrecv.data[90] top.test.hostrecv.data[89] top.test.hostrecv.data[88] top.test.hostrecv.data[87] top.test.hostrecv.data[86] top.test.hostrecv.data[85] top.test.hostrecv.data[84] top.test.hostrecv.data[83] top.test.hostrecv.data[82] top.test.hostrecv.data[81] top.test.hostrecv.data[80] top.test.hostrecv.data[79] top.test.hostrecv.data[78] top.test.hostrecv.data[77] top.test.hostrecv.data[76] top.test.hostrecv.data[75] top.test.hostrecv.data[74] top.test.hostrecv.data[73] top.test.hostrecv.data[72] top.test.hostrecv.data[71] top.test.hostrecv.data[70] top.test.hostrecv.data[69] top.test.hostrecv.data[68] top.test.hostrecv.data[67] top.test.hostrecv.data[66] top.test.hostrecv.data[65] top.test.hostrecv.data[64] top.test.hostrecv.data[63] top.test.hostrecv.data[62] top.test.hostrecv.data[61] top.test.hostrecv.data[60] top.test.hostrecv.data[59] top.test.hostrecv.data[58] top.test.hostrecv.data[57] top.test.hostrecv.data[56] top.test.hostrecv.data[55] top.test.hostrecv.data[54] top.test.hostrecv.data[53] top.test.hostrecv.data[52] top.test.hostrecv.data[51] top.test.hostrecv.data[50] top.test.hostrecv.data[49] top.test.hostrecv.data[48] top.test.hostrecv.data[47] top.test.hostrecv.data[46] top.test.hostrecv.data[45] top.test.hostrecv.data[44] top.test.hostrecv.data[43] top.test.hostrecv.data[42] top.test.hostrecv.data[41] top.test.hostrecv.data[40] top.test.hostrecv.data[39] top.test.hostrecv.data[38] top.test.hostrecv.data[37] top.test.hostrecv.data[36] top.test.hostrecv.data[35] top.test.hostrecv.data[34] top.test.hostrecv.data[33] top.test.hostrecv.data[32] top.test.hostrecv.data[31] top.test.hostrecv.data[30] top.test.hostrecv.data[29] top.test.hostrecv.data[28] top.test.hostrecv.data[27] top.test.hostrecv.data[26] top.test.hostrecv.data[25] top.test.hostrecv.data[24] top.test.hostrecv.data[23] top.test.hostrecv.data[22] top.test.hostrecv.data[21] top.test.hostrecv.data[20] top.test.hostrecv.data[19] top.test.hostrecv.data[18] top.test.hostrecv.data[17] top.test.hostrecv.data[16] top.test.hostrecv.data[15] top.test.hostrecv.data[14] top.test.hostrecv.data[13] top.test.hostrecv.data[12] top.test.hostrecv.data[11] top.test.hostrecv.data[10] top.test.hostrecv.data[9] top.test.hostrecv.data[8] top.test.hostrecv.data[7] top.test.hostrecv.data[6] top.test.hostrecv.data[5] top.test.hostrecv.data[4] top.test.hostrecv.data[3] top.test.hostrecv.data[2] top.test.hostrecv.data[1] top.test.hostrecv.data[0]
-@420
-top.test.nvmestate
-@28
-top.test.nvmestorage0.nvmereq.ready
-top.test.nvmestorage0.nvmereq.valid
-top.test.nvmestorage0.nvmereq.last
-@22
-#{top.test.nvmestorage0.nvmereq.data[127:0]} top.test.nvmestorage0.nvmereq.data[127] top.test.nvmestorage0.nvmereq.data[126] top.test.nvmestorage0.nvmereq.data[125] top.test.nvmestorage0.nvmereq.data[124] top.test.nvmestorage0.nvmereq.data[123] top.test.nvmestorage0.nvmereq.data[122] top.test.nvmestorage0.nvmereq.data[121] top.test.nvmestorage0.nvmereq.data[120] top.test.nvmestorage0.nvmereq.data[119] top.test.nvmestorage0.nvmereq.data[118] top.test.nvmestorage0.nvmereq.data[117] top.test.nvmestorage0.nvmereq.data[116] top.test.nvmestorage0.nvmereq.data[115] top.test.nvmestorage0.nvmereq.data[114] top.test.nvmestorage0.nvmereq.data[113] top.test.nvmestorage0.nvmereq.data[112] top.test.nvmestorage0.nvmereq.data[111] top.test.nvmestorage0.nvmereq.data[110] top.test.nvmestorage0.nvmereq.data[109] top.test.nvmestorage0.nvmereq.data[108] top.test.nvmestorage0.nvmereq.data[107] top.test.nvmestorage0.nvmereq.data[106] top.test.nvmestorage0.nvmereq.data[105] top.test.nvmestorage0.nvmereq.data[104] top.test.nvmestorage0.nvmereq.data[103] top.test.nvmestorage0.nvmereq.data[102] top.test.nvmestorage0.nvmereq.data[101] top.test.nvmestorage0.nvmereq.data[100] top.test.nvmestorage0.nvmereq.data[99] top.test.nvmestorage0.nvmereq.data[98] top.test.nvmestorage0.nvmereq.data[97] top.test.nvmestorage0.nvmereq.data[96] top.test.nvmestorage0.nvmereq.data[95] top.test.nvmestorage0.nvmereq.data[94] top.test.nvmestorage0.nvmereq.data[93] top.test.nvmestorage0.nvmereq.data[92] top.test.nvmestorage0.nvmereq.data[91] top.test.nvmestorage0.nvmereq.data[90] top.test.nvmestorage0.nvmereq.data[89] top.test.nvmestorage0.nvmereq.data[88] top.test.nvmestorage0.nvmereq.data[87] top.test.nvmestorage0.nvmereq.data[86] top.test.nvmestorage0.nvmereq.data[85] top.test.nvmestorage0.nvmereq.data[84] top.test.nvmestorage0.nvmereq.data[83] top.test.nvmestorage0.nvmereq.data[82] top.test.nvmestorage0.nvmereq.data[81] top.test.nvmestorage0.nvmereq.data[80] top.test.nvmestorage0.nvmereq.data[79] top.test.nvmestorage0.nvmereq.data[78] top.test.nvmestorage0.nvmereq.data[77] top.test.nvmestorage0.nvmereq.data[76] top.test.nvmestorage0.nvmereq.data[75] top.test.nvmestorage0.nvmereq.data[74] top.test.nvmestorage0.nvmereq.data[73] top.test.nvmestorage0.nvmereq.data[72] top.test.nvmestorage0.nvmereq.data[71] top.test.nvmestorage0.nvmereq.data[70] top.test.nvmestorage0.nvmereq.data[69] top.test.nvmestorage0.nvmereq.data[68] top.test.nvmestorage0.nvmereq.data[67] top.test.nvmestorage0.nvmereq.data[66] top.test.nvmestorage0.nvmereq.data[65] top.test.nvmestorage0.nvmereq.data[64] top.test.nvmestorage0.nvmereq.data[63] top.test.nvmestorage0.nvmereq.data[62] top.test.nvmestorage0.nvmereq.data[61] top.test.nvmestorage0.nvmereq.data[60] top.test.nvmestorage0.nvmereq.data[59] top.test.nvmestorage0.nvmereq.data[58] top.test.nvmestorage0.nvmereq.data[57] top.test.nvmestorage0.nvmereq.data[56] top.test.nvmestorage0.nvmereq.data[55] top.test.nvmestorage0.nvmereq.data[54] top.test.nvmestorage0.nvmereq.data[53] top.test.nvmestorage0.nvmereq.data[52] top.test.nvmestorage0.nvmereq.data[51] top.test.nvmestorage0.nvmereq.data[50] top.test.nvmestorage0.nvmereq.data[49] top.test.nvmestorage0.nvmereq.data[48] top.test.nvmestorage0.nvmereq.data[47] top.test.nvmestorage0.nvmereq.data[46] top.test.nvmestorage0.nvmereq.data[45] top.test.nvmestorage0.nvmereq.data[44] top.test.nvmestorage0.nvmereq.data[43] top.test.nvmestorage0.nvmereq.data[42] top.test.nvmestorage0.nvmereq.data[41] top.test.nvmestorage0.nvmereq.data[40] top.test.nvmestorage0.nvmereq.data[39] top.test.nvmestorage0.nvmereq.data[38] top.test.nvmestorage0.nvmereq.data[37] top.test.nvmestorage0.nvmereq.data[36] top.test.nvmestorage0.nvmereq.data[35] top.test.nvmestorage0.nvmereq.data[34] top.test.nvmestorage0.nvmereq.data[33] top.test.nvmestorage0.nvmereq.data[32] top.test.nvmestorage0.nvmereq.data[31] top.test.nvmestorage0.nvmereq.data[30] top.test.nvmestorage0.nvmereq.data[29] top.test.nvmestorage0.nvmereq.data[28] top.test.nvmestorage0.nvmereq.data[27] top.test.nvmestorage0.nvmereq.data[26] top.test.nvmestorage0.nvmereq.data[25] top.test.nvmestorage0.nvmereq.data[24] top.test.nvmestorage0.nvmereq.data[23] top.test.nvmestorage0.nvmereq.data[22] top.test.nvmestorage0.nvmereq.data[21] top.test.nvmestorage0.nvmereq.data[20] top.test.nvmestorage0.nvmereq.data[19] top.test.nvmestorage0.nvmereq.data[18] top.test.nvmestorage0.nvmereq.data[17] top.test.nvmestorage0.nvmereq.data[16] top.test.nvmestorage0.nvmereq.data[15] top.test.nvmestorage0.nvmereq.data[14] top.test.nvmestorage0.nvmereq.data[13] top.test.nvmestorage0.nvmereq.data[12] top.test.nvmestorage0.nvmereq.data[11] top.test.nvmestorage0.nvmereq.data[10] top.test.nvmestorage0.nvmereq.data[9] top.test.nvmestorage0.nvmereq.data[8] top.test.nvmestorage0.nvmereq.data[7] top.test.nvmestorage0.nvmereq.data[6] top.test.nvmestorage0.nvmereq.data[5] top.test.nvmestorage0.nvmereq.data[4] top.test.nvmestorage0.nvmereq.data[3] top.test.nvmestorage0.nvmereq.data[2] top.test.nvmestorage0.nvmereq.data[1] top.test.nvmestorage0.nvmereq.data[0]
-@28
-top.test.nvmereq.ready
-top.test.nvmereq.valid
-top.test.nvmereq.last
-@22
-#{top.test.nvmereq.data[127:0]} top.test.nvmereq.data[127] top.test.nvmereq.data[126] top.test.nvmereq.data[125] top.test.nvmereq.data[124] top.test.nvmereq.data[123] top.test.nvmereq.data[122] top.test.nvmereq.data[121] top.test.nvmereq.data[120] top.test.nvmereq.data[119] top.test.nvmereq.data[118] top.test.nvmereq.data[117] top.test.nvmereq.data[116] top.test.nvmereq.data[115] top.test.nvmereq.data[114] top.test.nvmereq.data[113] top.test.nvmereq.data[112] top.test.nvmereq.data[111] top.test.nvmereq.data[110] top.test.nvmereq.data[109] top.test.nvmereq.data[108] top.test.nvmereq.data[107] top.test.nvmereq.data[106] top.test.nvmereq.data[105] top.test.nvmereq.data[104] top.test.nvmereq.data[103] top.test.nvmereq.data[102] top.test.nvmereq.data[101] top.test.nvmereq.data[100] top.test.nvmereq.data[99] top.test.nvmereq.data[98] top.test.nvmereq.data[97] top.test.nvmereq.data[96] top.test.nvmereq.data[95] top.test.nvmereq.data[94] top.test.nvmereq.data[93] top.test.nvmereq.data[92] top.test.nvmereq.data[91] top.test.nvmereq.data[90] top.test.nvmereq.data[89] top.test.nvmereq.data[88] top.test.nvmereq.data[87] top.test.nvmereq.data[86] top.test.nvmereq.data[85] top.test.nvmereq.data[84] top.test.nvmereq.data[83] top.test.nvmereq.data[82] top.test.nvmereq.data[81] top.test.nvmereq.data[80] top.test.nvmereq.data[79] top.test.nvmereq.data[78] top.test.nvmereq.data[77] top.test.nvmereq.data[76] top.test.nvmereq.data[75] top.test.nvmereq.data[74] top.test.nvmereq.data[73] top.test.nvmereq.data[72] top.test.nvmereq.data[71] top.test.nvmereq.data[70] top.test.nvmereq.data[69] top.test.nvmereq.data[68] top.test.nvmereq.data[67] top.test.nvmereq.data[66] top.test.nvmereq.data[65] top.test.nvmereq.data[64] top.test.nvmereq.data[63] top.test.nvmereq.data[62] top.test.nvmereq.data[61] top.test.nvmereq.data[60] top.test.nvmereq.data[59] top.test.nvmereq.data[58] top.test.nvmereq.data[57] top.test.nvmereq.data[56] top.test.nvmereq.data[55] top.test.nvmereq.data[54] top.test.nvmereq.data[53] top.test.nvmereq.data[52] top.test.nvmereq.data[51] top.test.nvmereq.data[50] top.test.nvmereq.data[49] top.test.nvmereq.data[48] top.test.nvmereq.data[47] top.test.nvmereq.data[46] top.test.nvmereq.data[45] top.test.nvmereq.data[44] top.test.nvmereq.data[43] top.test.nvmereq.data[42] top.test.nvmereq.data[41] top.test.nvmereq.data[40] top.test.nvmereq.data[39] top.test.nvmereq.data[38] top.test.nvmereq.data[37] top.test.nvmereq.data[36] top.test.nvmereq.data[35] top.test.nvmereq.data[34] top.test.nvmereq.data[33] top.test.nvmereq.data[32] top.test.nvmereq.data[31] top.test.nvmereq.data[30] top.test.nvmereq.data[29] top.test.nvmereq.data[28] top.test.nvmereq.data[27] top.test.nvmereq.data[26] top.test.nvmereq.data[25] top.test.nvmereq.data[24] top.test.nvmereq.data[23] top.test.nvmereq.data[22] top.test.nvmereq.data[21] top.test.nvmereq.data[20] top.test.nvmereq.data[19] top.test.nvmereq.data[18] top.test.nvmereq.data[17] top.test.nvmereq.data[16] top.test.nvmereq.data[15] top.test.nvmereq.data[14] top.test.nvmereq.data[13] top.test.nvmereq.data[12] top.test.nvmereq.data[11] top.test.nvmereq.data[10] top.test.nvmereq.data[9] top.test.nvmereq.data[8] top.test.nvmereq.data[7] top.test.nvmereq.data[6] top.test.nvmereq.data[5] top.test.nvmereq.data[4] top.test.nvmereq.data[3] top.test.nvmereq.data[2] top.test.nvmereq.data[1] top.test.nvmereq.data[0]
-@28
-top.test.nvmestorage0.hostsend1.ready
-top.test.nvmestorage0.hostsend1.valid
-top.test.nvmestorage0.hostsend1.last
-@22
-#{top.test.nvmestorage0.hostsend1.data[127:0]} top.test.nvmestorage0.hostsend1.data[127] top.test.nvmestorage0.hostsend1.data[126] top.test.nvmestorage0.hostsend1.data[125] top.test.nvmestorage0.hostsend1.data[124] top.test.nvmestorage0.hostsend1.data[123] top.test.nvmestorage0.hostsend1.data[122] top.test.nvmestorage0.hostsend1.data[121] top.test.nvmestorage0.hostsend1.data[120] top.test.nvmestorage0.hostsend1.data[119] top.test.nvmestorage0.hostsend1.data[118] top.test.nvmestorage0.hostsend1.data[117] top.test.nvmestorage0.hostsend1.data[116] top.test.nvmestorage0.hostsend1.data[115] top.test.nvmestorage0.hostsend1.data[114] top.test.nvmestorage0.hostsend1.data[113] top.test.nvmestorage0.hostsend1.data[112] top.test.nvmestorage0.hostsend1.data[111] top.test.nvmestorage0.hostsend1.data[110] top.test.nvmestorage0.hostsend1.data[109] top.test.nvmestorage0.hostsend1.data[108] top.test.nvmestorage0.hostsend1.data[107] top.test.nvmestorage0.hostsend1.data[106] top.test.nvmestorage0.hostsend1.data[105] top.test.nvmestorage0.hostsend1.data[104] top.test.nvmestorage0.hostsend1.data[103] top.test.nvmestorage0.hostsend1.data[102] top.test.nvmestorage0.hostsend1.data[101] top.test.nvmestorage0.hostsend1.data[100] top.test.nvmestorage0.hostsend1.data[99] top.test.nvmestorage0.hostsend1.data[98] top.test.nvmestorage0.hostsend1.data[97] top.test.nvmestorage0.hostsend1.data[96] top.test.nvmestorage0.hostsend1.data[95] top.test.nvmestorage0.hostsend1.data[94] top.test.nvmestorage0.hostsend1.data[93] top.test.nvmestorage0.hostsend1.data[92] top.test.nvmestorage0.hostsend1.data[91] top.test.nvmestorage0.hostsend1.data[90] top.test.nvmestorage0.hostsend1.data[89] top.test.nvmestorage0.hostsend1.data[88] top.test.nvmestorage0.hostsend1.data[87] top.test.nvmestorage0.hostsend1.data[86] top.test.nvmestorage0.hostsend1.data[85] top.test.nvmestorage0.hostsend1.data[84] top.test.nvmestorage0.hostsend1.data[83] top.test.nvmestorage0.hostsend1.data[82] top.test.nvmestorage0.hostsend1.data[81] top.test.nvmestorage0.hostsend1.data[80] top.test.nvmestorage0.hostsend1.data[79] top.test.nvmestorage0.hostsend1.data[78] top.test.nvmestorage0.hostsend1.data[77] top.test.nvmestorage0.hostsend1.data[76] top.test.nvmestorage0.hostsend1.data[75] top.test.nvmestorage0.hostsend1.data[74] top.test.nvmestorage0.hostsend1.data[73] top.test.nvmestorage0.hostsend1.data[72] top.test.nvmestorage0.hostsend1.data[71] top.test.nvmestorage0.hostsend1.data[70] top.test.nvmestorage0.hostsend1.data[69] top.test.nvmestorage0.hostsend1.data[68] top.test.nvmestorage0.hostsend1.data[67] top.test.nvmestorage0.hostsend1.data[66] top.test.nvmestorage0.hostsend1.data[65] top.test.nvmestorage0.hostsend1.data[64] top.test.nvmestorage0.hostsend1.data[63] top.test.nvmestorage0.hostsend1.data[62] top.test.nvmestorage0.hostsend1.data[61] top.test.nvmestorage0.hostsend1.data[60] top.test.nvmestorage0.hostsend1.data[59] top.test.nvmestorage0.hostsend1.data[58] top.test.nvmestorage0.hostsend1.data[57] top.test.nvmestorage0.hostsend1.data[56] top.test.nvmestorage0.hostsend1.data[55] top.test.nvmestorage0.hostsend1.data[54] top.test.nvmestorage0.hostsend1.data[53] top.test.nvmestorage0.hostsend1.data[52] top.test.nvmestorage0.hostsend1.data[51] top.test.nvmestorage0.hostsend1.data[50] top.test.nvmestorage0.hostsend1.data[49] top.test.nvmestorage0.hostsend1.data[48] top.test.nvmestorage0.hostsend1.data[47] top.test.nvmestorage0.hostsend1.data[46] top.test.nvmestorage0.hostsend1.data[45] top.test.nvmestorage0.hostsend1.data[44] top.test.nvmestorage0.hostsend1.data[43] top.test.nvmestorage0.hostsend1.data[42] top.test.nvmestorage0.hostsend1.data[41] top.test.nvmestorage0.hostsend1.data[40] top.test.nvmestorage0.hostsend1.data[39] top.test.nvmestorage0.hostsend1.data[38] top.test.nvmestorage0.hostsend1.data[37] top.test.nvmestorage0.hostsend1.data[36] top.test.nvmestorage0.hostsend1.data[35] top.test.nvmestorage0.hostsend1.data[34] top.test.nvmestorage0.hostsend1.data[33] top.test.nvmestorage0.hostsend1.data[32] top.test.nvmestorage0.hostsend1.data[31] top.test.nvmestorage0.hostsend1.data[30] top.test.nvmestorage0.hostsend1.data[29] top.test.nvmestorage0.hostsend1.data[28] top.test.nvmestorage0.hostsend1.data[27] top.test.nvmestorage0.hostsend1.data[26] top.test.nvmestorage0.hostsend1.data[25] top.test.nvmestorage0.hostsend1.data[24] top.test.nvmestorage0.hostsend1.data[23] top.test.nvmestorage0.hostsend1.data[22] top.test.nvmestorage0.hostsend1.data[21] top.test.nvmestorage0.hostsend1.data[20] top.test.nvmestorage0.hostsend1.data[19] top.test.nvmestorage0.hostsend1.data[18] top.test.nvmestorage0.hostsend1.data[17] top.test.nvmestorage0.hostsend1.data[16] top.test.nvmestorage0.hostsend1.data[15] top.test.nvmestorage0.hostsend1.data[14] top.test.nvmestorage0.hostsend1.data[13] top.test.nvmestorage0.hostsend1.data[12] top.test.nvmestorage0.hostsend1.data[11] top.test.nvmestorage0.hostsend1.data[10] top.test.nvmestorage0.hostsend1.data[9] top.test.nvmestorage0.hostsend1.data[8] top.test.nvmestorage0.hostsend1.data[7] top.test.nvmestorage0.hostsend1.data[6] top.test.nvmestorage0.hostsend1.data[5] top.test.nvmestorage0.hostsend1.data[4] top.test.nvmestorage0.hostsend1.data[3] top.test.nvmestorage0.hostsend1.data[2] top.test.nvmestorage0.hostsend1.data[1] top.test.nvmestorage0.hostsend1.data[0]
-@28
-top.test.nvmestorage0.hostreq.ready
-top.test.nvmestorage0.hostreq.valid
-top.test.nvmestorage0.hostreq.last
-top.test.nvmereply.ready
-@29
-top.test.nvmereply.valid
-@28
-top.test.nvmereply.last
-@22
-#{top.test.nvmereply.data[127:0]} top.test.nvmereply.data[127] top.test.nvmereply.data[126] top.test.nvmereply.data[125] top.test.nvmereply.data[124] top.test.nvmereply.data[123] top.test.nvmereply.data[122] top.test.nvmereply.data[121] top.test.nvmereply.data[120] top.test.nvmereply.data[119] top.test.nvmereply.data[118] top.test.nvmereply.data[117] top.test.nvmereply.data[116] top.test.nvmereply.data[115] top.test.nvmereply.data[114] top.test.nvmereply.data[113] top.test.nvmereply.data[112] top.test.nvmereply.data[111] top.test.nvmereply.data[110] top.test.nvmereply.data[109] top.test.nvmereply.data[108] top.test.nvmereply.data[107] top.test.nvmereply.data[106] top.test.nvmereply.data[105] top.test.nvmereply.data[104] top.test.nvmereply.data[103] top.test.nvmereply.data[102] top.test.nvmereply.data[101] top.test.nvmereply.data[100] top.test.nvmereply.data[99] top.test.nvmereply.data[98] top.test.nvmereply.data[97] top.test.nvmereply.data[96] top.test.nvmereply.data[95] top.test.nvmereply.data[94] top.test.nvmereply.data[93] top.test.nvmereply.data[92] top.test.nvmereply.data[91] top.test.nvmereply.data[90] top.test.nvmereply.data[89] top.test.nvmereply.data[88] top.test.nvmereply.data[87] top.test.nvmereply.data[86] top.test.nvmereply.data[85] top.test.nvmereply.data[84] top.test.nvmereply.data[83] top.test.nvmereply.data[82] top.test.nvmereply.data[81] top.test.nvmereply.data[80] top.test.nvmereply.data[79] top.test.nvmereply.data[78] top.test.nvmereply.data[77] top.test.nvmereply.data[76] top.test.nvmereply.data[75] top.test.nvmereply.data[74] top.test.nvmereply.data[73] top.test.nvmereply.data[72] top.test.nvmereply.data[71] top.test.nvmereply.data[70] top.test.nvmereply.data[69] top.test.nvmereply.data[68] top.test.nvmereply.data[67] top.test.nvmereply.data[66] top.test.nvmereply.data[65] top.test.nvmereply.data[64] top.test.nvmereply.data[63] top.test.nvmereply.data[62] top.test.nvmereply.data[61] top.test.nvmereply.data[60] top.test.nvmereply.data[59] top.test.nvmereply.data[58] top.test.nvmereply.data[57] top.test.nvmereply.data[56] top.test.nvmereply.data[55] top.test.nvmereply.data[54] top.test.nvmereply.data[53] top.test.nvmereply.data[52] top.test.nvmereply.data[51] top.test.nvmereply.data[50] top.test.nvmereply.data[49] top.test.nvmereply.data[48] top.test.nvmereply.data[47] top.test.nvmereply.data[46] top.test.nvmereply.data[45] top.test.nvmereply.data[44] top.test.nvmereply.data[43] top.test.nvmereply.data[42] top.test.nvmereply.data[41] top.test.nvmereply.data[40] top.test.nvmereply.data[39] top.test.nvmereply.data[38] top.test.nvmereply.data[37] top.test.nvmereply.data[36] top.test.nvmereply.data[35] top.test.nvmereply.data[34] top.test.nvmereply.data[33] top.test.nvmereply.data[32] top.test.nvmereply.data[31] top.test.nvmereply.data[30] top.test.nvmereply.data[29] top.test.nvmereply.data[28] top.test.nvmereply.data[27] top.test.nvmereply.data[26] top.test.nvmereply.data[25] top.test.nvmereply.data[24] top.test.nvmereply.data[23] top.test.nvmereply.data[22] top.test.nvmereply.data[21] top.test.nvmereply.data[20] top.test.nvmereply.data[19] top.test.nvmereply.data[18] top.test.nvmereply.data[17] top.test.nvmereply.data[16] top.test.nvmereply.data[15] top.test.nvmereply.data[14] top.test.nvmereply.data[13] top.test.nvmereply.data[12] top.test.nvmereply.data[11] top.test.nvmereply.data[10] top.test.nvmereply.data[9] top.test.nvmereply.data[8] top.test.nvmereply.data[7] top.test.nvmereply.data[6] top.test.nvmereply.data[5] top.test.nvmereply.data[4] top.test.nvmereply.data[3] top.test.nvmereply.data[2] top.test.nvmereply.data[1] top.test.nvmereply.data[0]
-@28
-top.test.nvmestorage0.sim.nvmesim0.nvmereq.ready
-top.test.nvmestorage0.sim.nvmesim0.nvmereq.valid
-top.test.nvmestorage0.sim.nvmesim0.nvmereq.last
-@22
-#{top.test.nvmestorage0.sim.nvmesim0.nvmereq.data[127:0]} top.test.nvmestorage0.sim.nvmesim0.nvmereq.data[127] top.test.nvmestorage0.sim.nvmesim0.nvmereq.data[126] top.test.nvmestorage0.sim.nvmesim0.nvmereq.data[125] top.test.nvmestorage0.sim.nvmesim0.nvmereq.data[124] top.test.nvmestorage0.sim.nvmesim0.nvmereq.data[123] top.test.nvmestorage0.sim.nvmesim0.nvmereq.data[122] top.test.nvmestorage0.sim.nvmesim0.nvmereq.data[121] top.test.nvmestorage0.sim.nvmesim0.nvmereq.data[120] top.test.nvmestorage0.sim.nvmesim0.nvmereq.data[119] top.test.nvmestorage0.sim.nvmesim0.nvmereq.data[118] top.test.nvmestorage0.sim.nvmesim0.nvmereq.data[117] top.test.nvmestorage0.sim.nvmesim0.nvmereq.data[116] top.test.nvmestorage0.sim.nvmesim0.nvmereq.data[115] top.test.nvmestorage0.sim.nvmesim0.nvmereq.data[114] top.test.nvmestorage0.sim.nvmesim0.nvmereq.data[113] top.test.nvmestorage0.sim.nvmesim0.nvmereq.data[112] top.test.nvmestorage0.sim.nvmesim0.nvmereq.data[111] top.test.nvmestorage0.sim.nvmesim0.nvmereq.data[110] top.test.nvmestorage0.sim.nvmesim0.nvmereq.data[109] top.test.nvmestorage0.sim.nvmesim0.nvmereq.data[108] top.test.nvmestorage0.sim.nvmesim0.nvmereq.data[107] top.test.nvmestorage0.sim.nvmesim0.nvmereq.data[106] top.test.nvmestorage0.sim.nvmesim0.nvmereq.data[105] top.test.nvmestorage0.sim.nvmesim0.nvmereq.data[104] top.test.nvmestorage0.sim.nvmesim0.nvmereq.data[103] top.test.nvmestorage0.sim.nvmesim0.nvmereq.data[102] top.test.nvmestorage0.sim.nvmesim0.nvmereq.data[101] top.test.nvmestorage0.sim.nvmesim0.nvmereq.data[100] top.test.nvmestorage0.sim.nvmesim0.nvmereq.data[99] top.test.nvmestorage0.sim.nvmesim0.nvmereq.data[98] top.test.nvmestorage0.sim.nvmesim0.nvmereq.data[97] top.test.nvmestorage0.sim.nvmesim0.nvmereq.data[96] top.test.nvmestorage0.sim.nvmesim0.nvmereq.data[95] top.test.nvmestorage0.sim.nvmesim0.nvmereq.data[94] top.test.nvmestorage0.sim.nvmesim0.nvmereq.data[93] top.test.nvmestorage0.sim.nvmesim0.nvmereq.data[92] top.test.nvmestorage0.sim.nvmesim0.nvmereq.data[91] top.test.nvmestorage0.sim.nvmesim0.nvmereq.data[90] top.test.nvmestorage0.sim.nvmesim0.nvmereq.data[89] top.test.nvmestorage0.sim.nvmesim0.nvmereq.data[88] top.test.nvmestorage0.sim.nvmesim0.nvmereq.data[87] top.test.nvmestorage0.sim.nvmesim0.nvmereq.data[86] top.test.nvmestorage0.sim.nvmesim0.nvmereq.data[85] top.test.nvmestorage0.sim.nvmesim0.nvmereq.data[84] top.test.nvmestorage0.sim.nvmesim0.nvmereq.data[83] top.test.nvmestorage0.sim.nvmesim0.nvmereq.data[82] top.test.nvmestorage0.sim.nvmesim0.nvmereq.data[81] top.test.nvmestorage0.sim.nvmesim0.nvmereq.data[80] top.test.nvmestorage0.sim.nvmesim0.nvmereq.data[79] top.test.nvmestorage0.sim.nvmesim0.nvmereq.data[78] top.test.nvmestorage0.sim.nvmesim0.nvmereq.data[77] top.test.nvmestorage0.sim.nvmesim0.nvmereq.data[76] top.test.nvmestorage0.sim.nvmesim0.nvmereq.data[75] top.test.nvmestorage0.sim.nvmesim0.nvmereq.data[74] top.test.nvmestorage0.sim.nvmesim0.nvmereq.data[73] top.test.nvmestorage0.sim.nvmesim0.nvmereq.data[72] top.test.nvmestorage0.sim.nvmesim0.nvmereq.data[71] top.test.nvmestorage0.sim.nvmesim0.nvmereq.data[70] top.test.nvmestorage0.sim.nvmesim0.nvmereq.data[69] top.test.nvmestorage0.sim.nvmesim0.nvmereq.data[68] top.test.nvmestorage0.sim.nvmesim0.nvmereq.data[67] top.test.nvmestorage0.sim.nvmesim0.nvmereq.data[66] top.test.nvmestorage0.sim.nvmesim0.nvmereq.data[65] top.test.nvmestorage0.sim.nvmesim0.nvmereq.data[64] top.test.nvmestorage0.sim.nvmesim0.nvmereq.data[63] top.test.nvmestorage0.sim.nvmesim0.nvmereq.data[62] top.test.nvmestorage0.sim.nvmesim0.nvmereq.data[61] top.test.nvmestorage0.sim.nvmesim0.nvmereq.data[60] top.test.nvmestorage0.sim.nvmesim0.nvmereq.data[59] top.test.nvmestorage0.sim.nvmesim0.nvmereq.data[58] top.test.nvmestorage0.sim.nvmesim0.nvmereq.data[57] top.test.nvmestorage0.sim.nvmesim0.nvmereq.data[56] top.test.nvmestorage0.sim.nvmesim0.nvmereq.data[55] top.test.nvmestorage0.sim.nvmesim0.nvmereq.data[54] top.test.nvmestorage0.sim.nvmesim0.nvmereq.data[53] top.test.nvmestorage0.sim.nvmesim0.nvmereq.data[52] top.test.nvmestorage0.sim.nvmesim0.nvmereq.data[51] top.test.nvmestorage0.sim.nvmesim0.nvmereq.data[50] top.test.nvmestorage0.sim.nvmesim0.nvmereq.data[49] top.test.nvmestorage0.sim.nvmesim0.nvmereq.data[48] top.test.nvmestorage0.sim.nvmesim0.nvmereq.data[47] top.test.nvmestorage0.sim.nvmesim0.nvmereq.data[46] top.test.nvmestorage0.sim.nvmesim0.nvmereq.data[45] top.test.nvmestorage0.sim.nvmesim0.nvmereq.data[44] top.test.nvmestorage0.sim.nvmesim0.nvmereq.data[43] top.test.nvmestorage0.sim.nvmesim0.nvmereq.data[42] top.test.nvmestorage0.sim.nvmesim0.nvmereq.data[41] top.test.nvmestorage0.sim.nvmesim0.nvmereq.data[40] top.test.nvmestorage0.sim.nvmesim0.nvmereq.data[39] top.test.nvmestorage0.sim.nvmesim0.nvmereq.data[38] top.test.nvmestorage0.sim.nvmesim0.nvmereq.data[37] top.test.nvmestorage0.sim.nvmesim0.nvmereq.data[36] top.test.nvmestorage0.sim.nvmesim0.nvmereq.data[35] top.test.nvmestorage0.sim.nvmesim0.nvmereq.data[34] top.test.nvmestorage0.sim.nvmesim0.nvmereq.data[33] top.test.nvmestorage0.sim.nvmesim0.nvmereq.data[32] top.test.nvmestorage0.sim.nvmesim0.nvmereq.data[31] top.test.nvmestorage0.sim.nvmesim0.nvmereq.data[30] top.test.nvmestorage0.sim.nvmesim0.nvmereq.data[29] top.test.nvmestorage0.sim.nvmesim0.nvmereq.data[28] top.test.nvmestorage0.sim.nvmesim0.nvmereq.data[27] top.test.nvmestorage0.sim.nvmesim0.nvmereq.data[26] top.test.nvmestorage0.sim.nvmesim0.nvmereq.data[25] top.test.nvmestorage0.sim.nvmesim0.nvmereq.data[24] top.test.nvmestorage0.sim.nvmesim0.nvmereq.data[23] top.test.nvmestorage0.sim.nvmesim0.nvmereq.data[22] top.test.nvmestorage0.sim.nvmesim0.nvmereq.data[21] top.test.nvmestorage0.sim.nvmesim0.nvmereq.data[20] top.test.nvmestorage0.sim.nvmesim0.nvmereq.data[19] top.test.nvmestorage0.sim.nvmesim0.nvmereq.data[18] top.test.nvmestorage0.sim.nvmesim0.nvmereq.data[17] top.test.nvmestorage0.sim.nvmesim0.nvmereq.data[16] top.test.nvmestorage0.sim.nvmesim0.nvmereq.data[15] top.test.nvmestorage0.sim.nvmesim0.nvmereq.data[14] top.test.nvmestorage0.sim.nvmesim0.nvmereq.data[13] top.test.nvmestorage0.sim.nvmesim0.nvmereq.data[12] top.test.nvmestorage0.sim.nvmesim0.nvmereq.data[11] top.test.nvmestorage0.sim.nvmesim0.nvmereq.data[10] top.test.nvmestorage0.sim.nvmesim0.nvmereq.data[9] top.test.nvmestorage0.sim.nvmesim0.nvmereq.data[8] top.test.nvmestorage0.sim.nvmesim0.nvmereq.data[7] top.test.nvmestorage0.sim.nvmesim0.nvmereq.data[6] top.test.nvmestorage0.sim.nvmesim0.nvmereq.data[5] top.test.nvmestorage0.sim.nvmesim0.nvmereq.data[4] top.test.nvmestorage0.sim.nvmesim0.nvmereq.data[3] top.test.nvmestorage0.sim.nvmesim0.nvmereq.data[2] top.test.nvmestorage0.sim.nvmesim0.nvmereq.data[1] top.test.nvmestorage0.sim.nvmesim0.nvmereq.data[0]
-@28
-top.test.nvmestorage0.sim.nvmesim0.nvmereply.ready
-top.test.nvmestorage0.sim.nvmesim0.nvmereply.valid
-top.test.nvmestorage0.sim.nvmesim0.nvmereply.last
-@22
-#{top.test.nvmestorage0.sim.nvmesim0.nvmereply.data[127:0]} top.test.nvmestorage0.sim.nvmesim0.nvmereply.data[127] top.test.nvmestorage0.sim.nvmesim0.nvmereply.data[126] top.test.nvmestorage0.sim.nvmesim0.nvmereply.data[125] top.test.nvmestorage0.sim.nvmesim0.nvmereply.data[124] top.test.nvmestorage0.sim.nvmesim0.nvmereply.data[123] top.test.nvmestorage0.sim.nvmesim0.nvmereply.data[122] top.test.nvmestorage0.sim.nvmesim0.nvmereply.data[121] top.test.nvmestorage0.sim.nvmesim0.nvmereply.data[120] top.test.nvmestorage0.sim.nvmesim0.nvmereply.data[119] top.test.nvmestorage0.sim.nvmesim0.nvmereply.data[118] top.test.nvmestorage0.sim.nvmesim0.nvmereply.data[117] top.test.nvmestorage0.sim.nvmesim0.nvmereply.data[116] top.test.nvmestorage0.sim.nvmesim0.nvmereply.data[115] top.test.nvmestorage0.sim.nvmesim0.nvmereply.data[114] top.test.nvmestorage0.sim.nvmesim0.nvmereply.data[113] top.test.nvmestorage0.sim.nvmesim0.nvmereply.data[112] top.test.nvmestorage0.sim.nvmesim0.nvmereply.data[111] top.test.nvmestorage0.sim.nvmesim0.nvmereply.data[110] top.test.nvmestorage0.sim.nvmesim0.nvmereply.data[109] top.test.nvmestorage0.sim.nvmesim0.nvmereply.data[108] top.test.nvmestorage0.sim.nvmesim0.nvmereply.data[107] top.test.nvmestorage0.sim.nvmesim0.nvmereply.data[106] top.test.nvmestorage0.sim.nvmesim0.nvmereply.data[105] top.test.nvmestorage0.sim.nvmesim0.nvmereply.data[104] top.test.nvmestorage0.sim.nvmesim0.nvmereply.data[103] top.test.nvmestorage0.sim.nvmesim0.nvmereply.data[102] top.test.nvmestorage0.sim.nvmesim0.nvmereply.data[101] top.test.nvmestorage0.sim.nvmesim0.nvmereply.data[100] top.test.nvmestorage0.sim.nvmesim0.nvmereply.data[99] top.test.nvmestorage0.sim.nvmesim0.nvmereply.data[98] top.test.nvmestorage0.sim.nvmesim0.nvmereply.data[97] top.test.nvmestorage0.sim.nvmesim0.nvmereply.data[96] top.test.nvmestorage0.sim.nvmesim0.nvmereply.data[95] top.test.nvmestorage0.sim.nvmesim0.nvmereply.data[94] top.test.nvmestorage0.sim.nvmesim0.nvmereply.data[93] top.test.nvmestorage0.sim.nvmesim0.nvmereply.data[92] top.test.nvmestorage0.sim.nvmesim0.nvmereply.data[91] top.test.nvmestorage0.sim.nvmesim0.nvmereply.data[90] top.test.nvmestorage0.sim.nvmesim0.nvmereply.data[89] top.test.nvmestorage0.sim.nvmesim0.nvmereply.data[88] top.test.nvmestorage0.sim.nvmesim0.nvmereply.data[87] top.test.nvmestorage0.sim.nvmesim0.nvmereply.data[86] top.test.nvmestorage0.sim.nvmesim0.nvmereply.data[85] top.test.nvmestorage0.sim.nvmesim0.nvmereply.data[84] top.test.nvmestorage0.sim.nvmesim0.nvmereply.data[83] top.test.nvmestorage0.sim.nvmesim0.nvmereply.data[82] top.test.nvmestorage0.sim.nvmesim0.nvmereply.data[81] top.test.nvmestorage0.sim.nvmesim0.nvmereply.data[80] top.test.nvmestorage0.sim.nvmesim0.nvmereply.data[79] top.test.nvmestorage0.sim.nvmesim0.nvmereply.data[78] top.test.nvmestorage0.sim.nvmesim0.nvmereply.data[77] top.test.nvmestorage0.sim.nvmesim0.nvmereply.data[76] top.test.nvmestorage0.sim.nvmesim0.nvmereply.data[75] top.test.nvmestorage0.sim.nvmesim0.nvmereply.data[74] top.test.nvmestorage0.sim.nvmesim0.nvmereply.data[73] top.test.nvmestorage0.sim.nvmesim0.nvmereply.data[72] top.test.nvmestorage0.sim.nvmesim0.nvmereply.data[71] top.test.nvmestorage0.sim.nvmesim0.nvmereply.data[70] top.test.nvmestorage0.sim.nvmesim0.nvmereply.data[69] top.test.nvmestorage0.sim.nvmesim0.nvmereply.data[68] top.test.nvmestorage0.sim.nvmesim0.nvmereply.data[67] top.test.nvmestorage0.sim.nvmesim0.nvmereply.data[66] top.test.nvmestorage0.sim.nvmesim0.nvmereply.data[65] top.test.nvmestorage0.sim.nvmesim0.nvmereply.data[64] top.test.nvmestorage0.sim.nvmesim0.nvmereply.data[63] top.test.nvmestorage0.sim.nvmesim0.nvmereply.data[62] top.test.nvmestorage0.sim.nvmesim0.nvmereply.data[61] top.test.nvmestorage0.sim.nvmesim0.nvmereply.data[60] top.test.nvmestorage0.sim.nvmesim0.nvmereply.data[59] top.test.nvmestorage0.sim.nvmesim0.nvmereply.data[58] top.test.nvmestorage0.sim.nvmesim0.nvmereply.data[57] top.test.nvmestorage0.sim.nvmesim0.nvmereply.data[56] top.test.nvmestorage0.sim.nvmesim0.nvmereply.data[55] top.test.nvmestorage0.sim.nvmesim0.nvmereply.data[54] top.test.nvmestorage0.sim.nvmesim0.nvmereply.data[53] top.test.nvmestorage0.sim.nvmesim0.nvmereply.data[52] top.test.nvmestorage0.sim.nvmesim0.nvmereply.data[51] top.test.nvmestorage0.sim.nvmesim0.nvmereply.data[50] top.test.nvmestorage0.sim.nvmesim0.nvmereply.data[49] top.test.nvmestorage0.sim.nvmesim0.nvmereply.data[48] top.test.nvmestorage0.sim.nvmesim0.nvmereply.data[47] top.test.nvmestorage0.sim.nvmesim0.nvmereply.data[46] top.test.nvmestorage0.sim.nvmesim0.nvmereply.data[45] top.test.nvmestorage0.sim.nvmesim0.nvmereply.data[44] top.test.nvmestorage0.sim.nvmesim0.nvmereply.data[43] top.test.nvmestorage0.sim.nvmesim0.nvmereply.data[42] top.test.nvmestorage0.sim.nvmesim0.nvmereply.data[41] top.test.nvmestorage0.sim.nvmesim0.nvmereply.data[40] top.test.nvmestorage0.sim.nvmesim0.nvmereply.data[39] top.test.nvmestorage0.sim.nvmesim0.nvmereply.data[38] top.test.nvmestorage0.sim.nvmesim0.nvmereply.data[37] top.test.nvmestorage0.sim.nvmesim0.nvmereply.data[36] top.test.nvmestorage0.sim.nvmesim0.nvmereply.data[35] top.test.nvmestorage0.sim.nvmesim0.nvmereply.data[34] top.test.nvmestorage0.sim.nvmesim0.nvmereply.data[33] top.test.nvmestorage0.sim.nvmesim0.nvmereply.data[32] top.test.nvmestorage0.sim.nvmesim0.nvmereply.data[31] top.test.nvmestorage0.sim.nvmesim0.nvmereply.data[30] top.test.nvmestorage0.sim.nvmesim0.nvmereply.data[29] top.test.nvmestorage0.sim.nvmesim0.nvmereply.data[28] top.test.nvmestorage0.sim.nvmesim0.nvmereply.data[27] top.test.nvmestorage0.sim.nvmesim0.nvmereply.data[26] top.test.nvmestorage0.sim.nvmesim0.nvmereply.data[25] top.test.nvmestorage0.sim.nvmesim0.nvmereply.data[24] top.test.nvmestorage0.sim.nvmesim0.nvmereply.data[23] top.test.nvmestorage0.sim.nvmesim0.nvmereply.data[22] top.test.nvmestorage0.sim.nvmesim0.nvmereply.data[21] top.test.nvmestorage0.sim.nvmesim0.nvmereply.data[20] top.test.nvmestorage0.sim.nvmesim0.nvmereply.data[19] top.test.nvmestorage0.sim.nvmesim0.nvmereply.data[18] top.test.nvmestorage0.sim.nvmesim0.nvmereply.data[17] top.test.nvmestorage0.sim.nvmesim0.nvmereply.data[16] top.test.nvmestorage0.sim.nvmesim0.nvmereply.data[15] top.test.nvmestorage0.sim.nvmesim0.nvmereply.data[14] top.test.nvmestorage0.sim.nvmesim0.nvmereply.data[13] top.test.nvmestorage0.sim.nvmesim0.nvmereply.data[12] top.test.nvmestorage0.sim.nvmesim0.nvmereply.data[11] top.test.nvmestorage0.sim.nvmesim0.nvmereply.data[10] top.test.nvmestorage0.sim.nvmesim0.nvmereply.data[9] top.test.nvmestorage0.sim.nvmesim0.nvmereply.data[8] top.test.nvmestorage0.sim.nvmesim0.nvmereply.data[7] top.test.nvmestorage0.sim.nvmesim0.nvmereply.data[6] top.test.nvmestorage0.sim.nvmesim0.nvmereply.data[5] top.test.nvmestorage0.sim.nvmesim0.nvmereply.data[4] top.test.nvmestorage0.sim.nvmesim0.nvmereply.data[3] top.test.nvmestorage0.sim.nvmesim0.nvmereply.data[2] top.test.nvmestorage0.sim.nvmesim0.nvmereply.data[1] top.test.nvmestorage0.sim.nvmesim0.nvmereply.data[0]
-@420
-top.test.nvmestorage0.sim.nvmesim0.state
-[pattern_trace] 1
-[pattern_trace] 0
diff --git a/source/DuneNvmeTest/sim/testbench/test007-hostnvme.vhd b/source/DuneNvmeTest/sim/testbench/test007-hostnvme.vhd
deleted file mode 100644 (file)
index 5c54bb4..0000000
+++ /dev/null
@@ -1,296 +0,0 @@
---------------------------------------------------------------------------------
---     Test007-hostnvme.vhd    Simple host-nvme interface tests
---     T.Barnaby,      Beam Ltd.       2020-03-13
---------------------------------------------------------------------------------
---
---
---
-library ieee ;
-use ieee.std_logic_1164.all;
-use ieee.numeric_std.all;
---use ieee.std_logic_unsigned.all;
---use ieee.std_logic_arith.all;
---use ieee.std_logic_misc.all;
---use ieee.std_logic_textio.all;
---use std.textio.all; 
-
-library work;
-use work.AxiPkg.all;
-use work.NvmeStoragePkg.all;
-
-entity Test is
-end;
-
-architecture sim of Test is
-
-component NvmeStorage is
-generic(
-       Simulate        : boolean       := True;
-       Divider         : integer       := 5000000
-);
-port (
-       clk             : in std_logic;                         --! The interface clock line
-       reset           : in std_logic;                         --! The active high reset line
-
-       -- Control and status interface
-       axilIn          : in AxilToSlave;                       --! Axil bus input signals
-       axilOut         : out AxilToMaster;                     --! Axil bus output signals
-
-       -- From host to NVMe request/reply streams
-       hostSend        : inout AxisStream := AxisInput;        --! Host request stream
-       hostRecv        : inout AxisStream := AxisOutput;       --! Host reply stream
-
-       -- AXIS data stream input
-       --dataRx        : inout AxisStream      := AxisInput;   --! Raw data to save stream
-
-       -- NVMe interface
-       nvme_clk_p      : in std_logic;                         --! Nvme external clock +ve
-       nvme_clk_n      : in std_logic;                         --! Nvme external clock -ve
-       nvme_reset_n    : out std_logic;                        --! Nvme reset output to reset NVMe devices
-       nvme0_exp_txp   : out std_logic_vector(3 downto 0);     --! Nvme0 PCIe TX plus lanes
-       nvme0_exp_txn   : out std_logic_vector(3 downto 0);     --! Nvme0 PCIe TX minus lanes
-       nvme0_exp_rxp   : in std_logic_vector(3 downto 0);      --! Nvme0 PCIe RX plus lanes
-       nvme0_exp_rxn   : in std_logic_vector(3 downto 0);      --! Nvme0 PCIe RX minus lanes
-
-       -- Debug
-       leds            : out std_logic_vector(3 downto 0)
-);
-end component;
-
-component AxisStreamMux is
-port (
-       clk             : in std_logic;                         --! The interface clock line
-       reset           : in std_logic;                         --! The active high reset line
-       
-       streamIn1       : inout AxisStream := AxisInput;        --! Input data stream
-       streamIn2       : inout AxisStream := AxisInput;        --! Input data stream
-
-       streamOut       : inout AxisStream := AxisOutput        --! Output data stream
-);
-end component;
-
-component AxisStreamDeMux is
-port (
-       clk             : in std_logic;                         --! The interface clock line
-       reset           : in std_logic;                         --! The active high reset line
-       
-       streamIn        : inout AxisStream := AxisInput;        --! Input data stream
-
-       streamOut1      : inout AxisStream := AxisOutput;       --! Output data stream1
-       streamOut2      : inout AxisStream := AxisOutput        --! Output data stream2
-);
-end component;
-
-constant TCQ           : time := 1 ns;
-constant CHUNK_SIZE    : integer := 32;                        -- The data write chunk size in DWords due to PCIe packet size limitations
-
-signal clk             : std_logic := '0';
-signal reset           : std_logic := '0';
-
-signal axil            : AxilBus;
-signal hostSend                : AxisStream    := AxisOutput;
-signal hostRecv                : AxisStream    := AxisInput;
-
-signal leds            : std_logic_vector(3 downto 0);
-
-signal hostReply       : AxisStream    := AxisInput;
-signal hostReq         : AxisStream    := AxisOutput;
-signal nvmeReq         : AxisStream    := AxisOutput;
-signal nvmeReply       : AxisStream    := AxisInput;
-
-type NvmeStateType is (NVME_STATE_IDLE, NVME_STATE_WRITEDATA_START, NVME_STATE_WRITEDATA);
-signal nvmeState       : NvmeStateType := NVME_STATE_IDLE;
-signal nvmeRequestHead : PcieRequestHead;
-signal nvmeRequestHead1        : PcieRequestHead;
-signal nvmeReplyHead   : PcieReplyHead;
-signal nvmeCount       : unsigned(10 downto 0);                        -- DWord data send count
-signal nvmeChunkCount  : unsigned(10 downto 0);                        -- DWord data send within a chunk count
-signal nvmeByteCount   : integer;
-signal nvmeData                : std_logic_vector(127 downto 0);
-
-signal sendData                : std_logic := '0';
-
-procedure pcieWrite(signal toSlave: inout AxisStream; config: in integer; address: in integer; tag: in integer; data: in integer) is
-variable packetHead    : PcieRequestHead;
-begin
-       packetHead.nvme := to_unsigned(0, packetHead.nvme'length);
-       packetHead.stream := to_unsigned(0, packetHead.stream'length);
-       packetHead.address := to_stl(address, packetHead.address'length);
-       packetHead.tag := to_stl(tag, packetHead.tag'length);
-       packetHead.count := to_unsigned(0, packetHead.count'length);
-       
-       if(config = 1) then
-               packetHead.request := to_unsigned(10, packetHead.request'length);
-       else
-               packetHead.request := to_unsigned(1, packetHead.request'length);
-       end if;
-
-       -- Write address
-       wait until rising_edge(clk);
-       toSlave.data <= to_stl(packetHead);
-       toSlave.valid <= '1';
-
-       wait until rising_edge(clk) and (toSlave.ready = '1');
-       toSlave.data <= to_stl(0, 96) & to_stl(data, 32);
-       toSlave.valid <= '1';
-       toSlave.last <= '1';
-       
-       wait until rising_edge(clk) and (toSlave.ready = '1');
-       toSlave.valid <= '0';
-       toSlave.last <= '0';
-end procedure;
-
-begin
-       nvmeStorage0 : NvmeStorage
-       port map (
-               clk             => clk,
-               reset           => reset,
-
-               axilIn          => axil.toSlave,
-               axilOut         => axil.toMaster,
-
-               hostSend        => hostSend,
-               hostRecv        => hostRecv,
-
-               -- NVMe interface
-               nvme_clk_p      => '0',
-               nvme_clk_n      => '0',
-               --nvme0_exp_txp : out std_logic_vector(0 downto 0);
-               --nvme0_exp_txn : out std_logic_vector(0 downto 0);
-               nvme0_exp_rxp   => "0000",
-               nvme0_exp_rxn   => "0000",
-
-               leds            => leds
-       );
-
-       clock : process
-       begin
-               wait for 5 ns; clk  <= not clk;
-       end process clock;
-
-       init : process
-       begin
-               reset   <= '1';
-               wait for 20 ns;
-               reset   <= '0';
-               wait;
-       end process;
-       
-       run : process
-       begin
-               wait until reset = '0';
-               
-               -- Set PCIe configuration command register to 0x06
-               --pcieWrite(hostReq, 1, 4, 1, 6);
-               
-               -- Write to AdminQueue doorbell register
-               pcieWrite(hostReq, 0, 16#1000#, 16#22#, 16#40#);
-
-               -- Perfoem NVMe wdata write
-               -- Write to DataWriteQueue doorbell register
-               --pcieWrite(hostReq, 0, 16#1008#, 16#23#, 16#40#);
-               wait;
-       end process;
-       
-       -- Host to Nvme stream Mux
-       axisMux0 : AxisStreamMux
-       port map (
-               clk             => clk,
-               reset           => reset,
-
-               streamIn1       => hostReq,
-               streamIn2       => nvmeReply,
-
-               streamOut       => hostSend
-       );
-
-       -- Nvme to Host stream DeMux
-       axisDeMux0 : AxisStreamDeMux
-       port map (
-               clk             => clk,
-               reset           => reset,
-
-               streamIn        => hostRecv,
-
-               streamOut1      => hostReply,
-               streamOut2      => nvmeReq
-       );
-       
-       nvmeRequestHead <= to_PcieRequestHead(nvmeReq.data);
-       nvmeReply.data <= nvmeData when(nvmeState = NVME_STATE_WRITEDATA) else to_stl(nvmeReplyHead);
-       
-       requests : process(clk)
-       begin
-               if(rising_edge(clk)) then
-                       if(reset = '1') then
-                               nvmeReq.ready   <= '0';
-                               nvmeReply.valid <= '0';
-                               nvmeReply.last  <= '0';
-                               nvmeData        <= (others => '0');
-                               nvmeState       <= NVME_STATE_IDLE;
-                       else
-                               case (nvmeState) is
-                               when NVME_STATE_IDLE =>
-                                       if(nvmeReq.ready = '1' and nvmeReq.valid = '1') then
-                                               nvmeRequestHead1        <= nvmeRequestHead;
-                                               nvmeCount               <= nvmeRequestHead.count + 1;
-                                               nvmeState               <= NVME_STATE_WRITEDATA_START;
-                                               nvmeReq.ready           <= '0';
-                                       else
-                                               nvmeReq.ready           <= '1';
-                                       end if;
-
-                               when NVME_STATE_WRITEDATA_START =>
-                                       nvmeReplyHead.byteCount <= (nvmeRequestHead1.count + 1) & "00";
-                                       nvmeReplyHead.address   <= nvmeRequestHead1.address(nvmeReplyHead.address'length - 1 downto 0);
-                                       nvmeReplyHead.error     <= (others => '0');
-                                       nvmeReplyHead.status    <= (others => '0');
-                                       nvmeReplyHead.tag       <= nvmeRequestHead1.tag;
-
-                                       if(nvmeCount > CHUNK_SIZE) then
-                                               nvmeReplyHead.count     <= to_unsigned(CHUNK_SIZE-1, nvmeReplyHead.count'length);
-                                               nvmeChunkCount          <= to_unsigned(CHUNK_SIZE, nvmeReplyHead.count'length);
-                                       else
-                                               nvmeReplyHead.count     <= nvmeCount - 1;
-                                               nvmeChunkCount          <= nvmeCount;
-                                       end if;
-
-                                       nvmeByteCount           <= (to_integer(nvmeRequestHead1.count) + 1) * 4;
-                                       nvmeReply.valid         <= '1';
-
-                                       if(nvmeReply.ready = '1' and nvmeReply.valid = '1') then
-                                               nvmeData        <= std_logic_vector(unsigned(nvmeData) + 1);
-                                               nvmeState       <= NVME_STATE_WRITEDATA;
-                                       end if;
-
-                               when NVME_STATE_WRITEDATA =>
-                                       if(nvmeReply.ready = '1' and nvmeReply.valid = '1') then
-                                               nvmeData        <= std_logic_vector(unsigned(nvmeData) + 1);
-                                               if(nvmeChunkCount = 4) then
-                                                       if(nvmeCount = 4) then
-                                                               nvmeReply.valid <= '0';
-                                                               nvmeReply.last  <= '0';
-                                                               nvmeState       <= NVME_STATE_IDLE;
-                                                       else
-                                                               nvmeReply.last  <= '0';
-                                                               nvmeState       <= NVME_STATE_WRITEDATA_START;
-                                                       end if;
-                                               elsif(nvmeChunkCount = 8) then
-                                                       nvmeReply.last <= '1';
-                                               else
-                                                       nvmeReply.last <= '0';
-                                               end if;
-                                               nvmeChunkCount  <= nvmeChunkCount - 4;
-                                               nvmeCount       <= nvmeCount - 4;
-                                       end if;
-                               end case;
-                       end if;
-               end if;
-       end process;
-
-       stop : process
-       begin
-               wait for 700 ns;
-               assert false report "simulation ended ok" severity failure;
-       end process;
-end;
diff --git a/source/DuneNvmeTest/sim/testbench/test008-nvmeconfig.sav b/source/DuneNvmeTest/sim/testbench/test008-nvmeconfig.sav
deleted file mode 100644 (file)
index 2d9ff80..0000000
+++ /dev/null
@@ -1,49 +0,0 @@
-[*]
-[*] GTKWave Analyzer v3.3.104 (w)1999-2020 BSI
-[*] Tue Apr 14 09:00:12 2020
-[*]
-[dumpfile] "/src/dune/FpgaPlay/test012-hostnvme/sim/simu/test.ghw"
-[dumpfile_mtime] "Tue Apr 14 08:52:08 2020"
-[dumpfile_size] 26370
-[savefile] "/src/dune/FpgaPlay/test012-hostnvme/sim/testbench/test008-nvmeconfig.sav"
-[timestart] 74200000
-[size] 1920 1051
-[pos] -1 -1
-*-25.411741 168800000 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1
-[treeopen] top.
-[treeopen] top.test.
-[treeopen] top.test.nvmestorage0.
-[treeopen] top.test.nvmestorage0.gen02.
-[treeopen] top.test.nvmestorage0.gen02.nvmeconfig0.
-[treeopen] top.test.nvmestorage0.gen02.nvmeconfig0.nvmesend.
-[treeopen] top.test.nvmestorage0.sim.
-[treeopen] top.test.nvmestorage0.sim.nvmesim0.
-[sst_width] 349
-[signals_width] 471
-[sst_expanded] 1
-[sst_vpaned_height] 515
-@28
-top.test.clk
-top.test.reset
-top.test.nvmestorage0.gen02.nvmeconfig0.configstart
-top.test.nvmestorage0.gen02.nvmeconfig0.configcomplete
-@420
-top.test.nvmestorage0.gen02.nvmeconfig0.state
-@28
-top.test.nvmestorage0.gen02.nvmeconfig0.nvmesend.ready
-top.test.nvmestorage0.gen02.nvmeconfig0.nvmesend.valid
-top.test.nvmestorage0.gen02.nvmeconfig0.nvmesend.last
-@23
-#{top.test.nvmestorage0.gen02.nvmeconfig0.nvmesend.keep[15:0]} top.test.nvmestorage0.gen02.nvmeconfig0.nvmesend.keep[15] top.test.nvmestorage0.gen02.nvmeconfig0.nvmesend.keep[14] top.test.nvmestorage0.gen02.nvmeconfig0.nvmesend.keep[13] top.test.nvmestorage0.gen02.nvmeconfig0.nvmesend.keep[12] top.test.nvmestorage0.gen02.nvmeconfig0.nvmesend.keep[11] top.test.nvmestorage0.gen02.nvmeconfig0.nvmesend.keep[10] top.test.nvmestorage0.gen02.nvmeconfig0.nvmesend.keep[9] top.test.nvmestorage0.gen02.nvmeconfig0.nvmesend.keep[8] top.test.nvmestorage0.gen02.nvmeconfig0.nvmesend.keep[7] top.test.nvmestorage0.gen02.nvmeconfig0.nvmesend.keep[6] top.test.nvmestorage0.gen02.nvmeconfig0.nvmesend.keep[5] top.test.nvmestorage0.gen02.nvmeconfig0.nvmesend.keep[4] top.test.nvmestorage0.gen02.nvmeconfig0.nvmesend.keep[3] top.test.nvmestorage0.gen02.nvmeconfig0.nvmesend.keep[2] top.test.nvmestorage0.gen02.nvmeconfig0.nvmesend.keep[1] top.test.nvmestorage0.gen02.nvmeconfig0.nvmesend.keep[0]
-@22
-#{top.test.nvmestorage0.gen02.nvmeconfig0.nvmesend.data[127:0]} top.test.nvmestorage0.gen02.nvmeconfig0.nvmesend.data[127] top.test.nvmestorage0.gen02.nvmeconfig0.nvmesend.data[126] top.test.nvmestorage0.gen02.nvmeconfig0.nvmesend.data[125] top.test.nvmestorage0.gen02.nvmeconfig0.nvmesend.data[124] top.test.nvmestorage0.gen02.nvmeconfig0.nvmesend.data[123] top.test.nvmestorage0.gen02.nvmeconfig0.nvmesend.data[122] top.test.nvmestorage0.gen02.nvmeconfig0.nvmesend.data[121] top.test.nvmestorage0.gen02.nvmeconfig0.nvmesend.data[120] top.test.nvmestorage0.gen02.nvmeconfig0.nvmesend.data[119] top.test.nvmestorage0.gen02.nvmeconfig0.nvmesend.data[118] top.test.nvmestorage0.gen02.nvmeconfig0.nvmesend.data[117] top.test.nvmestorage0.gen02.nvmeconfig0.nvmesend.data[116] top.test.nvmestorage0.gen02.nvmeconfig0.nvmesend.data[115] top.test.nvmestorage0.gen02.nvmeconfig0.nvmesend.data[114] top.test.nvmestorage0.gen02.nvmeconfig0.nvmesend.data[113] top.test.nvmestorage0.gen02.nvmeconfig0.nvmesend.data[112] top.test.nvmestorage0.gen02.nvmeconfig0.nvmesend.data[111] top.test.nvmestorage0.gen02.nvmeconfig0.nvmesend.data[110] top.test.nvmestorage0.gen02.nvmeconfig0.nvmesend.data[109] top.test.nvmestorage0.gen02.nvmeconfig0.nvmesend.data[108] top.test.nvmestorage0.gen02.nvmeconfig0.nvmesend.data[107] top.test.nvmestorage0.gen02.nvmeconfig0.nvmesend.data[106] top.test.nvmestorage0.gen02.nvmeconfig0.nvmesend.data[105] top.test.nvmestorage0.gen02.nvmeconfig0.nvmesend.data[104] top.test.nvmestorage0.gen02.nvmeconfig0.nvmesend.data[103] top.test.nvmestorage0.gen02.nvmeconfig0.nvmesend.data[102] top.test.nvmestorage0.gen02.nvmeconfig0.nvmesend.data[101] top.test.nvmestorage0.gen02.nvmeconfig0.nvmesend.data[100] top.test.nvmestorage0.gen02.nvmeconfig0.nvmesend.data[99] top.test.nvmestorage0.gen02.nvmeconfig0.nvmesend.data[98] top.test.nvmestorage0.gen02.nvmeconfig0.nvmesend.data[97] top.test.nvmestorage0.gen02.nvmeconfig0.nvmesend.data[96] top.test.nvmestorage0.gen02.nvmeconfig0.nvmesend.data[95] top.test.nvmestorage0.gen02.nvmeconfig0.nvmesend.data[94] top.test.nvmestorage0.gen02.nvmeconfig0.nvmesend.data[93] top.test.nvmestorage0.gen02.nvmeconfig0.nvmesend.data[92] top.test.nvmestorage0.gen02.nvmeconfig0.nvmesend.data[91] top.test.nvmestorage0.gen02.nvmeconfig0.nvmesend.data[90] top.test.nvmestorage0.gen02.nvmeconfig0.nvmesend.data[89] top.test.nvmestorage0.gen02.nvmeconfig0.nvmesend.data[88] top.test.nvmestorage0.gen02.nvmeconfig0.nvmesend.data[87] top.test.nvmestorage0.gen02.nvmeconfig0.nvmesend.data[86] top.test.nvmestorage0.gen02.nvmeconfig0.nvmesend.data[85] top.test.nvmestorage0.gen02.nvmeconfig0.nvmesend.data[84] top.test.nvmestorage0.gen02.nvmeconfig0.nvmesend.data[83] top.test.nvmestorage0.gen02.nvmeconfig0.nvmesend.data[82] top.test.nvmestorage0.gen02.nvmeconfig0.nvmesend.data[81] top.test.nvmestorage0.gen02.nvmeconfig0.nvmesend.data[80] top.test.nvmestorage0.gen02.nvmeconfig0.nvmesend.data[79] top.test.nvmestorage0.gen02.nvmeconfig0.nvmesend.data[78] top.test.nvmestorage0.gen02.nvmeconfig0.nvmesend.data[77] top.test.nvmestorage0.gen02.nvmeconfig0.nvmesend.data[76] top.test.nvmestorage0.gen02.nvmeconfig0.nvmesend.data[75] top.test.nvmestorage0.gen02.nvmeconfig0.nvmesend.data[74] top.test.nvmestorage0.gen02.nvmeconfig0.nvmesend.data[73] top.test.nvmestorage0.gen02.nvmeconfig0.nvmesend.data[72] top.test.nvmestorage0.gen02.nvmeconfig0.nvmesend.data[71] top.test.nvmestorage0.gen02.nvmeconfig0.nvmesend.data[70] top.test.nvmestorage0.gen02.nvmeconfig0.nvmesend.data[69] top.test.nvmestorage0.gen02.nvmeconfig0.nvmesend.data[68] top.test.nvmestorage0.gen02.nvmeconfig0.nvmesend.data[67] top.test.nvmestorage0.gen02.nvmeconfig0.nvmesend.data[66] top.test.nvmestorage0.gen02.nvmeconfig0.nvmesend.data[65] top.test.nvmestorage0.gen02.nvmeconfig0.nvmesend.data[64] top.test.nvmestorage0.gen02.nvmeconfig0.nvmesend.data[63] top.test.nvmestorage0.gen02.nvmeconfig0.nvmesend.data[62] top.test.nvmestorage0.gen02.nvmeconfig0.nvmesend.data[61] top.test.nvmestorage0.gen02.nvmeconfig0.nvmesend.data[60] top.test.nvmestorage0.gen02.nvmeconfig0.nvmesend.data[59] top.test.nvmestorage0.gen02.nvmeconfig0.nvmesend.data[58] top.test.nvmestorage0.gen02.nvmeconfig0.nvmesend.data[57] top.test.nvmestorage0.gen02.nvmeconfig0.nvmesend.data[56] top.test.nvmestorage0.gen02.nvmeconfig0.nvmesend.data[55] top.test.nvmestorage0.gen02.nvmeconfig0.nvmesend.data[54] top.test.nvmestorage0.gen02.nvmeconfig0.nvmesend.data[53] top.test.nvmestorage0.gen02.nvmeconfig0.nvmesend.data[52] top.test.nvmestorage0.gen02.nvmeconfig0.nvmesend.data[51] top.test.nvmestorage0.gen02.nvmeconfig0.nvmesend.data[50] top.test.nvmestorage0.gen02.nvmeconfig0.nvmesend.data[49] top.test.nvmestorage0.gen02.nvmeconfig0.nvmesend.data[48] top.test.nvmestorage0.gen02.nvmeconfig0.nvmesend.data[47] top.test.nvmestorage0.gen02.nvmeconfig0.nvmesend.data[46] top.test.nvmestorage0.gen02.nvmeconfig0.nvmesend.data[45] top.test.nvmestorage0.gen02.nvmeconfig0.nvmesend.data[44] top.test.nvmestorage0.gen02.nvmeconfig0.nvmesend.data[43] top.test.nvmestorage0.gen02.nvmeconfig0.nvmesend.data[42] top.test.nvmestorage0.gen02.nvmeconfig0.nvmesend.data[41] top.test.nvmestorage0.gen02.nvmeconfig0.nvmesend.data[40] top.test.nvmestorage0.gen02.nvmeconfig0.nvmesend.data[39] top.test.nvmestorage0.gen02.nvmeconfig0.nvmesend.data[38] top.test.nvmestorage0.gen02.nvmeconfig0.nvmesend.data[37] top.test.nvmestorage0.gen02.nvmeconfig0.nvmesend.data[36] top.test.nvmestorage0.gen02.nvmeconfig0.nvmesend.data[35] top.test.nvmestorage0.gen02.nvmeconfig0.nvmesend.data[34] top.test.nvmestorage0.gen02.nvmeconfig0.nvmesend.data[33] top.test.nvmestorage0.gen02.nvmeconfig0.nvmesend.data[32] top.test.nvmestorage0.gen02.nvmeconfig0.nvmesend.data[31] top.test.nvmestorage0.gen02.nvmeconfig0.nvmesend.data[30] top.test.nvmestorage0.gen02.nvmeconfig0.nvmesend.data[29] top.test.nvmestorage0.gen02.nvmeconfig0.nvmesend.data[28] top.test.nvmestorage0.gen02.nvmeconfig0.nvmesend.data[27] top.test.nvmestorage0.gen02.nvmeconfig0.nvmesend.data[26] top.test.nvmestorage0.gen02.nvmeconfig0.nvmesend.data[25] top.test.nvmestorage0.gen02.nvmeconfig0.nvmesend.data[24] top.test.nvmestorage0.gen02.nvmeconfig0.nvmesend.data[23] top.test.nvmestorage0.gen02.nvmeconfig0.nvmesend.data[22] top.test.nvmestorage0.gen02.nvmeconfig0.nvmesend.data[21] top.test.nvmestorage0.gen02.nvmeconfig0.nvmesend.data[20] top.test.nvmestorage0.gen02.nvmeconfig0.nvmesend.data[19] top.test.nvmestorage0.gen02.nvmeconfig0.nvmesend.data[18] top.test.nvmestorage0.gen02.nvmeconfig0.nvmesend.data[17] top.test.nvmestorage0.gen02.nvmeconfig0.nvmesend.data[16] top.test.nvmestorage0.gen02.nvmeconfig0.nvmesend.data[15] top.test.nvmestorage0.gen02.nvmeconfig0.nvmesend.data[14] top.test.nvmestorage0.gen02.nvmeconfig0.nvmesend.data[13] top.test.nvmestorage0.gen02.nvmeconfig0.nvmesend.data[12] top.test.nvmestorage0.gen02.nvmeconfig0.nvmesend.data[11] top.test.nvmestorage0.gen02.nvmeconfig0.nvmesend.data[10] top.test.nvmestorage0.gen02.nvmeconfig0.nvmesend.data[9] top.test.nvmestorage0.gen02.nvmeconfig0.nvmesend.data[8] top.test.nvmestorage0.gen02.nvmeconfig0.nvmesend.data[7] top.test.nvmestorage0.gen02.nvmeconfig0.nvmesend.data[6] top.test.nvmestorage0.gen02.nvmeconfig0.nvmesend.data[5] top.test.nvmestorage0.gen02.nvmeconfig0.nvmesend.data[4] top.test.nvmestorage0.gen02.nvmeconfig0.nvmesend.data[3] top.test.nvmestorage0.gen02.nvmeconfig0.nvmesend.data[2] top.test.nvmestorage0.gen02.nvmeconfig0.nvmesend.data[1] top.test.nvmestorage0.gen02.nvmeconfig0.nvmesend.data[0]
-@420
-top.test.nvmestorage0.sim.nvmesim0.state
-@22
-#{top.test.nvmestorage0.sim.nvmesim0.reg_pci_command[31:0]} top.test.nvmestorage0.sim.nvmesim0.reg_pci_command[31] top.test.nvmestorage0.sim.nvmesim0.reg_pci_command[30] top.test.nvmestorage0.sim.nvmesim0.reg_pci_command[29] top.test.nvmestorage0.sim.nvmesim0.reg_pci_command[28] top.test.nvmestorage0.sim.nvmesim0.reg_pci_command[27] top.test.nvmestorage0.sim.nvmesim0.reg_pci_command[26] top.test.nvmestorage0.sim.nvmesim0.reg_pci_command[25] top.test.nvmestorage0.sim.nvmesim0.reg_pci_command[24] top.test.nvmestorage0.sim.nvmesim0.reg_pci_command[23] top.test.nvmestorage0.sim.nvmesim0.reg_pci_command[22] top.test.nvmestorage0.sim.nvmesim0.reg_pci_command[21] top.test.nvmestorage0.sim.nvmesim0.reg_pci_command[20] top.test.nvmestorage0.sim.nvmesim0.reg_pci_command[19] top.test.nvmestorage0.sim.nvmesim0.reg_pci_command[18] top.test.nvmestorage0.sim.nvmesim0.reg_pci_command[17] top.test.nvmestorage0.sim.nvmesim0.reg_pci_command[16] top.test.nvmestorage0.sim.nvmesim0.reg_pci_command[15] top.test.nvmestorage0.sim.nvmesim0.reg_pci_command[14] top.test.nvmestorage0.sim.nvmesim0.reg_pci_command[13] top.test.nvmestorage0.sim.nvmesim0.reg_pci_command[12] top.test.nvmestorage0.sim.nvmesim0.reg_pci_command[11] top.test.nvmestorage0.sim.nvmesim0.reg_pci_command[10] top.test.nvmestorage0.sim.nvmesim0.reg_pci_command[9] top.test.nvmestorage0.sim.nvmesim0.reg_pci_command[8] top.test.nvmestorage0.sim.nvmesim0.reg_pci_command[7] top.test.nvmestorage0.sim.nvmesim0.reg_pci_command[6] top.test.nvmestorage0.sim.nvmesim0.reg_pci_command[5] top.test.nvmestorage0.sim.nvmesim0.reg_pci_command[4] top.test.nvmestorage0.sim.nvmesim0.reg_pci_command[3] top.test.nvmestorage0.sim.nvmesim0.reg_pci_command[2] top.test.nvmestorage0.sim.nvmesim0.reg_pci_command[1] top.test.nvmestorage0.sim.nvmesim0.reg_pci_command[0]
-@420
-top.test.nvmestorage0.gen02.nvmeconfig0.count
-@22
-#{top.test.nvmestorage0.gen02.nvmeconfig0.numwords[10:0]} top.test.nvmestorage0.gen02.nvmeconfig0.numwords[10] top.test.nvmestorage0.gen02.nvmeconfig0.numwords[9] top.test.nvmestorage0.gen02.nvmeconfig0.numwords[8] top.test.nvmestorage0.gen02.nvmeconfig0.numwords[7] top.test.nvmestorage0.gen02.nvmeconfig0.numwords[6] top.test.nvmestorage0.gen02.nvmeconfig0.numwords[5] top.test.nvmestorage0.gen02.nvmeconfig0.numwords[4] top.test.nvmestorage0.gen02.nvmeconfig0.numwords[3] top.test.nvmestorage0.gen02.nvmeconfig0.numwords[2] top.test.nvmestorage0.gen02.nvmeconfig0.numwords[1] top.test.nvmestorage0.gen02.nvmeconfig0.numwords[0]
-[pattern_trace] 1
-[pattern_trace] 0
diff --git a/source/DuneNvmeTest/sim/testbench/test008-nvmeconfig.vhd b/source/DuneNvmeTest/sim/testbench/test008-nvmeconfig.vhd
deleted file mode 100644 (file)
index 2a40c71..0000000
+++ /dev/null
@@ -1,296 +0,0 @@
---------------------------------------------------------------------------------
---     Test008-nvmeconfig.vhd  Simple nvme interface tests
---     T.Barnaby,      Beam Ltd.       2020-04-14
---------------------------------------------------------------------------------
---
---
---
-library ieee ;
-use ieee.std_logic_1164.all;
-use ieee.numeric_std.all;
---use ieee.std_logic_unsigned.all;
---use ieee.std_logic_arith.all;
---use ieee.std_logic_misc.all;
---use ieee.std_logic_textio.all;
---use std.textio.all; 
-
-library work;
-use work.AxiPkg.all;
-use work.NvmeStoragePkg.all;
-
-entity Test is
-end;
-
-architecture sim of Test is
-
-component NvmeStorage is
-generic(
-       Simulate        : boolean       := True;
-       Divider         : integer       := 5000000
-);
-port (
-       clk             : in std_logic;                         --! The interface clock line
-       reset           : in std_logic;                         --! The active high reset line
-
-       -- Control and status interface
-       axilIn          : in AxilToSlave;                       --! Axil bus input signals
-       axilOut         : out AxilToMaster;                     --! Axil bus output signals
-
-       -- From host to NVMe request/reply streams
-       hostSend        : inout AxisStream := AxisInput;        --! Host request stream
-       hostRecv        : inout AxisStream := AxisOutput;       --! Host reply stream
-
-       -- AXIS data stream input
-       --dataRx        : inout AxisStream      := AxisInput;   --! Raw data to save stream
-
-       -- NVMe interface
-       nvme_clk_p      : in std_logic;                         --! Nvme external clock +ve
-       nvme_clk_n      : in std_logic;                         --! Nvme external clock -ve
-       nvme_reset_n    : out std_logic;                        --! Nvme reset output to reset NVMe devices
-       nvme0_exp_txp   : out std_logic_vector(3 downto 0);     --! Nvme0 PCIe TX plus lanes
-       nvme0_exp_txn   : out std_logic_vector(3 downto 0);     --! Nvme0 PCIe TX minus lanes
-       nvme0_exp_rxp   : in std_logic_vector(3 downto 0);      --! Nvme0 PCIe RX plus lanes
-       nvme0_exp_rxn   : in std_logic_vector(3 downto 0);      --! Nvme0 PCIe RX minus lanes
-
-       -- Debug
-       leds            : out std_logic_vector(3 downto 0)
-);
-end component;
-
-component AxisStreamMux is
-port (
-       clk             : in std_logic;                         --! The interface clock line
-       reset           : in std_logic;                         --! The active high reset line
-       
-       streamIn1       : inout AxisStream := AxisInput;        --! Input data stream
-       streamIn2       : inout AxisStream := AxisInput;        --! Input data stream
-
-       streamOut       : inout AxisStream := AxisOutput        --! Output data stream
-);
-end component;
-
-component AxisStreamDeMux is
-port (
-       clk             : in std_logic;                         --! The interface clock line
-       reset           : in std_logic;                         --! The active high reset line
-       
-       streamIn        : inout AxisStream := AxisInput;        --! Input data stream
-
-       streamOut1      : inout AxisStream := AxisOutput;       --! Output data stream1
-       streamOut2      : inout AxisStream := AxisOutput        --! Output data stream2
-);
-end component;
-
-constant TCQ           : time := 1 ns;
-constant CHUNK_SIZE    : integer := 32;                        -- The data write chunk size in DWords due to PCIe packet size limitations
-
-signal clk             : std_logic := '0';
-signal reset           : std_logic := '0';
-
-signal axil            : AxilBus;
-signal hostSend                : AxisStream    := AxisOutput;
-signal hostRecv                : AxisStream    := AxisInput;
-
-signal leds            : std_logic_vector(3 downto 0);
-
-signal hostReply       : AxisStream    := AxisInput;
-signal hostReq         : AxisStream    := AxisOutput;
-signal nvmeReq         : AxisStream    := AxisOutput;
-signal nvmeReply       : AxisStream    := AxisInput;
-
-type NvmeStateType is (NVME_STATE_IDLE, NVME_STATE_WRITEDATA_START, NVME_STATE_WRITEDATA);
-signal nvmeState       : NvmeStateType := NVME_STATE_IDLE;
-signal nvmeRequestHead : PcieRequestHead;
-signal nvmeRequestHead1        : PcieRequestHead;
-signal nvmeReplyHead   : PcieReplyHead;
-signal nvmeCount       : unsigned(10 downto 0);                        -- DWord data send count
-signal nvmeChunkCount  : unsigned(10 downto 0);                        -- DWord data send within a chunk count
-signal nvmeByteCount   : integer;
-signal nvmeData                : std_logic_vector(127 downto 0);
-
-signal sendData                : std_logic := '0';
-
-procedure pcieWrite(signal toSlave: inout AxisStream; config: in integer; address: in integer; tag: in integer; data: in integer) is
-variable packetHead    : PcieRequestHead;
-begin
-       packetHead.nvme := to_unsigned(0, packetHead.nvme'length);
-       packetHead.stream := to_unsigned(0, packetHead.stream'length);
-       packetHead.address := to_unsigned(address, packetHead.address'length);
-       packetHead.tag := to_unsigned(tag, packetHead.tag'length);
-       packetHead.count := to_unsigned(0, packetHead.count'length);
-       
-       if(config = 1) then
-               packetHead.request := to_unsigned(10, packetHead.request'length);
-       else
-               packetHead.request := to_unsigned(1, packetHead.request'length);
-       end if;
-
-       -- Write address
-       wait until rising_edge(clk);
-       toSlave.data <= to_stl(packetHead);
-       toSlave.valid <= '1';
-
-       wait until rising_edge(clk) and (toSlave.ready = '1');
-       toSlave.data <= to_stl(0, 96) & to_stl(data, 32);
-       toSlave.valid <= '1';
-       toSlave.last <= '1';
-       
-       wait until rising_edge(clk) and (toSlave.ready = '1');
-       toSlave.valid <= '0';
-       toSlave.last <= '0';
-end procedure;
-
-begin
-       nvmeStorage0 : NvmeStorage
-       port map (
-               clk             => clk,
-               reset           => reset,
-
-               axilIn          => axil.toSlave,
-               axilOut         => axil.toMaster,
-
-               hostSend        => hostSend,
-               hostRecv        => hostRecv,
-
-               -- NVMe interface
-               nvme_clk_p      => '0',
-               nvme_clk_n      => '0',
-               --nvme0_exp_txp : out std_logic_vector(0 downto 0);
-               --nvme0_exp_txn : out std_logic_vector(0 downto 0);
-               nvme0_exp_rxp   => "0000",
-               nvme0_exp_rxn   => "0000",
-
-               leds            => leds
-       );
-
-       clock : process
-       begin
-               wait for 5 ns; clk  <= not clk;
-       end process clock;
-
-       init : process
-       begin
-               reset   <= '1';
-               wait for 20 ns;
-               reset   <= '0';
-               wait;
-       end process;
-       
-       run : process
-       begin
-               wait until reset = '0';
-               
-               -- Set PCIe configuration command register to 0x06
-               --pcieWrite(hostReq, 1, 4, 1, 6);
-               
-               -- Write to AdminQueue doorbell register
-               --pcieWrite(hostReq, 0, 16#1000#, 16#22#, 16#40#);
-
-               -- Perfoem NVMe wdata write
-               -- Write to DataWriteQueue doorbell register
-               --pcieWrite(hostReq, 0, 16#1008#, 16#23#, 16#40#);
-               wait;
-       end process;
-       
-       -- Host to Nvme stream Mux
-       axisMux0 : AxisStreamMux
-       port map (
-               clk             => clk,
-               reset           => reset,
-
-               streamIn1       => hostReq,
-               streamIn2       => nvmeReply,
-
-               streamOut       => hostSend
-       );
-
-       -- Nvme to Host stream DeMux
-       axisDeMux0 : AxisStreamDeMux
-       port map (
-               clk             => clk,
-               reset           => reset,
-
-               streamIn        => hostRecv,
-
-               streamOut1      => hostReply,
-               streamOut2      => nvmeReq
-       );
-       
-       nvmeRequestHead <= to_PcieRequestHead(nvmeReq.data);
-       nvmeReply.data <= nvmeData when(nvmeState = NVME_STATE_WRITEDATA) else to_stl(nvmeReplyHead);
-       
-       requests : process(clk)
-       begin
-               if(rising_edge(clk)) then
-                       if(reset = '1') then
-                               nvmeReq.ready   <= '0';
-                               nvmeReply.valid <= '0';
-                               nvmeReply.last  <= '0';
-                               nvmeData        <= (others => '0');
-                               nvmeState       <= NVME_STATE_IDLE;
-                       else
-                               case (nvmeState) is
-                               when NVME_STATE_IDLE =>
-                                       if(nvmeReq.ready = '1' and nvmeReq.valid = '1') then
-                                               nvmeRequestHead1        <= nvmeRequestHead;
-                                               nvmeCount               <= nvmeRequestHead.count + 1;
-                                               nvmeState               <= NVME_STATE_WRITEDATA_START;
-                                               nvmeReq.ready           <= '0';
-                                       else
-                                               nvmeReq.ready           <= '1';
-                                       end if;
-
-                               when NVME_STATE_WRITEDATA_START =>
-                                       nvmeReplyHead.byteCount <= (nvmeRequestHead1.count + 1) & "00";
-                                       nvmeReplyHead.address   <= nvmeRequestHead1.address(nvmeReplyHead.address'length - 1 downto 0);
-                                       nvmeReplyHead.error     <= (others => '0');
-                                       nvmeReplyHead.status    <= (others => '0');
-                                       nvmeReplyHead.tag       <= nvmeRequestHead1.tag;
-
-                                       if(nvmeCount > CHUNK_SIZE) then
-                                               nvmeReplyHead.count     <= to_unsigned(CHUNK_SIZE-1, nvmeReplyHead.count'length);
-                                               nvmeChunkCount          <= to_unsigned(CHUNK_SIZE, nvmeReplyHead.count'length);
-                                       else
-                                               nvmeReplyHead.count     <= nvmeCount - 1;
-                                               nvmeChunkCount          <= nvmeCount;
-                                       end if;
-
-                                       nvmeByteCount           <= (to_integer(nvmeRequestHead1.count) + 1) * 4;
-                                       nvmeReply.valid         <= '1';
-
-                                       if(nvmeReply.ready = '1' and nvmeReply.valid = '1') then
-                                               nvmeData        <= std_logic_vector(unsigned(nvmeData) + 1);
-                                               nvmeState       <= NVME_STATE_WRITEDATA;
-                                       end if;
-
-                               when NVME_STATE_WRITEDATA =>
-                                       if(nvmeReply.ready = '1' and nvmeReply.valid = '1') then
-                                               nvmeData        <= std_logic_vector(unsigned(nvmeData) + 1);
-                                               if(nvmeChunkCount = 4) then
-                                                       if(nvmeCount = 4) then
-                                                               nvmeReply.valid <= '0';
-                                                               nvmeReply.last  <= '0';
-                                                               nvmeState       <= NVME_STATE_IDLE;
-                                                       else
-                                                               nvmeReply.last  <= '0';
-                                                               nvmeState       <= NVME_STATE_WRITEDATA_START;
-                                                       end if;
-                                               elsif(nvmeChunkCount = 8) then
-                                                       nvmeReply.last <= '1';
-                                               else
-                                                       nvmeReply.last <= '0';
-                                               end if;
-                                               nvmeChunkCount  <= nvmeChunkCount - 4;
-                                               nvmeCount       <= nvmeCount - 4;
-                                       end if;
-                               end case;
-                       end if;
-               end if;
-       end process;
-
-       stop : process
-       begin
-               wait for 700 ns;
-               assert false report "simulation ended ok" severity failure;
-       end process;
-end;
diff --git a/source/DuneNvmeTest/sim/testbench/test009-packets.sav b/source/DuneNvmeTest/sim/testbench/test009-packets.sav
deleted file mode 100644 (file)
index e61c226..0000000
+++ /dev/null
@@ -1,113 +0,0 @@
-[*]
-[*] GTKWave Analyzer v3.3.104 (w)1999-2020 BSI
-[*] Fri Apr 17 15:36:18 2020
-[*]
-[dumpfile] "/src/dune/FpgaPlay/test015-nvmeprocess/sim/simu/test.ghw"
-[dumpfile_mtime] "Fri Apr 17 12:59:21 2020"
-[dumpfile_size] 30159
-[savefile] "/src/dune/FpgaPlay/test015-nvmeprocess/sim/testbench/test009-packets.sav"
-[timestart] 39000000
-[size] 1920 1051
-[pos] -1 -1
-*-24.411741 80200000 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1
-[treeopen] top.
-[treeopen] top.test.
-[treeopen] top.test.hostreply.
-[treeopen] top.test.hostreq.
-[treeopen] top.test.nvmereply.
-[treeopen] top.test.nvmereq.
-[treeopen] top.test.nvmestorageunit0.
-[treeopen] top.test.nvmestorageunit0.nvmestreammux0.
-[treeopen] top.test.nvmestorageunit0.nvmestreammux0.stream1in.
-[treeopen] top.test.nvmestorageunit0.nvmestreammux0.stream1out.
-[treeopen] top.test.nvmestorageunit0.nvmestreammux0.stream2in.
-[treeopen] top.test.nvmestorageunit0.nvmestreammux0.stream2out.
-[treeopen] top.test.nvmestorageunit0.nvmestreammux0.stream3in.
-[treeopen] top.test.nvmestorageunit0.nvmestreammux0.stream3out.
-[treeopen] top.test.nvmestorageunit0.hostrecv.
-[treeopen] top.test.nvmestorageunit0.hostsend.
-[treeopen] top.test.nvmestorageunit0.sim.nvmesim0.
-[treeopen] top.test.nvmestorageunit0.sim.nvmesim0.nvmereq.
-[treeopen] top.test.nvmestreammux0.
-[sst_width] 321
-[signals_width] 818
-[sst_expanded] 1
-[sst_vpaned_height] 589
-@28
-top.test.clk
-top.test.reset
-top.test.nvmestorageunit0.hostsend.ready
-top.test.nvmestorageunit0.hostsend.valid
-top.test.nvmestorageunit0.hostsend.last
-@22
-#{top.test.nvmestorageunit0.hostsend.data[127:0]} top.test.nvmestorageunit0.hostsend.data[127] top.test.nvmestorageunit0.hostsend.data[126] top.test.nvmestorageunit0.hostsend.data[125] top.test.nvmestorageunit0.hostsend.data[124] top.test.nvmestorageunit0.hostsend.data[123] top.test.nvmestorageunit0.hostsend.data[122] top.test.nvmestorageunit0.hostsend.data[121] top.test.nvmestorageunit0.hostsend.data[120] top.test.nvmestorageunit0.hostsend.data[119] top.test.nvmestorageunit0.hostsend.data[118] top.test.nvmestorageunit0.hostsend.data[117] top.test.nvmestorageunit0.hostsend.data[116] top.test.nvmestorageunit0.hostsend.data[115] top.test.nvmestorageunit0.hostsend.data[114] top.test.nvmestorageunit0.hostsend.data[113] top.test.nvmestorageunit0.hostsend.data[112] top.test.nvmestorageunit0.hostsend.data[111] top.test.nvmestorageunit0.hostsend.data[110] top.test.nvmestorageunit0.hostsend.data[109] top.test.nvmestorageunit0.hostsend.data[108] top.test.nvmestorageunit0.hostsend.data[107] top.test.nvmestorageunit0.hostsend.data[106] top.test.nvmestorageunit0.hostsend.data[105] top.test.nvmestorageunit0.hostsend.data[104] top.test.nvmestorageunit0.hostsend.data[103] top.test.nvmestorageunit0.hostsend.data[102] top.test.nvmestorageunit0.hostsend.data[101] top.test.nvmestorageunit0.hostsend.data[100] top.test.nvmestorageunit0.hostsend.data[99] top.test.nvmestorageunit0.hostsend.data[98] top.test.nvmestorageunit0.hostsend.data[97] top.test.nvmestorageunit0.hostsend.data[96] top.test.nvmestorageunit0.hostsend.data[95] top.test.nvmestorageunit0.hostsend.data[94] top.test.nvmestorageunit0.hostsend.data[93] top.test.nvmestorageunit0.hostsend.data[92] top.test.nvmestorageunit0.hostsend.data[91] top.test.nvmestorageunit0.hostsend.data[90] top.test.nvmestorageunit0.hostsend.data[89] top.test.nvmestorageunit0.hostsend.data[88] top.test.nvmestorageunit0.hostsend.data[87] top.test.nvmestorageunit0.hostsend.data[86] top.test.nvmestorageunit0.hostsend.data[85] top.test.nvmestorageunit0.hostsend.data[84] top.test.nvmestorageunit0.hostsend.data[83] top.test.nvmestorageunit0.hostsend.data[82] top.test.nvmestorageunit0.hostsend.data[81] top.test.nvmestorageunit0.hostsend.data[80] top.test.nvmestorageunit0.hostsend.data[79] top.test.nvmestorageunit0.hostsend.data[78] top.test.nvmestorageunit0.hostsend.data[77] top.test.nvmestorageunit0.hostsend.data[76] top.test.nvmestorageunit0.hostsend.data[75] top.test.nvmestorageunit0.hostsend.data[74] top.test.nvmestorageunit0.hostsend.data[73] top.test.nvmestorageunit0.hostsend.data[72] top.test.nvmestorageunit0.hostsend.data[71] top.test.nvmestorageunit0.hostsend.data[70] top.test.nvmestorageunit0.hostsend.data[69] top.test.nvmestorageunit0.hostsend.data[68] top.test.nvmestorageunit0.hostsend.data[67] top.test.nvmestorageunit0.hostsend.data[66] top.test.nvmestorageunit0.hostsend.data[65] top.test.nvmestorageunit0.hostsend.data[64] top.test.nvmestorageunit0.hostsend.data[63] top.test.nvmestorageunit0.hostsend.data[62] top.test.nvmestorageunit0.hostsend.data[61] top.test.nvmestorageunit0.hostsend.data[60] top.test.nvmestorageunit0.hostsend.data[59] top.test.nvmestorageunit0.hostsend.data[58] top.test.nvmestorageunit0.hostsend.data[57] top.test.nvmestorageunit0.hostsend.data[56] top.test.nvmestorageunit0.hostsend.data[55] top.test.nvmestorageunit0.hostsend.data[54] top.test.nvmestorageunit0.hostsend.data[53] top.test.nvmestorageunit0.hostsend.data[52] top.test.nvmestorageunit0.hostsend.data[51] top.test.nvmestorageunit0.hostsend.data[50] top.test.nvmestorageunit0.hostsend.data[49] top.test.nvmestorageunit0.hostsend.data[48] top.test.nvmestorageunit0.hostsend.data[47] top.test.nvmestorageunit0.hostsend.data[46] top.test.nvmestorageunit0.hostsend.data[45] top.test.nvmestorageunit0.hostsend.data[44] top.test.nvmestorageunit0.hostsend.data[43] top.test.nvmestorageunit0.hostsend.data[42] top.test.nvmestorageunit0.hostsend.data[41] top.test.nvmestorageunit0.hostsend.data[40] top.test.nvmestorageunit0.hostsend.data[39] top.test.nvmestorageunit0.hostsend.data[38] top.test.nvmestorageunit0.hostsend.data[37] top.test.nvmestorageunit0.hostsend.data[36] top.test.nvmestorageunit0.hostsend.data[35] top.test.nvmestorageunit0.hostsend.data[34] top.test.nvmestorageunit0.hostsend.data[33] top.test.nvmestorageunit0.hostsend.data[32] top.test.nvmestorageunit0.hostsend.data[31] top.test.nvmestorageunit0.hostsend.data[30] top.test.nvmestorageunit0.hostsend.data[29] top.test.nvmestorageunit0.hostsend.data[28] top.test.nvmestorageunit0.hostsend.data[27] top.test.nvmestorageunit0.hostsend.data[26] top.test.nvmestorageunit0.hostsend.data[25] top.test.nvmestorageunit0.hostsend.data[24] top.test.nvmestorageunit0.hostsend.data[23] top.test.nvmestorageunit0.hostsend.data[22] top.test.nvmestorageunit0.hostsend.data[21] top.test.nvmestorageunit0.hostsend.data[20] top.test.nvmestorageunit0.hostsend.data[19] top.test.nvmestorageunit0.hostsend.data[18] top.test.nvmestorageunit0.hostsend.data[17] top.test.nvmestorageunit0.hostsend.data[16] top.test.nvmestorageunit0.hostsend.data[15] top.test.nvmestorageunit0.hostsend.data[14] top.test.nvmestorageunit0.hostsend.data[13] top.test.nvmestorageunit0.hostsend.data[12] top.test.nvmestorageunit0.hostsend.data[11] top.test.nvmestorageunit0.hostsend.data[10] top.test.nvmestorageunit0.hostsend.data[9] top.test.nvmestorageunit0.hostsend.data[8] top.test.nvmestorageunit0.hostsend.data[7] top.test.nvmestorageunit0.hostsend.data[6] top.test.nvmestorageunit0.hostsend.data[5] top.test.nvmestorageunit0.hostsend.data[4] top.test.nvmestorageunit0.hostsend.data[3] top.test.nvmestorageunit0.hostsend.data[2] top.test.nvmestorageunit0.hostsend.data[1] top.test.nvmestorageunit0.hostsend.data[0]
-@28
-top.test.nvmestorageunit0.hostrecv.ready
-top.test.nvmestorageunit0.hostrecv.valid
-top.test.nvmestorageunit0.hostrecv.last
-@22
-#{top.test.nvmestorageunit0.hostrecv.data[127:0]} top.test.nvmestorageunit0.hostrecv.data[127] top.test.nvmestorageunit0.hostrecv.data[126] top.test.nvmestorageunit0.hostrecv.data[125] top.test.nvmestorageunit0.hostrecv.data[124] top.test.nvmestorageunit0.hostrecv.data[123] top.test.nvmestorageunit0.hostrecv.data[122] top.test.nvmestorageunit0.hostrecv.data[121] top.test.nvmestorageunit0.hostrecv.data[120] top.test.nvmestorageunit0.hostrecv.data[119] top.test.nvmestorageunit0.hostrecv.data[118] top.test.nvmestorageunit0.hostrecv.data[117] top.test.nvmestorageunit0.hostrecv.data[116] top.test.nvmestorageunit0.hostrecv.data[115] top.test.nvmestorageunit0.hostrecv.data[114] top.test.nvmestorageunit0.hostrecv.data[113] top.test.nvmestorageunit0.hostrecv.data[112] top.test.nvmestorageunit0.hostrecv.data[111] top.test.nvmestorageunit0.hostrecv.data[110] top.test.nvmestorageunit0.hostrecv.data[109] top.test.nvmestorageunit0.hostrecv.data[108] top.test.nvmestorageunit0.hostrecv.data[107] top.test.nvmestorageunit0.hostrecv.data[106] top.test.nvmestorageunit0.hostrecv.data[105] top.test.nvmestorageunit0.hostrecv.data[104] top.test.nvmestorageunit0.hostrecv.data[103] top.test.nvmestorageunit0.hostrecv.data[102] top.test.nvmestorageunit0.hostrecv.data[101] top.test.nvmestorageunit0.hostrecv.data[100] top.test.nvmestorageunit0.hostrecv.data[99] top.test.nvmestorageunit0.hostrecv.data[98] top.test.nvmestorageunit0.hostrecv.data[97] top.test.nvmestorageunit0.hostrecv.data[96] top.test.nvmestorageunit0.hostrecv.data[95] top.test.nvmestorageunit0.hostrecv.data[94] top.test.nvmestorageunit0.hostrecv.data[93] top.test.nvmestorageunit0.hostrecv.data[92] top.test.nvmestorageunit0.hostrecv.data[91] top.test.nvmestorageunit0.hostrecv.data[90] top.test.nvmestorageunit0.hostrecv.data[89] top.test.nvmestorageunit0.hostrecv.data[88] top.test.nvmestorageunit0.hostrecv.data[87] top.test.nvmestorageunit0.hostrecv.data[86] top.test.nvmestorageunit0.hostrecv.data[85] top.test.nvmestorageunit0.hostrecv.data[84] top.test.nvmestorageunit0.hostrecv.data[83] top.test.nvmestorageunit0.hostrecv.data[82] top.test.nvmestorageunit0.hostrecv.data[81] top.test.nvmestorageunit0.hostrecv.data[80] top.test.nvmestorageunit0.hostrecv.data[79] top.test.nvmestorageunit0.hostrecv.data[78] top.test.nvmestorageunit0.hostrecv.data[77] top.test.nvmestorageunit0.hostrecv.data[76] top.test.nvmestorageunit0.hostrecv.data[75] top.test.nvmestorageunit0.hostrecv.data[74] top.test.nvmestorageunit0.hostrecv.data[73] top.test.nvmestorageunit0.hostrecv.data[72] top.test.nvmestorageunit0.hostrecv.data[71] top.test.nvmestorageunit0.hostrecv.data[70] top.test.nvmestorageunit0.hostrecv.data[69] top.test.nvmestorageunit0.hostrecv.data[68] top.test.nvmestorageunit0.hostrecv.data[67] top.test.nvmestorageunit0.hostrecv.data[66] top.test.nvmestorageunit0.hostrecv.data[65] top.test.nvmestorageunit0.hostrecv.data[64] top.test.nvmestorageunit0.hostrecv.data[63] top.test.nvmestorageunit0.hostrecv.data[62] top.test.nvmestorageunit0.hostrecv.data[61] top.test.nvmestorageunit0.hostrecv.data[60] top.test.nvmestorageunit0.hostrecv.data[59] top.test.nvmestorageunit0.hostrecv.data[58] top.test.nvmestorageunit0.hostrecv.data[57] top.test.nvmestorageunit0.hostrecv.data[56] top.test.nvmestorageunit0.hostrecv.data[55] top.test.nvmestorageunit0.hostrecv.data[54] top.test.nvmestorageunit0.hostrecv.data[53] top.test.nvmestorageunit0.hostrecv.data[52] top.test.nvmestorageunit0.hostrecv.data[51] top.test.nvmestorageunit0.hostrecv.data[50] top.test.nvmestorageunit0.hostrecv.data[49] top.test.nvmestorageunit0.hostrecv.data[48] top.test.nvmestorageunit0.hostrecv.data[47] top.test.nvmestorageunit0.hostrecv.data[46] top.test.nvmestorageunit0.hostrecv.data[45] top.test.nvmestorageunit0.hostrecv.data[44] top.test.nvmestorageunit0.hostrecv.data[43] top.test.nvmestorageunit0.hostrecv.data[42] top.test.nvmestorageunit0.hostrecv.data[41] top.test.nvmestorageunit0.hostrecv.data[40] top.test.nvmestorageunit0.hostrecv.data[39] top.test.nvmestorageunit0.hostrecv.data[38] top.test.nvmestorageunit0.hostrecv.data[37] top.test.nvmestorageunit0.hostrecv.data[36] top.test.nvmestorageunit0.hostrecv.data[35] top.test.nvmestorageunit0.hostrecv.data[34] top.test.nvmestorageunit0.hostrecv.data[33] top.test.nvmestorageunit0.hostrecv.data[32] top.test.nvmestorageunit0.hostrecv.data[31] top.test.nvmestorageunit0.hostrecv.data[30] top.test.nvmestorageunit0.hostrecv.data[29] top.test.nvmestorageunit0.hostrecv.data[28] top.test.nvmestorageunit0.hostrecv.data[27] top.test.nvmestorageunit0.hostrecv.data[26] top.test.nvmestorageunit0.hostrecv.data[25] top.test.nvmestorageunit0.hostrecv.data[24] top.test.nvmestorageunit0.hostrecv.data[23] top.test.nvmestorageunit0.hostrecv.data[22] top.test.nvmestorageunit0.hostrecv.data[21] top.test.nvmestorageunit0.hostrecv.data[20] top.test.nvmestorageunit0.hostrecv.data[19] top.test.nvmestorageunit0.hostrecv.data[18] top.test.nvmestorageunit0.hostrecv.data[17] top.test.nvmestorageunit0.hostrecv.data[16] top.test.nvmestorageunit0.hostrecv.data[15] top.test.nvmestorageunit0.hostrecv.data[14] top.test.nvmestorageunit0.hostrecv.data[13] top.test.nvmestorageunit0.hostrecv.data[12] top.test.nvmestorageunit0.hostrecv.data[11] top.test.nvmestorageunit0.hostrecv.data[10] top.test.nvmestorageunit0.hostrecv.data[9] top.test.nvmestorageunit0.hostrecv.data[8] top.test.nvmestorageunit0.hostrecv.data[7] top.test.nvmestorageunit0.hostrecv.data[6] top.test.nvmestorageunit0.hostrecv.data[5] top.test.nvmestorageunit0.hostrecv.data[4] top.test.nvmestorageunit0.hostrecv.data[3] top.test.nvmestorageunit0.hostrecv.data[2] top.test.nvmestorageunit0.hostrecv.data[1] top.test.nvmestorageunit0.hostrecv.data[0]
-@28
-top.test.hostreq.ready
-top.test.hostreq.valid
-top.test.hostreply.ready
-top.test.hostreply.valid
-top.test.nvmereq.ready
-top.test.nvmereq.valid
-top.test.nvmereq.last
-@22
-#{top.test.nvmereq.data[127:0]} top.test.nvmereq.data[127] top.test.nvmereq.data[126] top.test.nvmereq.data[125] top.test.nvmereq.data[124] top.test.nvmereq.data[123] top.test.nvmereq.data[122] top.test.nvmereq.data[121] top.test.nvmereq.data[120] top.test.nvmereq.data[119] top.test.nvmereq.data[118] top.test.nvmereq.data[117] top.test.nvmereq.data[116] top.test.nvmereq.data[115] top.test.nvmereq.data[114] top.test.nvmereq.data[113] top.test.nvmereq.data[112] top.test.nvmereq.data[111] top.test.nvmereq.data[110] top.test.nvmereq.data[109] top.test.nvmereq.data[108] top.test.nvmereq.data[107] top.test.nvmereq.data[106] top.test.nvmereq.data[105] top.test.nvmereq.data[104] top.test.nvmereq.data[103] top.test.nvmereq.data[102] top.test.nvmereq.data[101] top.test.nvmereq.data[100] top.test.nvmereq.data[99] top.test.nvmereq.data[98] top.test.nvmereq.data[97] top.test.nvmereq.data[96] top.test.nvmereq.data[95] top.test.nvmereq.data[94] top.test.nvmereq.data[93] top.test.nvmereq.data[92] top.test.nvmereq.data[91] top.test.nvmereq.data[90] top.test.nvmereq.data[89] top.test.nvmereq.data[88] top.test.nvmereq.data[87] top.test.nvmereq.data[86] top.test.nvmereq.data[85] top.test.nvmereq.data[84] top.test.nvmereq.data[83] top.test.nvmereq.data[82] top.test.nvmereq.data[81] top.test.nvmereq.data[80] top.test.nvmereq.data[79] top.test.nvmereq.data[78] top.test.nvmereq.data[77] top.test.nvmereq.data[76] top.test.nvmereq.data[75] top.test.nvmereq.data[74] top.test.nvmereq.data[73] top.test.nvmereq.data[72] top.test.nvmereq.data[71] top.test.nvmereq.data[70] top.test.nvmereq.data[69] top.test.nvmereq.data[68] top.test.nvmereq.data[67] top.test.nvmereq.data[66] top.test.nvmereq.data[65] top.test.nvmereq.data[64] top.test.nvmereq.data[63] top.test.nvmereq.data[62] top.test.nvmereq.data[61] top.test.nvmereq.data[60] top.test.nvmereq.data[59] top.test.nvmereq.data[58] top.test.nvmereq.data[57] top.test.nvmereq.data[56] top.test.nvmereq.data[55] top.test.nvmereq.data[54] top.test.nvmereq.data[53] top.test.nvmereq.data[52] top.test.nvmereq.data[51] top.test.nvmereq.data[50] top.test.nvmereq.data[49] top.test.nvmereq.data[48] top.test.nvmereq.data[47] top.test.nvmereq.data[46] top.test.nvmereq.data[45] top.test.nvmereq.data[44] top.test.nvmereq.data[43] top.test.nvmereq.data[42] top.test.nvmereq.data[41] top.test.nvmereq.data[40] top.test.nvmereq.data[39] top.test.nvmereq.data[38] top.test.nvmereq.data[37] top.test.nvmereq.data[36] top.test.nvmereq.data[35] top.test.nvmereq.data[34] top.test.nvmereq.data[33] top.test.nvmereq.data[32] top.test.nvmereq.data[31] top.test.nvmereq.data[30] top.test.nvmereq.data[29] top.test.nvmereq.data[28] top.test.nvmereq.data[27] top.test.nvmereq.data[26] top.test.nvmereq.data[25] top.test.nvmereq.data[24] top.test.nvmereq.data[23] top.test.nvmereq.data[22] top.test.nvmereq.data[21] top.test.nvmereq.data[20] top.test.nvmereq.data[19] top.test.nvmereq.data[18] top.test.nvmereq.data[17] top.test.nvmereq.data[16] top.test.nvmereq.data[15] top.test.nvmereq.data[14] top.test.nvmereq.data[13] top.test.nvmereq.data[12] top.test.nvmereq.data[11] top.test.nvmereq.data[10] top.test.nvmereq.data[9] top.test.nvmereq.data[8] top.test.nvmereq.data[7] top.test.nvmereq.data[6] top.test.nvmereq.data[5] top.test.nvmereq.data[4] top.test.nvmereq.data[3] top.test.nvmereq.data[2] top.test.nvmereq.data[1] top.test.nvmereq.data[0]
-@28
-top.test.nvmereply.ready
-top.test.nvmereply.valid
-top.test.nvmereply.last
-@22
-#{top.test.nvmereply.data[127:0]} top.test.nvmereply.data[127] top.test.nvmereply.data[126] top.test.nvmereply.data[125] top.test.nvmereply.data[124] top.test.nvmereply.data[123] top.test.nvmereply.data[122] top.test.nvmereply.data[121] top.test.nvmereply.data[120] top.test.nvmereply.data[119] top.test.nvmereply.data[118] top.test.nvmereply.data[117] top.test.nvmereply.data[116] top.test.nvmereply.data[115] top.test.nvmereply.data[114] top.test.nvmereply.data[113] top.test.nvmereply.data[112] top.test.nvmereply.data[111] top.test.nvmereply.data[110] top.test.nvmereply.data[109] top.test.nvmereply.data[108] top.test.nvmereply.data[107] top.test.nvmereply.data[106] top.test.nvmereply.data[105] top.test.nvmereply.data[104] top.test.nvmereply.data[103] top.test.nvmereply.data[102] top.test.nvmereply.data[101] top.test.nvmereply.data[100] top.test.nvmereply.data[99] top.test.nvmereply.data[98] top.test.nvmereply.data[97] top.test.nvmereply.data[96] top.test.nvmereply.data[95] top.test.nvmereply.data[94] top.test.nvmereply.data[93] top.test.nvmereply.data[92] top.test.nvmereply.data[91] top.test.nvmereply.data[90] top.test.nvmereply.data[89] top.test.nvmereply.data[88] top.test.nvmereply.data[87] top.test.nvmereply.data[86] top.test.nvmereply.data[85] top.test.nvmereply.data[84] top.test.nvmereply.data[83] top.test.nvmereply.data[82] top.test.nvmereply.data[81] top.test.nvmereply.data[80] top.test.nvmereply.data[79] top.test.nvmereply.data[78] top.test.nvmereply.data[77] top.test.nvmereply.data[76] top.test.nvmereply.data[75] top.test.nvmereply.data[74] top.test.nvmereply.data[73] top.test.nvmereply.data[72] top.test.nvmereply.data[71] top.test.nvmereply.data[70] top.test.nvmereply.data[69] top.test.nvmereply.data[68] top.test.nvmereply.data[67] top.test.nvmereply.data[66] top.test.nvmereply.data[65] top.test.nvmereply.data[64] top.test.nvmereply.data[63] top.test.nvmereply.data[62] top.test.nvmereply.data[61] top.test.nvmereply.data[60] top.test.nvmereply.data[59] top.test.nvmereply.data[58] top.test.nvmereply.data[57] top.test.nvmereply.data[56] top.test.nvmereply.data[55] top.test.nvmereply.data[54] top.test.nvmereply.data[53] top.test.nvmereply.data[52] top.test.nvmereply.data[51] top.test.nvmereply.data[50] top.test.nvmereply.data[49] top.test.nvmereply.data[48] top.test.nvmereply.data[47] top.test.nvmereply.data[46] top.test.nvmereply.data[45] top.test.nvmereply.data[44] top.test.nvmereply.data[43] top.test.nvmereply.data[42] top.test.nvmereply.data[41] top.test.nvmereply.data[40] top.test.nvmereply.data[39] top.test.nvmereply.data[38] top.test.nvmereply.data[37] top.test.nvmereply.data[36] top.test.nvmereply.data[35] top.test.nvmereply.data[34] top.test.nvmereply.data[33] top.test.nvmereply.data[32] top.test.nvmereply.data[31] top.test.nvmereply.data[30] top.test.nvmereply.data[29] top.test.nvmereply.data[28] top.test.nvmereply.data[27] top.test.nvmereply.data[26] top.test.nvmereply.data[25] top.test.nvmereply.data[24] top.test.nvmereply.data[23] top.test.nvmereply.data[22] top.test.nvmereply.data[21] top.test.nvmereply.data[20] top.test.nvmereply.data[19] top.test.nvmereply.data[18] top.test.nvmereply.data[17] top.test.nvmereply.data[16] top.test.nvmereply.data[15] top.test.nvmereply.data[14] top.test.nvmereply.data[13] top.test.nvmereply.data[12] top.test.nvmereply.data[11] top.test.nvmereply.data[10] top.test.nvmereply.data[9] top.test.nvmereply.data[8] top.test.nvmereply.data[7] top.test.nvmereply.data[6] top.test.nvmereply.data[5] top.test.nvmereply.data[4] top.test.nvmereply.data[3] top.test.nvmereply.data[2] top.test.nvmereply.data[1] top.test.nvmereply.data[0]
-@421
-top.test.nvmestorageunit0.nvmestreammux0.demuxstate
-@29
-top.test.nvmestorageunit0.nvmestreammux0.stream1in.ready
-top.test.nvmestorageunit0.nvmestreammux0.stream1in.valid
-top.test.nvmestorageunit0.nvmestreammux0.stream1in.last
-@23
-#{top.test.nvmestorageunit0.nvmestreammux0.stream1in.data[127:0]} top.test.nvmestorageunit0.nvmestreammux0.stream1in.data[127] top.test.nvmestorageunit0.nvmestreammux0.stream1in.data[126] top.test.nvmestorageunit0.nvmestreammux0.stream1in.data[125] top.test.nvmestorageunit0.nvmestreammux0.stream1in.data[124] top.test.nvmestorageunit0.nvmestreammux0.stream1in.data[123] top.test.nvmestorageunit0.nvmestreammux0.stream1in.data[122] top.test.nvmestorageunit0.nvmestreammux0.stream1in.data[121] top.test.nvmestorageunit0.nvmestreammux0.stream1in.data[120] top.test.nvmestorageunit0.nvmestreammux0.stream1in.data[119] top.test.nvmestorageunit0.nvmestreammux0.stream1in.data[118] top.test.nvmestorageunit0.nvmestreammux0.stream1in.data[117] top.test.nvmestorageunit0.nvmestreammux0.stream1in.data[116] top.test.nvmestorageunit0.nvmestreammux0.stream1in.data[115] top.test.nvmestorageunit0.nvmestreammux0.stream1in.data[114] top.test.nvmestorageunit0.nvmestreammux0.stream1in.data[113] top.test.nvmestorageunit0.nvmestreammux0.stream1in.data[112] top.test.nvmestorageunit0.nvmestreammux0.stream1in.data[111] top.test.nvmestorageunit0.nvmestreammux0.stream1in.data[110] top.test.nvmestorageunit0.nvmestreammux0.stream1in.data[109] top.test.nvmestorageunit0.nvmestreammux0.stream1in.data[108] top.test.nvmestorageunit0.nvmestreammux0.stream1in.data[107] top.test.nvmestorageunit0.nvmestreammux0.stream1in.data[106] top.test.nvmestorageunit0.nvmestreammux0.stream1in.data[105] top.test.nvmestorageunit0.nvmestreammux0.stream1in.data[104] top.test.nvmestorageunit0.nvmestreammux0.stream1in.data[103] top.test.nvmestorageunit0.nvmestreammux0.stream1in.data[102] top.test.nvmestorageunit0.nvmestreammux0.stream1in.data[101] top.test.nvmestorageunit0.nvmestreammux0.stream1in.data[100] top.test.nvmestorageunit0.nvmestreammux0.stream1in.data[99] top.test.nvmestorageunit0.nvmestreammux0.stream1in.data[98] top.test.nvmestorageunit0.nvmestreammux0.stream1in.data[97] top.test.nvmestorageunit0.nvmestreammux0.stream1in.data[96] top.test.nvmestorageunit0.nvmestreammux0.stream1in.data[95] top.test.nvmestorageunit0.nvmestreammux0.stream1in.data[94] top.test.nvmestorageunit0.nvmestreammux0.stream1in.data[93] top.test.nvmestorageunit0.nvmestreammux0.stream1in.data[92] top.test.nvmestorageunit0.nvmestreammux0.stream1in.data[91] top.test.nvmestorageunit0.nvmestreammux0.stream1in.data[90] top.test.nvmestorageunit0.nvmestreammux0.stream1in.data[89] top.test.nvmestorageunit0.nvmestreammux0.stream1in.data[88] top.test.nvmestorageunit0.nvmestreammux0.stream1in.data[87] top.test.nvmestorageunit0.nvmestreammux0.stream1in.data[86] top.test.nvmestorageunit0.nvmestreammux0.stream1in.data[85] top.test.nvmestorageunit0.nvmestreammux0.stream1in.data[84] top.test.nvmestorageunit0.nvmestreammux0.stream1in.data[83] top.test.nvmestorageunit0.nvmestreammux0.stream1in.data[82] top.test.nvmestorageunit0.nvmestreammux0.stream1in.data[81] top.test.nvmestorageunit0.nvmestreammux0.stream1in.data[80] top.test.nvmestorageunit0.nvmestreammux0.stream1in.data[79] top.test.nvmestorageunit0.nvmestreammux0.stream1in.data[78] top.test.nvmestorageunit0.nvmestreammux0.stream1in.data[77] top.test.nvmestorageunit0.nvmestreammux0.stream1in.data[76] top.test.nvmestorageunit0.nvmestreammux0.stream1in.data[75] top.test.nvmestorageunit0.nvmestreammux0.stream1in.data[74] top.test.nvmestorageunit0.nvmestreammux0.stream1in.data[73] top.test.nvmestorageunit0.nvmestreammux0.stream1in.data[72] top.test.nvmestorageunit0.nvmestreammux0.stream1in.data[71] top.test.nvmestorageunit0.nvmestreammux0.stream1in.data[70] top.test.nvmestorageunit0.nvmestreammux0.stream1in.data[69] top.test.nvmestorageunit0.nvmestreammux0.stream1in.data[68] top.test.nvmestorageunit0.nvmestreammux0.stream1in.data[67] top.test.nvmestorageunit0.nvmestreammux0.stream1in.data[66] top.test.nvmestorageunit0.nvmestreammux0.stream1in.data[65] top.test.nvmestorageunit0.nvmestreammux0.stream1in.data[64] top.test.nvmestorageunit0.nvmestreammux0.stream1in.data[63] top.test.nvmestorageunit0.nvmestreammux0.stream1in.data[62] top.test.nvmestorageunit0.nvmestreammux0.stream1in.data[61] top.test.nvmestorageunit0.nvmestreammux0.stream1in.data[60] top.test.nvmestorageunit0.nvmestreammux0.stream1in.data[59] top.test.nvmestorageunit0.nvmestreammux0.stream1in.data[58] top.test.nvmestorageunit0.nvmestreammux0.stream1in.data[57] top.test.nvmestorageunit0.nvmestreammux0.stream1in.data[56] top.test.nvmestorageunit0.nvmestreammux0.stream1in.data[55] top.test.nvmestorageunit0.nvmestreammux0.stream1in.data[54] top.test.nvmestorageunit0.nvmestreammux0.stream1in.data[53] top.test.nvmestorageunit0.nvmestreammux0.stream1in.data[52] top.test.nvmestorageunit0.nvmestreammux0.stream1in.data[51] top.test.nvmestorageunit0.nvmestreammux0.stream1in.data[50] top.test.nvmestorageunit0.nvmestreammux0.stream1in.data[49] top.test.nvmestorageunit0.nvmestreammux0.stream1in.data[48] top.test.nvmestorageunit0.nvmestreammux0.stream1in.data[47] top.test.nvmestorageunit0.nvmestreammux0.stream1in.data[46] top.test.nvmestorageunit0.nvmestreammux0.stream1in.data[45] top.test.nvmestorageunit0.nvmestreammux0.stream1in.data[44] top.test.nvmestorageunit0.nvmestreammux0.stream1in.data[43] top.test.nvmestorageunit0.nvmestreammux0.stream1in.data[42] top.test.nvmestorageunit0.nvmestreammux0.stream1in.data[41] top.test.nvmestorageunit0.nvmestreammux0.stream1in.data[40] top.test.nvmestorageunit0.nvmestreammux0.stream1in.data[39] top.test.nvmestorageunit0.nvmestreammux0.stream1in.data[38] top.test.nvmestorageunit0.nvmestreammux0.stream1in.data[37] top.test.nvmestorageunit0.nvmestreammux0.stream1in.data[36] top.test.nvmestorageunit0.nvmestreammux0.stream1in.data[35] top.test.nvmestorageunit0.nvmestreammux0.stream1in.data[34] top.test.nvmestorageunit0.nvmestreammux0.stream1in.data[33] top.test.nvmestorageunit0.nvmestreammux0.stream1in.data[32] top.test.nvmestorageunit0.nvmestreammux0.stream1in.data[31] top.test.nvmestorageunit0.nvmestreammux0.stream1in.data[30] top.test.nvmestorageunit0.nvmestreammux0.stream1in.data[29] top.test.nvmestorageunit0.nvmestreammux0.stream1in.data[28] top.test.nvmestorageunit0.nvmestreammux0.stream1in.data[27] top.test.nvmestorageunit0.nvmestreammux0.stream1in.data[26] top.test.nvmestorageunit0.nvmestreammux0.stream1in.data[25] top.test.nvmestorageunit0.nvmestreammux0.stream1in.data[24] top.test.nvmestorageunit0.nvmestreammux0.stream1in.data[23] top.test.nvmestorageunit0.nvmestreammux0.stream1in.data[22] top.test.nvmestorageunit0.nvmestreammux0.stream1in.data[21] top.test.nvmestorageunit0.nvmestreammux0.stream1in.data[20] top.test.nvmestorageunit0.nvmestreammux0.stream1in.data[19] top.test.nvmestorageunit0.nvmestreammux0.stream1in.data[18] top.test.nvmestorageunit0.nvmestreammux0.stream1in.data[17] top.test.nvmestorageunit0.nvmestreammux0.stream1in.data[16] top.test.nvmestorageunit0.nvmestreammux0.stream1in.data[15] top.test.nvmestorageunit0.nvmestreammux0.stream1in.data[14] top.test.nvmestorageunit0.nvmestreammux0.stream1in.data[13] top.test.nvmestorageunit0.nvmestreammux0.stream1in.data[12] top.test.nvmestorageunit0.nvmestreammux0.stream1in.data[11] top.test.nvmestorageunit0.nvmestreammux0.stream1in.data[10] top.test.nvmestorageunit0.nvmestreammux0.stream1in.data[9] top.test.nvmestorageunit0.nvmestreammux0.stream1in.data[8] top.test.nvmestorageunit0.nvmestreammux0.stream1in.data[7] top.test.nvmestorageunit0.nvmestreammux0.stream1in.data[6] top.test.nvmestorageunit0.nvmestreammux0.stream1in.data[5] top.test.nvmestorageunit0.nvmestreammux0.stream1in.data[4] top.test.nvmestorageunit0.nvmestreammux0.stream1in.data[3] top.test.nvmestorageunit0.nvmestreammux0.stream1in.data[2] top.test.nvmestorageunit0.nvmestreammux0.stream1in.data[1] top.test.nvmestorageunit0.nvmestreammux0.stream1in.data[0]
-@29
-top.test.nvmestorageunit0.nvmestreammux0.stream1out.ready
-top.test.nvmestorageunit0.nvmestreammux0.stream1out.valid
-top.test.nvmestorageunit0.nvmestreammux0.stream1out.last
-@23
-#{top.test.nvmestorageunit0.nvmestreammux0.stream1out.data[127:0]} top.test.nvmestorageunit0.nvmestreammux0.stream1out.data[127] top.test.nvmestorageunit0.nvmestreammux0.stream1out.data[126] top.test.nvmestorageunit0.nvmestreammux0.stream1out.data[125] top.test.nvmestorageunit0.nvmestreammux0.stream1out.data[124] top.test.nvmestorageunit0.nvmestreammux0.stream1out.data[123] top.test.nvmestorageunit0.nvmestreammux0.stream1out.data[122] top.test.nvmestorageunit0.nvmestreammux0.stream1out.data[121] top.test.nvmestorageunit0.nvmestreammux0.stream1out.data[120] top.test.nvmestorageunit0.nvmestreammux0.stream1out.data[119] top.test.nvmestorageunit0.nvmestreammux0.stream1out.data[118] top.test.nvmestorageunit0.nvmestreammux0.stream1out.data[117] top.test.nvmestorageunit0.nvmestreammux0.stream1out.data[116] top.test.nvmestorageunit0.nvmestreammux0.stream1out.data[115] top.test.nvmestorageunit0.nvmestreammux0.stream1out.data[114] top.test.nvmestorageunit0.nvmestreammux0.stream1out.data[113] top.test.nvmestorageunit0.nvmestreammux0.stream1out.data[112] top.test.nvmestorageunit0.nvmestreammux0.stream1out.data[111] top.test.nvmestorageunit0.nvmestreammux0.stream1out.data[110] top.test.nvmestorageunit0.nvmestreammux0.stream1out.data[109] top.test.nvmestorageunit0.nvmestreammux0.stream1out.data[108] top.test.nvmestorageunit0.nvmestreammux0.stream1out.data[107] top.test.nvmestorageunit0.nvmestreammux0.stream1out.data[106] top.test.nvmestorageunit0.nvmestreammux0.stream1out.data[105] top.test.nvmestorageunit0.nvmestreammux0.stream1out.data[104] top.test.nvmestorageunit0.nvmestreammux0.stream1out.data[103] top.test.nvmestorageunit0.nvmestreammux0.stream1out.data[102] top.test.nvmestorageunit0.nvmestreammux0.stream1out.data[101] top.test.nvmestorageunit0.nvmestreammux0.stream1out.data[100] top.test.nvmestorageunit0.nvmestreammux0.stream1out.data[99] top.test.nvmestorageunit0.nvmestreammux0.stream1out.data[98] top.test.nvmestorageunit0.nvmestreammux0.stream1out.data[97] top.test.nvmestorageunit0.nvmestreammux0.stream1out.data[96] top.test.nvmestorageunit0.nvmestreammux0.stream1out.data[95] top.test.nvmestorageunit0.nvmestreammux0.stream1out.data[94] top.test.nvmestorageunit0.nvmestreammux0.stream1out.data[93] top.test.nvmestorageunit0.nvmestreammux0.stream1out.data[92] top.test.nvmestorageunit0.nvmestreammux0.stream1out.data[91] top.test.nvmestorageunit0.nvmestreammux0.stream1out.data[90] top.test.nvmestorageunit0.nvmestreammux0.stream1out.data[89] top.test.nvmestorageunit0.nvmestreammux0.stream1out.data[88] top.test.nvmestorageunit0.nvmestreammux0.stream1out.data[87] top.test.nvmestorageunit0.nvmestreammux0.stream1out.data[86] top.test.nvmestorageunit0.nvmestreammux0.stream1out.data[85] top.test.nvmestorageunit0.nvmestreammux0.stream1out.data[84] top.test.nvmestorageunit0.nvmestreammux0.stream1out.data[83] top.test.nvmestorageunit0.nvmestreammux0.stream1out.data[82] top.test.nvmestorageunit0.nvmestreammux0.stream1out.data[81] top.test.nvmestorageunit0.nvmestreammux0.stream1out.data[80] top.test.nvmestorageunit0.nvmestreammux0.stream1out.data[79] top.test.nvmestorageunit0.nvmestreammux0.stream1out.data[78] top.test.nvmestorageunit0.nvmestreammux0.stream1out.data[77] top.test.nvmestorageunit0.nvmestreammux0.stream1out.data[76] top.test.nvmestorageunit0.nvmestreammux0.stream1out.data[75] top.test.nvmestorageunit0.nvmestreammux0.stream1out.data[74] top.test.nvmestorageunit0.nvmestreammux0.stream1out.data[73] top.test.nvmestorageunit0.nvmestreammux0.stream1out.data[72] top.test.nvmestorageunit0.nvmestreammux0.stream1out.data[71] top.test.nvmestorageunit0.nvmestreammux0.stream1out.data[70] top.test.nvmestorageunit0.nvmestreammux0.stream1out.data[69] top.test.nvmestorageunit0.nvmestreammux0.stream1out.data[68] top.test.nvmestorageunit0.nvmestreammux0.stream1out.data[67] top.test.nvmestorageunit0.nvmestreammux0.stream1out.data[66] top.test.nvmestorageunit0.nvmestreammux0.stream1out.data[65] top.test.nvmestorageunit0.nvmestreammux0.stream1out.data[64] top.test.nvmestorageunit0.nvmestreammux0.stream1out.data[63] top.test.nvmestorageunit0.nvmestreammux0.stream1out.data[62] top.test.nvmestorageunit0.nvmestreammux0.stream1out.data[61] top.test.nvmestorageunit0.nvmestreammux0.stream1out.data[60] top.test.nvmestorageunit0.nvmestreammux0.stream1out.data[59] top.test.nvmestorageunit0.nvmestreammux0.stream1out.data[58] top.test.nvmestorageunit0.nvmestreammux0.stream1out.data[57] top.test.nvmestorageunit0.nvmestreammux0.stream1out.data[56] top.test.nvmestorageunit0.nvmestreammux0.stream1out.data[55] top.test.nvmestorageunit0.nvmestreammux0.stream1out.data[54] top.test.nvmestorageunit0.nvmestreammux0.stream1out.data[53] top.test.nvmestorageunit0.nvmestreammux0.stream1out.data[52] top.test.nvmestorageunit0.nvmestreammux0.stream1out.data[51] top.test.nvmestorageunit0.nvmestreammux0.stream1out.data[50] top.test.nvmestorageunit0.nvmestreammux0.stream1out.data[49] top.test.nvmestorageunit0.nvmestreammux0.stream1out.data[48] top.test.nvmestorageunit0.nvmestreammux0.stream1out.data[47] top.test.nvmestorageunit0.nvmestreammux0.stream1out.data[46] top.test.nvmestorageunit0.nvmestreammux0.stream1out.data[45] top.test.nvmestorageunit0.nvmestreammux0.stream1out.data[44] top.test.nvmestorageunit0.nvmestreammux0.stream1out.data[43] top.test.nvmestorageunit0.nvmestreammux0.stream1out.data[42] top.test.nvmestorageunit0.nvmestreammux0.stream1out.data[41] top.test.nvmestorageunit0.nvmestreammux0.stream1out.data[40] top.test.nvmestorageunit0.nvmestreammux0.stream1out.data[39] top.test.nvmestorageunit0.nvmestreammux0.stream1out.data[38] top.test.nvmestorageunit0.nvmestreammux0.stream1out.data[37] top.test.nvmestorageunit0.nvmestreammux0.stream1out.data[36] top.test.nvmestorageunit0.nvmestreammux0.stream1out.data[35] top.test.nvmestorageunit0.nvmestreammux0.stream1out.data[34] top.test.nvmestorageunit0.nvmestreammux0.stream1out.data[33] top.test.nvmestorageunit0.nvmestreammux0.stream1out.data[32] top.test.nvmestorageunit0.nvmestreammux0.stream1out.data[31] top.test.nvmestorageunit0.nvmestreammux0.stream1out.data[30] top.test.nvmestorageunit0.nvmestreammux0.stream1out.data[29] top.test.nvmestorageunit0.nvmestreammux0.stream1out.data[28] top.test.nvmestorageunit0.nvmestreammux0.stream1out.data[27] top.test.nvmestorageunit0.nvmestreammux0.stream1out.data[26] top.test.nvmestorageunit0.nvmestreammux0.stream1out.data[25] top.test.nvmestorageunit0.nvmestreammux0.stream1out.data[24] top.test.nvmestorageunit0.nvmestreammux0.stream1out.data[23] top.test.nvmestorageunit0.nvmestreammux0.stream1out.data[22] top.test.nvmestorageunit0.nvmestreammux0.stream1out.data[21] top.test.nvmestorageunit0.nvmestreammux0.stream1out.data[20] top.test.nvmestorageunit0.nvmestreammux0.stream1out.data[19] top.test.nvmestorageunit0.nvmestreammux0.stream1out.data[18] top.test.nvmestorageunit0.nvmestreammux0.stream1out.data[17] top.test.nvmestorageunit0.nvmestreammux0.stream1out.data[16] top.test.nvmestorageunit0.nvmestreammux0.stream1out.data[15] top.test.nvmestorageunit0.nvmestreammux0.stream1out.data[14] top.test.nvmestorageunit0.nvmestreammux0.stream1out.data[13] top.test.nvmestorageunit0.nvmestreammux0.stream1out.data[12] top.test.nvmestorageunit0.nvmestreammux0.stream1out.data[11] top.test.nvmestorageunit0.nvmestreammux0.stream1out.data[10] top.test.nvmestorageunit0.nvmestreammux0.stream1out.data[9] top.test.nvmestorageunit0.nvmestreammux0.stream1out.data[8] top.test.nvmestorageunit0.nvmestreammux0.stream1out.data[7] top.test.nvmestorageunit0.nvmestreammux0.stream1out.data[6] top.test.nvmestorageunit0.nvmestreammux0.stream1out.data[5] top.test.nvmestorageunit0.nvmestreammux0.stream1out.data[4] top.test.nvmestorageunit0.nvmestreammux0.stream1out.data[3] top.test.nvmestorageunit0.nvmestreammux0.stream1out.data[2] top.test.nvmestorageunit0.nvmestreammux0.stream1out.data[1] top.test.nvmestorageunit0.nvmestreammux0.stream1out.data[0]
-@29
-top.test.nvmestorageunit0.nvmestreammux0.stream2out.ready
-top.test.nvmestorageunit0.nvmestreammux0.stream2out.valid
-top.test.nvmestorageunit0.nvmestreammux0.stream2out.last
-@23
-#{top.test.nvmestorageunit0.nvmestreammux0.stream2out.data[127:0]} top.test.nvmestorageunit0.nvmestreammux0.stream2out.data[127] top.test.nvmestorageunit0.nvmestreammux0.stream2out.data[126] top.test.nvmestorageunit0.nvmestreammux0.stream2out.data[125] top.test.nvmestorageunit0.nvmestreammux0.stream2out.data[124] top.test.nvmestorageunit0.nvmestreammux0.stream2out.data[123] top.test.nvmestorageunit0.nvmestreammux0.stream2out.data[122] top.test.nvmestorageunit0.nvmestreammux0.stream2out.data[121] top.test.nvmestorageunit0.nvmestreammux0.stream2out.data[120] top.test.nvmestorageunit0.nvmestreammux0.stream2out.data[119] top.test.nvmestorageunit0.nvmestreammux0.stream2out.data[118] top.test.nvmestorageunit0.nvmestreammux0.stream2out.data[117] top.test.nvmestorageunit0.nvmestreammux0.stream2out.data[116] top.test.nvmestorageunit0.nvmestreammux0.stream2out.data[115] top.test.nvmestorageunit0.nvmestreammux0.stream2out.data[114] top.test.nvmestorageunit0.nvmestreammux0.stream2out.data[113] top.test.nvmestorageunit0.nvmestreammux0.stream2out.data[112] top.test.nvmestorageunit0.nvmestreammux0.stream2out.data[111] top.test.nvmestorageunit0.nvmestreammux0.stream2out.data[110] top.test.nvmestorageunit0.nvmestreammux0.stream2out.data[109] top.test.nvmestorageunit0.nvmestreammux0.stream2out.data[108] top.test.nvmestorageunit0.nvmestreammux0.stream2out.data[107] top.test.nvmestorageunit0.nvmestreammux0.stream2out.data[106] top.test.nvmestorageunit0.nvmestreammux0.stream2out.data[105] top.test.nvmestorageunit0.nvmestreammux0.stream2out.data[104] top.test.nvmestorageunit0.nvmestreammux0.stream2out.data[103] top.test.nvmestorageunit0.nvmestreammux0.stream2out.data[102] top.test.nvmestorageunit0.nvmestreammux0.stream2out.data[101] top.test.nvmestorageunit0.nvmestreammux0.stream2out.data[100] top.test.nvmestorageunit0.nvmestreammux0.stream2out.data[99] top.test.nvmestorageunit0.nvmestreammux0.stream2out.data[98] top.test.nvmestorageunit0.nvmestreammux0.stream2out.data[97] top.test.nvmestorageunit0.nvmestreammux0.stream2out.data[96] top.test.nvmestorageunit0.nvmestreammux0.stream2out.data[95] top.test.nvmestorageunit0.nvmestreammux0.stream2out.data[94] top.test.nvmestorageunit0.nvmestreammux0.stream2out.data[93] top.test.nvmestorageunit0.nvmestreammux0.stream2out.data[92] top.test.nvmestorageunit0.nvmestreammux0.stream2out.data[91] top.test.nvmestorageunit0.nvmestreammux0.stream2out.data[90] top.test.nvmestorageunit0.nvmestreammux0.stream2out.data[89] top.test.nvmestorageunit0.nvmestreammux0.stream2out.data[88] top.test.nvmestorageunit0.nvmestreammux0.stream2out.data[87] top.test.nvmestorageunit0.nvmestreammux0.stream2out.data[86] top.test.nvmestorageunit0.nvmestreammux0.stream2out.data[85] top.test.nvmestorageunit0.nvmestreammux0.stream2out.data[84] top.test.nvmestorageunit0.nvmestreammux0.stream2out.data[83] top.test.nvmestorageunit0.nvmestreammux0.stream2out.data[82] top.test.nvmestorageunit0.nvmestreammux0.stream2out.data[81] top.test.nvmestorageunit0.nvmestreammux0.stream2out.data[80] top.test.nvmestorageunit0.nvmestreammux0.stream2out.data[79] top.test.nvmestorageunit0.nvmestreammux0.stream2out.data[78] top.test.nvmestorageunit0.nvmestreammux0.stream2out.data[77] top.test.nvmestorageunit0.nvmestreammux0.stream2out.data[76] top.test.nvmestorageunit0.nvmestreammux0.stream2out.data[75] top.test.nvmestorageunit0.nvmestreammux0.stream2out.data[74] top.test.nvmestorageunit0.nvmestreammux0.stream2out.data[73] top.test.nvmestorageunit0.nvmestreammux0.stream2out.data[72] top.test.nvmestorageunit0.nvmestreammux0.stream2out.data[71] top.test.nvmestorageunit0.nvmestreammux0.stream2out.data[70] top.test.nvmestorageunit0.nvmestreammux0.stream2out.data[69] top.test.nvmestorageunit0.nvmestreammux0.stream2out.data[68] top.test.nvmestorageunit0.nvmestreammux0.stream2out.data[67] top.test.nvmestorageunit0.nvmestreammux0.stream2out.data[66] top.test.nvmestorageunit0.nvmestreammux0.stream2out.data[65] top.test.nvmestorageunit0.nvmestreammux0.stream2out.data[64] top.test.nvmestorageunit0.nvmestreammux0.stream2out.data[63] top.test.nvmestorageunit0.nvmestreammux0.stream2out.data[62] top.test.nvmestorageunit0.nvmestreammux0.stream2out.data[61] top.test.nvmestorageunit0.nvmestreammux0.stream2out.data[60] top.test.nvmestorageunit0.nvmestreammux0.stream2out.data[59] top.test.nvmestorageunit0.nvmestreammux0.stream2out.data[58] top.test.nvmestorageunit0.nvmestreammux0.stream2out.data[57] top.test.nvmestorageunit0.nvmestreammux0.stream2out.data[56] top.test.nvmestorageunit0.nvmestreammux0.stream2out.data[55] top.test.nvmestorageunit0.nvmestreammux0.stream2out.data[54] top.test.nvmestorageunit0.nvmestreammux0.stream2out.data[53] top.test.nvmestorageunit0.nvmestreammux0.stream2out.data[52] top.test.nvmestorageunit0.nvmestreammux0.stream2out.data[51] top.test.nvmestorageunit0.nvmestreammux0.stream2out.data[50] top.test.nvmestorageunit0.nvmestreammux0.stream2out.data[49] top.test.nvmestorageunit0.nvmestreammux0.stream2out.data[48] top.test.nvmestorageunit0.nvmestreammux0.stream2out.data[47] top.test.nvmestorageunit0.nvmestreammux0.stream2out.data[46] top.test.nvmestorageunit0.nvmestreammux0.stream2out.data[45] top.test.nvmestorageunit0.nvmestreammux0.stream2out.data[44] top.test.nvmestorageunit0.nvmestreammux0.stream2out.data[43] top.test.nvmestorageunit0.nvmestreammux0.stream2out.data[42] top.test.nvmestorageunit0.nvmestreammux0.stream2out.data[41] top.test.nvmestorageunit0.nvmestreammux0.stream2out.data[40] top.test.nvmestorageunit0.nvmestreammux0.stream2out.data[39] top.test.nvmestorageunit0.nvmestreammux0.stream2out.data[38] top.test.nvmestorageunit0.nvmestreammux0.stream2out.data[37] top.test.nvmestorageunit0.nvmestreammux0.stream2out.data[36] top.test.nvmestorageunit0.nvmestreammux0.stream2out.data[35] top.test.nvmestorageunit0.nvmestreammux0.stream2out.data[34] top.test.nvmestorageunit0.nvmestreammux0.stream2out.data[33] top.test.nvmestorageunit0.nvmestreammux0.stream2out.data[32] top.test.nvmestorageunit0.nvmestreammux0.stream2out.data[31] top.test.nvmestorageunit0.nvmestreammux0.stream2out.data[30] top.test.nvmestorageunit0.nvmestreammux0.stream2out.data[29] top.test.nvmestorageunit0.nvmestreammux0.stream2out.data[28] top.test.nvmestorageunit0.nvmestreammux0.stream2out.data[27] top.test.nvmestorageunit0.nvmestreammux0.stream2out.data[26] top.test.nvmestorageunit0.nvmestreammux0.stream2out.data[25] top.test.nvmestorageunit0.nvmestreammux0.stream2out.data[24] top.test.nvmestorageunit0.nvmestreammux0.stream2out.data[23] top.test.nvmestorageunit0.nvmestreammux0.stream2out.data[22] top.test.nvmestorageunit0.nvmestreammux0.stream2out.data[21] top.test.nvmestorageunit0.nvmestreammux0.stream2out.data[20] top.test.nvmestorageunit0.nvmestreammux0.stream2out.data[19] top.test.nvmestorageunit0.nvmestreammux0.stream2out.data[18] top.test.nvmestorageunit0.nvmestreammux0.stream2out.data[17] top.test.nvmestorageunit0.nvmestreammux0.stream2out.data[16] top.test.nvmestorageunit0.nvmestreammux0.stream2out.data[15] top.test.nvmestorageunit0.nvmestreammux0.stream2out.data[14] top.test.nvmestorageunit0.nvmestreammux0.stream2out.data[13] top.test.nvmestorageunit0.nvmestreammux0.stream2out.data[12] top.test.nvmestorageunit0.nvmestreammux0.stream2out.data[11] top.test.nvmestorageunit0.nvmestreammux0.stream2out.data[10] top.test.nvmestorageunit0.nvmestreammux0.stream2out.data[9] top.test.nvmestorageunit0.nvmestreammux0.stream2out.data[8] top.test.nvmestorageunit0.nvmestreammux0.stream2out.data[7] top.test.nvmestorageunit0.nvmestreammux0.stream2out.data[6] top.test.nvmestorageunit0.nvmestreammux0.stream2out.data[5] top.test.nvmestorageunit0.nvmestreammux0.stream2out.data[4] top.test.nvmestorageunit0.nvmestreammux0.stream2out.data[3] top.test.nvmestorageunit0.nvmestreammux0.stream2out.data[2] top.test.nvmestorageunit0.nvmestreammux0.stream2out.data[1] top.test.nvmestorageunit0.nvmestreammux0.stream2out.data[0]
-@29
-top.test.nvmestorageunit0.nvmestreammux0.stream2in.ready
-top.test.nvmestorageunit0.nvmestreammux0.stream2in.valid
-top.test.nvmestorageunit0.nvmestreammux0.stream2in.last
-@23
-#{top.test.nvmestorageunit0.nvmestreammux0.stream2in.data[127:0]} top.test.nvmestorageunit0.nvmestreammux0.stream2in.data[127] top.test.nvmestorageunit0.nvmestreammux0.stream2in.data[126] top.test.nvmestorageunit0.nvmestreammux0.stream2in.data[125] top.test.nvmestorageunit0.nvmestreammux0.stream2in.data[124] top.test.nvmestorageunit0.nvmestreammux0.stream2in.data[123] top.test.nvmestorageunit0.nvmestreammux0.stream2in.data[122] top.test.nvmestorageunit0.nvmestreammux0.stream2in.data[121] top.test.nvmestorageunit0.nvmestreammux0.stream2in.data[120] top.test.nvmestorageunit0.nvmestreammux0.stream2in.data[119] top.test.nvmestorageunit0.nvmestreammux0.stream2in.data[118] top.test.nvmestorageunit0.nvmestreammux0.stream2in.data[117] top.test.nvmestorageunit0.nvmestreammux0.stream2in.data[116] top.test.nvmestorageunit0.nvmestreammux0.stream2in.data[115] top.test.nvmestorageunit0.nvmestreammux0.stream2in.data[114] top.test.nvmestorageunit0.nvmestreammux0.stream2in.data[113] top.test.nvmestorageunit0.nvmestreammux0.stream2in.data[112] top.test.nvmestorageunit0.nvmestreammux0.stream2in.data[111] top.test.nvmestorageunit0.nvmestreammux0.stream2in.data[110] top.test.nvmestorageunit0.nvmestreammux0.stream2in.data[109] top.test.nvmestorageunit0.nvmestreammux0.stream2in.data[108] top.test.nvmestorageunit0.nvmestreammux0.stream2in.data[107] top.test.nvmestorageunit0.nvmestreammux0.stream2in.data[106] top.test.nvmestorageunit0.nvmestreammux0.stream2in.data[105] top.test.nvmestorageunit0.nvmestreammux0.stream2in.data[104] top.test.nvmestorageunit0.nvmestreammux0.stream2in.data[103] top.test.nvmestorageunit0.nvmestreammux0.stream2in.data[102] top.test.nvmestorageunit0.nvmestreammux0.stream2in.data[101] top.test.nvmestorageunit0.nvmestreammux0.stream2in.data[100] top.test.nvmestorageunit0.nvmestreammux0.stream2in.data[99] top.test.nvmestorageunit0.nvmestreammux0.stream2in.data[98] top.test.nvmestorageunit0.nvmestreammux0.stream2in.data[97] top.test.nvmestorageunit0.nvmestreammux0.stream2in.data[96] top.test.nvmestorageunit0.nvmestreammux0.stream2in.data[95] top.test.nvmestorageunit0.nvmestreammux0.stream2in.data[94] top.test.nvmestorageunit0.nvmestreammux0.stream2in.data[93] top.test.nvmestorageunit0.nvmestreammux0.stream2in.data[92] top.test.nvmestorageunit0.nvmestreammux0.stream2in.data[91] top.test.nvmestorageunit0.nvmestreammux0.stream2in.data[90] top.test.nvmestorageunit0.nvmestreammux0.stream2in.data[89] top.test.nvmestorageunit0.nvmestreammux0.stream2in.data[88] top.test.nvmestorageunit0.nvmestreammux0.stream2in.data[87] top.test.nvmestorageunit0.nvmestreammux0.stream2in.data[86] top.test.nvmestorageunit0.nvmestreammux0.stream2in.data[85] top.test.nvmestorageunit0.nvmestreammux0.stream2in.data[84] top.test.nvmestorageunit0.nvmestreammux0.stream2in.data[83] top.test.nvmestorageunit0.nvmestreammux0.stream2in.data[82] top.test.nvmestorageunit0.nvmestreammux0.stream2in.data[81] top.test.nvmestorageunit0.nvmestreammux0.stream2in.data[80] top.test.nvmestorageunit0.nvmestreammux0.stream2in.data[79] top.test.nvmestorageunit0.nvmestreammux0.stream2in.data[78] top.test.nvmestorageunit0.nvmestreammux0.stream2in.data[77] top.test.nvmestorageunit0.nvmestreammux0.stream2in.data[76] top.test.nvmestorageunit0.nvmestreammux0.stream2in.data[75] top.test.nvmestorageunit0.nvmestreammux0.stream2in.data[74] top.test.nvmestorageunit0.nvmestreammux0.stream2in.data[73] top.test.nvmestorageunit0.nvmestreammux0.stream2in.data[72] top.test.nvmestorageunit0.nvmestreammux0.stream2in.data[71] top.test.nvmestorageunit0.nvmestreammux0.stream2in.data[70] top.test.nvmestorageunit0.nvmestreammux0.stream2in.data[69] top.test.nvmestorageunit0.nvmestreammux0.stream2in.data[68] top.test.nvmestorageunit0.nvmestreammux0.stream2in.data[67] top.test.nvmestorageunit0.nvmestreammux0.stream2in.data[66] top.test.nvmestorageunit0.nvmestreammux0.stream2in.data[65] top.test.nvmestorageunit0.nvmestreammux0.stream2in.data[64] top.test.nvmestorageunit0.nvmestreammux0.stream2in.data[63] top.test.nvmestorageunit0.nvmestreammux0.stream2in.data[62] top.test.nvmestorageunit0.nvmestreammux0.stream2in.data[61] top.test.nvmestorageunit0.nvmestreammux0.stream2in.data[60] top.test.nvmestorageunit0.nvmestreammux0.stream2in.data[59] top.test.nvmestorageunit0.nvmestreammux0.stream2in.data[58] top.test.nvmestorageunit0.nvmestreammux0.stream2in.data[57] top.test.nvmestorageunit0.nvmestreammux0.stream2in.data[56] top.test.nvmestorageunit0.nvmestreammux0.stream2in.data[55] top.test.nvmestorageunit0.nvmestreammux0.stream2in.data[54] top.test.nvmestorageunit0.nvmestreammux0.stream2in.data[53] top.test.nvmestorageunit0.nvmestreammux0.stream2in.data[52] top.test.nvmestorageunit0.nvmestreammux0.stream2in.data[51] top.test.nvmestorageunit0.nvmestreammux0.stream2in.data[50] top.test.nvmestorageunit0.nvmestreammux0.stream2in.data[49] top.test.nvmestorageunit0.nvmestreammux0.stream2in.data[48] top.test.nvmestorageunit0.nvmestreammux0.stream2in.data[47] top.test.nvmestorageunit0.nvmestreammux0.stream2in.data[46] top.test.nvmestorageunit0.nvmestreammux0.stream2in.data[45] top.test.nvmestorageunit0.nvmestreammux0.stream2in.data[44] top.test.nvmestorageunit0.nvmestreammux0.stream2in.data[43] top.test.nvmestorageunit0.nvmestreammux0.stream2in.data[42] top.test.nvmestorageunit0.nvmestreammux0.stream2in.data[41] top.test.nvmestorageunit0.nvmestreammux0.stream2in.data[40] top.test.nvmestorageunit0.nvmestreammux0.stream2in.data[39] top.test.nvmestorageunit0.nvmestreammux0.stream2in.data[38] top.test.nvmestorageunit0.nvmestreammux0.stream2in.data[37] top.test.nvmestorageunit0.nvmestreammux0.stream2in.data[36] top.test.nvmestorageunit0.nvmestreammux0.stream2in.data[35] top.test.nvmestorageunit0.nvmestreammux0.stream2in.data[34] top.test.nvmestorageunit0.nvmestreammux0.stream2in.data[33] top.test.nvmestorageunit0.nvmestreammux0.stream2in.data[32] top.test.nvmestorageunit0.nvmestreammux0.stream2in.data[31] top.test.nvmestorageunit0.nvmestreammux0.stream2in.data[30] top.test.nvmestorageunit0.nvmestreammux0.stream2in.data[29] top.test.nvmestorageunit0.nvmestreammux0.stream2in.data[28] top.test.nvmestorageunit0.nvmestreammux0.stream2in.data[27] top.test.nvmestorageunit0.nvmestreammux0.stream2in.data[26] top.test.nvmestorageunit0.nvmestreammux0.stream2in.data[25] top.test.nvmestorageunit0.nvmestreammux0.stream2in.data[24] top.test.nvmestorageunit0.nvmestreammux0.stream2in.data[23] top.test.nvmestorageunit0.nvmestreammux0.stream2in.data[22] top.test.nvmestorageunit0.nvmestreammux0.stream2in.data[21] top.test.nvmestorageunit0.nvmestreammux0.stream2in.data[20] top.test.nvmestorageunit0.nvmestreammux0.stream2in.data[19] top.test.nvmestorageunit0.nvmestreammux0.stream2in.data[18] top.test.nvmestorageunit0.nvmestreammux0.stream2in.data[17] top.test.nvmestorageunit0.nvmestreammux0.stream2in.data[16] top.test.nvmestorageunit0.nvmestreammux0.stream2in.data[15] top.test.nvmestorageunit0.nvmestreammux0.stream2in.data[14] top.test.nvmestorageunit0.nvmestreammux0.stream2in.data[13] top.test.nvmestorageunit0.nvmestreammux0.stream2in.data[12] top.test.nvmestorageunit0.nvmestreammux0.stream2in.data[11] top.test.nvmestorageunit0.nvmestreammux0.stream2in.data[10] top.test.nvmestorageunit0.nvmestreammux0.stream2in.data[9] top.test.nvmestorageunit0.nvmestreammux0.stream2in.data[8] top.test.nvmestorageunit0.nvmestreammux0.stream2in.data[7] top.test.nvmestorageunit0.nvmestreammux0.stream2in.data[6] top.test.nvmestorageunit0.nvmestreammux0.stream2in.data[5] top.test.nvmestorageunit0.nvmestreammux0.stream2in.data[4] top.test.nvmestorageunit0.nvmestreammux0.stream2in.data[3] top.test.nvmestorageunit0.nvmestreammux0.stream2in.data[2] top.test.nvmestorageunit0.nvmestreammux0.stream2in.data[1] top.test.nvmestorageunit0.nvmestreammux0.stream2in.data[0]
-@29
-top.test.nvmestorageunit0.nvmestreammux0.stream3in.ready
-top.test.nvmestorageunit0.nvmestreammux0.stream3in.valid
-top.test.nvmestorageunit0.nvmestreammux0.stream3in.last
-@23
-#{top.test.nvmestorageunit0.nvmestreammux0.stream3in.data[127:0]} top.test.nvmestorageunit0.nvmestreammux0.stream3in.data[127] top.test.nvmestorageunit0.nvmestreammux0.stream3in.data[126] top.test.nvmestorageunit0.nvmestreammux0.stream3in.data[125] top.test.nvmestorageunit0.nvmestreammux0.stream3in.data[124] top.test.nvmestorageunit0.nvmestreammux0.stream3in.data[123] top.test.nvmestorageunit0.nvmestreammux0.stream3in.data[122] top.test.nvmestorageunit0.nvmestreammux0.stream3in.data[121] top.test.nvmestorageunit0.nvmestreammux0.stream3in.data[120] top.test.nvmestorageunit0.nvmestreammux0.stream3in.data[119] top.test.nvmestorageunit0.nvmestreammux0.stream3in.data[118] top.test.nvmestorageunit0.nvmestreammux0.stream3in.data[117] top.test.nvmestorageunit0.nvmestreammux0.stream3in.data[116] top.test.nvmestorageunit0.nvmestreammux0.stream3in.data[115] top.test.nvmestorageunit0.nvmestreammux0.stream3in.data[114] top.test.nvmestorageunit0.nvmestreammux0.stream3in.data[113] top.test.nvmestorageunit0.nvmestreammux0.stream3in.data[112] top.test.nvmestorageunit0.nvmestreammux0.stream3in.data[111] top.test.nvmestorageunit0.nvmestreammux0.stream3in.data[110] top.test.nvmestorageunit0.nvmestreammux0.stream3in.data[109] top.test.nvmestorageunit0.nvmestreammux0.stream3in.data[108] top.test.nvmestorageunit0.nvmestreammux0.stream3in.data[107] top.test.nvmestorageunit0.nvmestreammux0.stream3in.data[106] top.test.nvmestorageunit0.nvmestreammux0.stream3in.data[105] top.test.nvmestorageunit0.nvmestreammux0.stream3in.data[104] top.test.nvmestorageunit0.nvmestreammux0.stream3in.data[103] top.test.nvmestorageunit0.nvmestreammux0.stream3in.data[102] top.test.nvmestorageunit0.nvmestreammux0.stream3in.data[101] top.test.nvmestorageunit0.nvmestreammux0.stream3in.data[100] top.test.nvmestorageunit0.nvmestreammux0.stream3in.data[99] top.test.nvmestorageunit0.nvmestreammux0.stream3in.data[98] top.test.nvmestorageunit0.nvmestreammux0.stream3in.data[97] top.test.nvmestorageunit0.nvmestreammux0.stream3in.data[96] top.test.nvmestorageunit0.nvmestreammux0.stream3in.data[95] top.test.nvmestorageunit0.nvmestreammux0.stream3in.data[94] top.test.nvmestorageunit0.nvmestreammux0.stream3in.data[93] top.test.nvmestorageunit0.nvmestreammux0.stream3in.data[92] top.test.nvmestorageunit0.nvmestreammux0.stream3in.data[91] top.test.nvmestorageunit0.nvmestreammux0.stream3in.data[90] top.test.nvmestorageunit0.nvmestreammux0.stream3in.data[89] top.test.nvmestorageunit0.nvmestreammux0.stream3in.data[88] top.test.nvmestorageunit0.nvmestreammux0.stream3in.data[87] top.test.nvmestorageunit0.nvmestreammux0.stream3in.data[86] top.test.nvmestorageunit0.nvmestreammux0.stream3in.data[85] top.test.nvmestorageunit0.nvmestreammux0.stream3in.data[84] top.test.nvmestorageunit0.nvmestreammux0.stream3in.data[83] top.test.nvmestorageunit0.nvmestreammux0.stream3in.data[82] top.test.nvmestorageunit0.nvmestreammux0.stream3in.data[81] top.test.nvmestorageunit0.nvmestreammux0.stream3in.data[80] top.test.nvmestorageunit0.nvmestreammux0.stream3in.data[79] top.test.nvmestorageunit0.nvmestreammux0.stream3in.data[78] top.test.nvmestorageunit0.nvmestreammux0.stream3in.data[77] top.test.nvmestorageunit0.nvmestreammux0.stream3in.data[76] top.test.nvmestorageunit0.nvmestreammux0.stream3in.data[75] top.test.nvmestorageunit0.nvmestreammux0.stream3in.data[74] top.test.nvmestorageunit0.nvmestreammux0.stream3in.data[73] top.test.nvmestorageunit0.nvmestreammux0.stream3in.data[72] top.test.nvmestorageunit0.nvmestreammux0.stream3in.data[71] top.test.nvmestorageunit0.nvmestreammux0.stream3in.data[70] top.test.nvmestorageunit0.nvmestreammux0.stream3in.data[69] top.test.nvmestorageunit0.nvmestreammux0.stream3in.data[68] top.test.nvmestorageunit0.nvmestreammux0.stream3in.data[67] top.test.nvmestorageunit0.nvmestreammux0.stream3in.data[66] top.test.nvmestorageunit0.nvmestreammux0.stream3in.data[65] top.test.nvmestorageunit0.nvmestreammux0.stream3in.data[64] top.test.nvmestorageunit0.nvmestreammux0.stream3in.data[63] top.test.nvmestorageunit0.nvmestreammux0.stream3in.data[62] top.test.nvmestorageunit0.nvmestreammux0.stream3in.data[61] top.test.nvmestorageunit0.nvmestreammux0.stream3in.data[60] top.test.nvmestorageunit0.nvmestreammux0.stream3in.data[59] top.test.nvmestorageunit0.nvmestreammux0.stream3in.data[58] top.test.nvmestorageunit0.nvmestreammux0.stream3in.data[57] top.test.nvmestorageunit0.nvmestreammux0.stream3in.data[56] top.test.nvmestorageunit0.nvmestreammux0.stream3in.data[55] top.test.nvmestorageunit0.nvmestreammux0.stream3in.data[54] top.test.nvmestorageunit0.nvmestreammux0.stream3in.data[53] top.test.nvmestorageunit0.nvmestreammux0.stream3in.data[52] top.test.nvmestorageunit0.nvmestreammux0.stream3in.data[51] top.test.nvmestorageunit0.nvmestreammux0.stream3in.data[50] top.test.nvmestorageunit0.nvmestreammux0.stream3in.data[49] top.test.nvmestorageunit0.nvmestreammux0.stream3in.data[48] top.test.nvmestorageunit0.nvmestreammux0.stream3in.data[47] top.test.nvmestorageunit0.nvmestreammux0.stream3in.data[46] top.test.nvmestorageunit0.nvmestreammux0.stream3in.data[45] top.test.nvmestorageunit0.nvmestreammux0.stream3in.data[44] top.test.nvmestorageunit0.nvmestreammux0.stream3in.data[43] top.test.nvmestorageunit0.nvmestreammux0.stream3in.data[42] top.test.nvmestorageunit0.nvmestreammux0.stream3in.data[41] top.test.nvmestorageunit0.nvmestreammux0.stream3in.data[40] top.test.nvmestorageunit0.nvmestreammux0.stream3in.data[39] top.test.nvmestorageunit0.nvmestreammux0.stream3in.data[38] top.test.nvmestorageunit0.nvmestreammux0.stream3in.data[37] top.test.nvmestorageunit0.nvmestreammux0.stream3in.data[36] top.test.nvmestorageunit0.nvmestreammux0.stream3in.data[35] top.test.nvmestorageunit0.nvmestreammux0.stream3in.data[34] top.test.nvmestorageunit0.nvmestreammux0.stream3in.data[33] top.test.nvmestorageunit0.nvmestreammux0.stream3in.data[32] top.test.nvmestorageunit0.nvmestreammux0.stream3in.data[31] top.test.nvmestorageunit0.nvmestreammux0.stream3in.data[30] top.test.nvmestorageunit0.nvmestreammux0.stream3in.data[29] top.test.nvmestorageunit0.nvmestreammux0.stream3in.data[28] top.test.nvmestorageunit0.nvmestreammux0.stream3in.data[27] top.test.nvmestorageunit0.nvmestreammux0.stream3in.data[26] top.test.nvmestorageunit0.nvmestreammux0.stream3in.data[25] top.test.nvmestorageunit0.nvmestreammux0.stream3in.data[24] top.test.nvmestorageunit0.nvmestreammux0.stream3in.data[23] top.test.nvmestorageunit0.nvmestreammux0.stream3in.data[22] top.test.nvmestorageunit0.nvmestreammux0.stream3in.data[21] top.test.nvmestorageunit0.nvmestreammux0.stream3in.data[20] top.test.nvmestorageunit0.nvmestreammux0.stream3in.data[19] top.test.nvmestorageunit0.nvmestreammux0.stream3in.data[18] top.test.nvmestorageunit0.nvmestreammux0.stream3in.data[17] top.test.nvmestorageunit0.nvmestreammux0.stream3in.data[16] top.test.nvmestorageunit0.nvmestreammux0.stream3in.data[15] top.test.nvmestorageunit0.nvmestreammux0.stream3in.data[14] top.test.nvmestorageunit0.nvmestreammux0.stream3in.data[13] top.test.nvmestorageunit0.nvmestreammux0.stream3in.data[12] top.test.nvmestorageunit0.nvmestreammux0.stream3in.data[11] top.test.nvmestorageunit0.nvmestreammux0.stream3in.data[10] top.test.nvmestorageunit0.nvmestreammux0.stream3in.data[9] top.test.nvmestorageunit0.nvmestreammux0.stream3in.data[8] top.test.nvmestorageunit0.nvmestreammux0.stream3in.data[7] top.test.nvmestorageunit0.nvmestreammux0.stream3in.data[6] top.test.nvmestorageunit0.nvmestreammux0.stream3in.data[5] top.test.nvmestorageunit0.nvmestreammux0.stream3in.data[4] top.test.nvmestorageunit0.nvmestreammux0.stream3in.data[3] top.test.nvmestorageunit0.nvmestreammux0.stream3in.data[2] top.test.nvmestorageunit0.nvmestreammux0.stream3in.data[1] top.test.nvmestorageunit0.nvmestreammux0.stream3in.data[0]
-@29
-top.test.nvmestorageunit0.nvmestreammux0.stream3out.ready
-@23
-#{top.test.nvmestorageunit0.nvmestreammux0.stream3out.data[127:0]} top.test.nvmestorageunit0.nvmestreammux0.stream3out.data[127] top.test.nvmestorageunit0.nvmestreammux0.stream3out.data[126] top.test.nvmestorageunit0.nvmestreammux0.stream3out.data[125] top.test.nvmestorageunit0.nvmestreammux0.stream3out.data[124] top.test.nvmestorageunit0.nvmestreammux0.stream3out.data[123] top.test.nvmestorageunit0.nvmestreammux0.stream3out.data[122] top.test.nvmestorageunit0.nvmestreammux0.stream3out.data[121] top.test.nvmestorageunit0.nvmestreammux0.stream3out.data[120] top.test.nvmestorageunit0.nvmestreammux0.stream3out.data[119] top.test.nvmestorageunit0.nvmestreammux0.stream3out.data[118] top.test.nvmestorageunit0.nvmestreammux0.stream3out.data[117] top.test.nvmestorageunit0.nvmestreammux0.stream3out.data[116] top.test.nvmestorageunit0.nvmestreammux0.stream3out.data[115] top.test.nvmestorageunit0.nvmestreammux0.stream3out.data[114] top.test.nvmestorageunit0.nvmestreammux0.stream3out.data[113] top.test.nvmestorageunit0.nvmestreammux0.stream3out.data[112] top.test.nvmestorageunit0.nvmestreammux0.stream3out.data[111] top.test.nvmestorageunit0.nvmestreammux0.stream3out.data[110] top.test.nvmestorageunit0.nvmestreammux0.stream3out.data[109] top.test.nvmestorageunit0.nvmestreammux0.stream3out.data[108] top.test.nvmestorageunit0.nvmestreammux0.stream3out.data[107] top.test.nvmestorageunit0.nvmestreammux0.stream3out.data[106] top.test.nvmestorageunit0.nvmestreammux0.stream3out.data[105] top.test.nvmestorageunit0.nvmestreammux0.stream3out.data[104] top.test.nvmestorageunit0.nvmestreammux0.stream3out.data[103] top.test.nvmestorageunit0.nvmestreammux0.stream3out.data[102] top.test.nvmestorageunit0.nvmestreammux0.stream3out.data[101] top.test.nvmestorageunit0.nvmestreammux0.stream3out.data[100] top.test.nvmestorageunit0.nvmestreammux0.stream3out.data[99] top.test.nvmestorageunit0.nvmestreammux0.stream3out.data[98] top.test.nvmestorageunit0.nvmestreammux0.stream3out.data[97] top.test.nvmestorageunit0.nvmestreammux0.stream3out.data[96] top.test.nvmestorageunit0.nvmestreammux0.stream3out.data[95] top.test.nvmestorageunit0.nvmestreammux0.stream3out.data[94] top.test.nvmestorageunit0.nvmestreammux0.stream3out.data[93] top.test.nvmestorageunit0.nvmestreammux0.stream3out.data[92] top.test.nvmestorageunit0.nvmestreammux0.stream3out.data[91] top.test.nvmestorageunit0.nvmestreammux0.stream3out.data[90] top.test.nvmestorageunit0.nvmestreammux0.stream3out.data[89] top.test.nvmestorageunit0.nvmestreammux0.stream3out.data[88] top.test.nvmestorageunit0.nvmestreammux0.stream3out.data[87] top.test.nvmestorageunit0.nvmestreammux0.stream3out.data[86] top.test.nvmestorageunit0.nvmestreammux0.stream3out.data[85] top.test.nvmestorageunit0.nvmestreammux0.stream3out.data[84] top.test.nvmestorageunit0.nvmestreammux0.stream3out.data[83] top.test.nvmestorageunit0.nvmestreammux0.stream3out.data[82] top.test.nvmestorageunit0.nvmestreammux0.stream3out.data[81] top.test.nvmestorageunit0.nvmestreammux0.stream3out.data[80] top.test.nvmestorageunit0.nvmestreammux0.stream3out.data[79] top.test.nvmestorageunit0.nvmestreammux0.stream3out.data[78] top.test.nvmestorageunit0.nvmestreammux0.stream3out.data[77] top.test.nvmestorageunit0.nvmestreammux0.stream3out.data[76] top.test.nvmestorageunit0.nvmestreammux0.stream3out.data[75] top.test.nvmestorageunit0.nvmestreammux0.stream3out.data[74] top.test.nvmestorageunit0.nvmestreammux0.stream3out.data[73] top.test.nvmestorageunit0.nvmestreammux0.stream3out.data[72] top.test.nvmestorageunit0.nvmestreammux0.stream3out.data[71] top.test.nvmestorageunit0.nvmestreammux0.stream3out.data[70] top.test.nvmestorageunit0.nvmestreammux0.stream3out.data[69] top.test.nvmestorageunit0.nvmestreammux0.stream3out.data[68] top.test.nvmestorageunit0.nvmestreammux0.stream3out.data[67] top.test.nvmestorageunit0.nvmestreammux0.stream3out.data[66] top.test.nvmestorageunit0.nvmestreammux0.stream3out.data[65] top.test.nvmestorageunit0.nvmestreammux0.stream3out.data[64] top.test.nvmestorageunit0.nvmestreammux0.stream3out.data[63] top.test.nvmestorageunit0.nvmestreammux0.stream3out.data[62] top.test.nvmestorageunit0.nvmestreammux0.stream3out.data[61] top.test.nvmestorageunit0.nvmestreammux0.stream3out.data[60] top.test.nvmestorageunit0.nvmestreammux0.stream3out.data[59] top.test.nvmestorageunit0.nvmestreammux0.stream3out.data[58] top.test.nvmestorageunit0.nvmestreammux0.stream3out.data[57] top.test.nvmestorageunit0.nvmestreammux0.stream3out.data[56] top.test.nvmestorageunit0.nvmestreammux0.stream3out.data[55] top.test.nvmestorageunit0.nvmestreammux0.stream3out.data[54] top.test.nvmestorageunit0.nvmestreammux0.stream3out.data[53] top.test.nvmestorageunit0.nvmestreammux0.stream3out.data[52] top.test.nvmestorageunit0.nvmestreammux0.stream3out.data[51] top.test.nvmestorageunit0.nvmestreammux0.stream3out.data[50] top.test.nvmestorageunit0.nvmestreammux0.stream3out.data[49] top.test.nvmestorageunit0.nvmestreammux0.stream3out.data[48] top.test.nvmestorageunit0.nvmestreammux0.stream3out.data[47] top.test.nvmestorageunit0.nvmestreammux0.stream3out.data[46] top.test.nvmestorageunit0.nvmestreammux0.stream3out.data[45] top.test.nvmestorageunit0.nvmestreammux0.stream3out.data[44] top.test.nvmestorageunit0.nvmestreammux0.stream3out.data[43] top.test.nvmestorageunit0.nvmestreammux0.stream3out.data[42] top.test.nvmestorageunit0.nvmestreammux0.stream3out.data[41] top.test.nvmestorageunit0.nvmestreammux0.stream3out.data[40] top.test.nvmestorageunit0.nvmestreammux0.stream3out.data[39] top.test.nvmestorageunit0.nvmestreammux0.stream3out.data[38] top.test.nvmestorageunit0.nvmestreammux0.stream3out.data[37] top.test.nvmestorageunit0.nvmestreammux0.stream3out.data[36] top.test.nvmestorageunit0.nvmestreammux0.stream3out.data[35] top.test.nvmestorageunit0.nvmestreammux0.stream3out.data[34] top.test.nvmestorageunit0.nvmestreammux0.stream3out.data[33] top.test.nvmestorageunit0.nvmestreammux0.stream3out.data[32] top.test.nvmestorageunit0.nvmestreammux0.stream3out.data[31] top.test.nvmestorageunit0.nvmestreammux0.stream3out.data[30] top.test.nvmestorageunit0.nvmestreammux0.stream3out.data[29] top.test.nvmestorageunit0.nvmestreammux0.stream3out.data[28] top.test.nvmestorageunit0.nvmestreammux0.stream3out.data[27] top.test.nvmestorageunit0.nvmestreammux0.stream3out.data[26] top.test.nvmestorageunit0.nvmestreammux0.stream3out.data[25] top.test.nvmestorageunit0.nvmestreammux0.stream3out.data[24] top.test.nvmestorageunit0.nvmestreammux0.stream3out.data[23] top.test.nvmestorageunit0.nvmestreammux0.stream3out.data[22] top.test.nvmestorageunit0.nvmestreammux0.stream3out.data[21] top.test.nvmestorageunit0.nvmestreammux0.stream3out.data[20] top.test.nvmestorageunit0.nvmestreammux0.stream3out.data[19] top.test.nvmestorageunit0.nvmestreammux0.stream3out.data[18] top.test.nvmestorageunit0.nvmestreammux0.stream3out.data[17] top.test.nvmestorageunit0.nvmestreammux0.stream3out.data[16] top.test.nvmestorageunit0.nvmestreammux0.stream3out.data[15] top.test.nvmestorageunit0.nvmestreammux0.stream3out.data[14] top.test.nvmestorageunit0.nvmestreammux0.stream3out.data[13] top.test.nvmestorageunit0.nvmestreammux0.stream3out.data[12] top.test.nvmestorageunit0.nvmestreammux0.stream3out.data[11] top.test.nvmestorageunit0.nvmestreammux0.stream3out.data[10] top.test.nvmestorageunit0.nvmestreammux0.stream3out.data[9] top.test.nvmestorageunit0.nvmestreammux0.stream3out.data[8] top.test.nvmestorageunit0.nvmestreammux0.stream3out.data[7] top.test.nvmestorageunit0.nvmestreammux0.stream3out.data[6] top.test.nvmestorageunit0.nvmestreammux0.stream3out.data[5] top.test.nvmestorageunit0.nvmestreammux0.stream3out.data[4] top.test.nvmestorageunit0.nvmestreammux0.stream3out.data[3] top.test.nvmestorageunit0.nvmestreammux0.stream3out.data[2] top.test.nvmestorageunit0.nvmestreammux0.stream3out.data[1] top.test.nvmestorageunit0.nvmestreammux0.stream3out.data[0]
-@420
-top.test.nvmestorageunit0.nvmestreammux0.demuxstate
-@28
-top.test.nvmestorageunit0.nvmestreammux0.demuxreply
-@420
-top.test.nvmestorageunit0.nvmestreammux0.muxstate
-@28
-top.test.nvmestorageunit0.nvmestreammux0.muxstream2
-top.test.nvmestorageunit0.nvmestreammux0.stream3out.valid
-top.test.nvmestorageunit0.nvmestreammux0.stream3out.last
-[pattern_trace] 1
-[pattern_trace] 0
diff --git a/source/DuneNvmeTest/sim/testbench/test009-packets.vhd b/source/DuneNvmeTest/sim/testbench/test009-packets.vhd
deleted file mode 100644 (file)
index e924f6f..0000000
+++ /dev/null
@@ -1,342 +0,0 @@
---------------------------------------------------------------------------------
---     Test009-packets.vhd     Simple nvme interface tests
---     T.Barnaby,      Beam Ltd.       2020-04-14
---------------------------------------------------------------------------------
---
---
---
-library ieee ;
-use ieee.std_logic_1164.all;
-use ieee.numeric_std.all;
---use ieee.std_logic_unsigned.all;
---use ieee.std_logic_arith.all;
---use ieee.std_logic_misc.all;
---use ieee.std_logic_textio.all;
---use std.textio.all; 
-
-library work;
-use work.AxiPkg.all;
-use work.NvmeStoragePkg.all;
-
-entity Test is
-end;
-
-architecture sim of Test is
-
-component NvmeStorageUnit is
-generic(
-       Simulate        : boolean       := True
-);
-port (
-       clk             : in std_logic;                         --! The interface clock line
-       reset           : in std_logic;                         --! The active high reset line
-
-       -- Control and status interface
-       axilIn          : in AxilToSlave;                       --! Axil bus input signals
-       axilOut         : out AxilToMaster;                     --! Axil bus output signals
-
-       -- From host to NVMe request/reply streams
-       hostSend        : inout AxisStream := AxisInput;        --! Host request stream
-       hostRecv        : inout AxisStream := AxisOutput;       --! Host reply stream
-
-       -- AXIS data stream input
-       --dataRx        : inout AxisStream      := AxisInput;   --! Raw data to save stream
-
-       -- NVMe interface
-       nvme_clk_p      : in std_logic;                         --! Nvme external clock +ve
-       nvme_clk_n      : in std_logic;                         --! Nvme external clock -ve
-       nvme_reset_n    : out std_logic;                        --! Nvme reset output to reset NVMe devices
-       nvme_exp_txp    : out std_logic_vector(3 downto 0);     --! Nvme PCIe TX plus lanes
-       nvme_exp_txn    : out std_logic_vector(3 downto 0);     --! Nvme PCIe TX minus lanes
-       nvme_exp_rxp    : in std_logic_vector(3 downto 0);      --! Nvme PCIe RX plus lanes
-       nvme_exp_rxn    : in std_logic_vector(3 downto 0);      --! Nvme PCIe RX minus lanes
-
-       -- Debug
-       leds            : out std_logic_vector(3 downto 0)
-);
-end component;
-
-component AxisStreamMux is
-port (
-       clk             : in std_logic;                         --! The interface clock line
-       reset           : in std_logic;                         --! The active high reset line
-       
-       streamIn1       : inout AxisStream := AxisInput;        --! Input data stream
-       streamIn2       : inout AxisStream := AxisInput;        --! Input data stream
-
-       streamOut       : inout AxisStream := AxisOutput        --! Output data stream
-);
-end component;
-
-component AxisStreamDeMux is
-port (
-       clk             : in std_logic;                         --! The interface clock line
-       reset           : in std_logic;                         --! The active high reset line
-       
-       streamIn        : inout AxisStream := AxisInput;        --! Input data stream
-
-       streamOut1      : inout AxisStream := AxisOutput;       --! Output data stream1
-       streamOut2      : inout AxisStream := AxisOutput        --! Output data stream2
-);
-end component;
-
-component NvmeStreamMux is
-port (
-       clk             : in std_logic;                         --! The interface clock line
-       reset           : in std_logic;                         --! The active high reset line
-       
-       stream1In       : inout AxisStream := AxisInput;        --! Single multiplexed Input stream
-       stream1Out      : inout AxisStream := AxisOutput;       --! Single multiplexed Ouput stream
-
-       stream2In       : inout AxisStream := AxisInput;        --! Host Replies input stream
-       stream2Out      : inout AxisStream := AxisOutput;       --! Host Requests output stream
-
-       stream3In       : inout AxisStream := AxisInput;        --! Nvme Requests input stream
-       stream3Out      : inout AxisStream := AxisOutput        --! Nvme replies output stream
-);
-end component;
-
-constant TCQ           : time := 1 ns;
-constant CHUNK_SIZE    : integer := 32;                        -- The data write chunk size in DWords due to PCIe packet size limitations
-
-signal clk             : std_logic := '0';
-signal reset           : std_logic := '0';
-
-signal axil            : AxilBus;
-signal hostSend                : AxisStream    := AxisOutput;
-signal hostRecv                : AxisStream    := AxisInput;
-
-signal leds            : std_logic_vector(3 downto 0);
-
-signal hostReply       : AxisStream    := AxisInput;
-signal hostReq         : AxisStream    := AxisOutput;
-signal nvmeReq         : AxisStream    := AxisInput;
-signal nvmeReply       : AxisStream    := AxisOutput;
-
-type NvmeStateType is (NVME_STATE_IDLE, NVME_STATE_WRITEDATA_START, NVME_STATE_WRITEDATA);
-signal nvmeState       : NvmeStateType := NVME_STATE_IDLE;
-signal nvmeRequestHead : PcieRequestHead;
-signal nvmeRequestHead1        : PcieRequestHead;
-signal nvmeReplyHead   : PcieReplyHead;
-signal nvmeCount       : unsigned(10 downto 0);                        -- DWord data send count
-signal nvmeChunkCount  : unsigned(10 downto 0);                        -- DWord data send within a chunk count
-signal nvmeByteCount   : integer;
-signal nvmeData                : std_logic_vector(127 downto 0);
-
-signal sendData                : std_logic := '0';
-
-procedure pcieSendRequest(signal toSlave: inout AxisStream; request: in integer; address: in integer; tag: in integer; count: in integer; data: in integer) is
-variable packetHead    : PcieRequestHead;
-begin
-       packetHead.nvme := to_unsigned(0, packetHead.nvme'length);
-       packetHead.stream := to_unsigned(0, packetHead.stream'length);
-       packetHead.address := to_unsigned(address, packetHead.address'length);
-       packetHead.tag := to_unsigned(tag, packetHead.tag'length);
-       packetHead.count := to_unsigned(0, packetHead.count'length);
-       packetHead.request := to_unsigned(request, packetHead.request'length);
-
-       -- Write address
-       wait until rising_edge(clk);
-       toSlave.data <= to_stl(packetHead);
-       toSlave.valid <= '1';
-
-       if(count > 0) then
-               wait until rising_edge(clk) and (toSlave.ready = '1');
-               toSlave.data <= to_stl(0, 96) & to_stl(data, 32);
-               toSlave.valid <= '1';
-               toSlave.last <= '1';
-       else
-               toSlave.last <= '1';
-       end if;
-       
-       wait until rising_edge(clk) and (toSlave.ready = '1');
-       toSlave.valid <= '0';
-       toSlave.last <= '0';
-end procedure;
-
-procedure pcieSendReply(signal toSlave: inout AxisStream; status: in integer; address: in integer; tag: in integer; count: in integer; data: in integer) is
-variable packetHead    : PcieReplyHead;
-begin
-       packetHead.byteCount := to_unsigned(0, packetHead.byteCount'length);
-       packetHead.error := to_unsigned(0, packetHead.error'length);
-       packetHead.address := to_unsigned(address, packetHead.address'length);
-       packetHead.count := to_unsigned(count, packetHead.count'length);
-       packetHead.status := to_unsigned(status, packetHead.status'length);
-       packetHead.tag := to_unsigned(tag, packetHead.tag'length);
-       
-       -- Write address
-       wait until rising_edge(clk);
-       toSlave.data <= to_stl(packetHead);
-       toSlave.valid <= '1';
-
-       if(count > 0) then
-               wait until rising_edge(clk) and (toSlave.ready = '1');
-               toSlave.data <= to_stl(0, 96) & to_stl(data, 32);
-               toSlave.valid <= '1';
-               toSlave.last <= '1';
-       else
-               toSlave.last <= '1';
-       end if;
-       
-       wait until rising_edge(clk) and (toSlave.ready = '1');
-       toSlave.valid <= '0';
-       toSlave.last <= '0';
-end procedure;
-
-begin
-       hostReply.ready <= '1';
-       
-       NvmeStorageUnit0 : NvmeStorageUnit
-       port map (
-               clk             => clk,
-               reset           => reset,
-
-               axilIn          => axil.toSlave,
-               axilOut         => axil.toMaster,
-
-               hostSend        => hostSend,
-               hostRecv        => hostRecv,
-
-               -- NVMe interface
-               nvme_clk_p      => '0',
-               nvme_clk_n      => '0',
-               --nvme_exp_txp  : out std_logic_vector(0 downto 0);
-               --nvme_exp_txn  : out std_logic_vector(0 downto 0);
-               nvme_exp_rxp    => "0000",
-               nvme_exp_rxn    => "0000",
-
-               leds            => leds
-       );
-
-       clock : process
-       begin
-               wait for 5 ns; clk  <= not clk;
-       end process clock;
-
-       init : process
-       begin
-               reset   <= '1';
-               wait for 20 ns;
-               reset   <= '0';
-               wait;
-       end process;
-       
-       run : process
-       begin
-               wait until reset = '0';
-               
-               -- Set PCIe configuration command register to 0x06
-               pcieSendRequest(hostReq, 10, 4, 16#44#, 1, 16#00100006#);
-               
-               -- Read PCIe configuration command register
-               pcieSendRequest(hostReq, 8, 4, 16#55#, 0, 0);
-               
-               -- Test Mux with Write to Nvmeregister 0
-               --pcieSendRequest(hostReq, 1, 16#0000#, 16#22#, 1, 16#40#);
-               --wait until rising_edge(clk);
-               --pcieSendReply(nvmeReply, 1, 16#1000#, 16#22#, 0, 0);
-
-               -- Write to AdminQueue doorbell register
-               --pcieSendRequest(hostReq, 1, 16#1000#, 16#22#, 1, 16#40#);
-
-               -- Perform NVMe data write
-               -- Write to DataWriteQueue doorbell register
-               --pcieSendRequest(hostReq, 1, 16#1008#, 16#23#, 1, 16#40#);
-               wait;
-       end process;
-       
-       -- Host to Nvme stream Mux/DeMux
-       nvmeStreamMux0 : NvmeStreamMux
-       port map (
-               clk             => clk,
-               reset           => reset,
-
-               stream1In       => hostRecv,
-               stream1Out      => hostSend,
-               
-               stream2In       => nvmeReply,
-               stream2Out      => nvmeReq,
-
-               stream3In       => hostReq,
-               stream3Out      => hostReply
-       );
-
-
-       nvmeRequestHead <= to_PcieRequestHead(nvmeReq.data);
-       nvmeReply.data <= nvmeData when(nvmeState = NVME_STATE_WRITEDATA) else to_stl(nvmeReplyHead);
-       
-       requests : process(clk)
-       begin
-               if(rising_edge(clk)) then
-                       if(reset = '1') then
-                               nvmeReq.ready   <= '0';
-                               nvmeReply.valid <= '0';
-                               nvmeReply.last  <= '0';
-                               nvmeData        <= (others => '0');
-                               nvmeState       <= NVME_STATE_IDLE;
-                       else
-                               case (nvmeState) is
-                               when NVME_STATE_IDLE =>
-                                       if(nvmeReq.ready = '1' and nvmeReq.valid = '1') then
-                                               nvmeRequestHead1        <= nvmeRequestHead;
-                                               nvmeCount               <= nvmeRequestHead.count + 1;
-                                               nvmeState               <= NVME_STATE_WRITEDATA_START;
-                                               nvmeReq.ready           <= '0';
-                                       else
-                                               nvmeReq.ready           <= '1';
-                                       end if;
-
-                               when NVME_STATE_WRITEDATA_START =>
-                                       nvmeReplyHead.byteCount <= (nvmeRequestHead1.count + 1) & "00";
-                                       nvmeReplyHead.address   <= nvmeRequestHead1.address(nvmeReplyHead.address'length - 1 downto 0);
-                                       nvmeReplyHead.error     <= (others => '0');
-                                       nvmeReplyHead.status    <= (others => '0');
-                                       nvmeReplyHead.tag       <= nvmeRequestHead1.tag;
-
-                                       if(nvmeCount > CHUNK_SIZE) then
-                                               nvmeReplyHead.count     <= to_unsigned(CHUNK_SIZE-1, nvmeReplyHead.count'length);
-                                               nvmeChunkCount          <= to_unsigned(CHUNK_SIZE, nvmeReplyHead.count'length);
-                                       else
-                                               nvmeReplyHead.count     <= nvmeCount - 1;
-                                               nvmeChunkCount          <= nvmeCount;
-                                       end if;
-
-                                       nvmeByteCount           <= (to_integer(nvmeRequestHead1.count) + 1) * 4;
-                                       nvmeReply.valid         <= '1';
-
-                                       if(nvmeReply.ready = '1' and nvmeReply.valid = '1') then
-                                               nvmeData        <= std_logic_vector(unsigned(nvmeData) + 1);
-                                               nvmeState       <= NVME_STATE_WRITEDATA;
-                                       end if;
-
-                               when NVME_STATE_WRITEDATA =>
-                                       if(nvmeReply.ready = '1' and nvmeReply.valid = '1') then
-                                               nvmeData        <= std_logic_vector(unsigned(nvmeData) + 1);
-                                               if(nvmeChunkCount = 4) then
-                                                       if(nvmeCount = 4) then
-                                                               nvmeReply.valid <= '0';
-                                                               nvmeReply.last  <= '0';
-                                                               nvmeState       <= NVME_STATE_IDLE;
-                                                       else
-                                                               nvmeReply.last  <= '0';
-                                                               nvmeState       <= NVME_STATE_WRITEDATA_START;
-                                                       end if;
-                                               elsif(nvmeChunkCount = 8) then
-                                                       nvmeReply.last <= '1';
-                                               else
-                                                       nvmeReply.last <= '0';
-                                               end if;
-                                               nvmeChunkCount  <= nvmeChunkCount - 4;
-                                               nvmeCount       <= nvmeCount - 4;
-                                       end if;
-                               end case;
-                       end if;
-               end if;
-       end process;
-
-       stop : process
-       begin
-               wait for 700 ns;
-               assert false report "simulation ended ok" severity failure;
-       end process;
-end;
diff --git a/source/DuneNvmeTest/sim/testbench/test010-queueram.sav b/source/DuneNvmeTest/sim/testbench/test010-queueram.sav
deleted file mode 100644 (file)
index 22ab465..0000000
+++ /dev/null
@@ -1,74 +0,0 @@
-[*]
-[*] GTKWave Analyzer v3.3.104 (w)1999-2020 BSI
-[*] Tue Apr 21 11:05:16 2020
-[*]
-[dumpfile] "/src/dune/FpgaPlay/test017-nvmeprocess/sim/simu/test.ghw"
-[dumpfile_mtime] "Tue Apr 21 11:04:48 2020"
-[dumpfile_size] 22405
-[savefile] "/src/dune/FpgaPlay/test017-nvmeprocess/sim/testbench/test010-queueram.sav"
-[timestart] 0
-[size] 1920 1119
-[pos] -1 -1
-*-26.422903 29600000 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1
-[treeopen] top.
-[treeopen] top.test.
-[treeopen] top.test.hostreq.
-[treeopen] top.test.nvmequeues0.
-[treeopen] top.test.nvmequeues0.nvmequeueinpos.
-[treeopen] top.test.nvmequeues0.nvmereplyout.
-[sst_width] 256
-[signals_width] 502
-[sst_expanded] 1
-[sst_vpaned_height] 513
-@28
-top.test.clk
-top.test.reset
-top.test.hostreq.ready
-top.test.hostreq.valid
-top.test.hostreq.last
-@22
-#{top.test.hostreq.data[127:0]} top.test.hostreq.data[127] top.test.hostreq.data[126] top.test.hostreq.data[125] top.test.hostreq.data[124] top.test.hostreq.data[123] top.test.hostreq.data[122] top.test.hostreq.data[121] top.test.hostreq.data[120] top.test.hostreq.data[119] top.test.hostreq.data[118] top.test.hostreq.data[117] top.test.hostreq.data[116] top.test.hostreq.data[115] top.test.hostreq.data[114] top.test.hostreq.data[113] top.test.hostreq.data[112] top.test.hostreq.data[111] top.test.hostreq.data[110] top.test.hostreq.data[109] top.test.hostreq.data[108] top.test.hostreq.data[107] top.test.hostreq.data[106] top.test.hostreq.data[105] top.test.hostreq.data[104] top.test.hostreq.data[103] top.test.hostreq.data[102] top.test.hostreq.data[101] top.test.hostreq.data[100] top.test.hostreq.data[99] top.test.hostreq.data[98] top.test.hostreq.data[97] top.test.hostreq.data[96] top.test.hostreq.data[95] top.test.hostreq.data[94] top.test.hostreq.data[93] top.test.hostreq.data[92] top.test.hostreq.data[91] top.test.hostreq.data[90] top.test.hostreq.data[89] top.test.hostreq.data[88] top.test.hostreq.data[87] top.test.hostreq.data[86] top.test.hostreq.data[85] top.test.hostreq.data[84] top.test.hostreq.data[83] top.test.hostreq.data[82] top.test.hostreq.data[81] top.test.hostreq.data[80] top.test.hostreq.data[79] top.test.hostreq.data[78] top.test.hostreq.data[77] top.test.hostreq.data[76] top.test.hostreq.data[75] top.test.hostreq.data[74] top.test.hostreq.data[73] top.test.hostreq.data[72] top.test.hostreq.data[71] top.test.hostreq.data[70] top.test.hostreq.data[69] top.test.hostreq.data[68] top.test.hostreq.data[67] top.test.hostreq.data[66] top.test.hostreq.data[65] top.test.hostreq.data[64] top.test.hostreq.data[63] top.test.hostreq.data[62] top.test.hostreq.data[61] top.test.hostreq.data[60] top.test.hostreq.data[59] top.test.hostreq.data[58] top.test.hostreq.data[57] top.test.hostreq.data[56] top.test.hostreq.data[55] top.test.hostreq.data[54] top.test.hostreq.data[53] top.test.hostreq.data[52] top.test.hostreq.data[51] top.test.hostreq.data[50] top.test.hostreq.data[49] top.test.hostreq.data[48] top.test.hostreq.data[47] top.test.hostreq.data[46] top.test.hostreq.data[45] top.test.hostreq.data[44] top.test.hostreq.data[43] top.test.hostreq.data[42] top.test.hostreq.data[41] top.test.hostreq.data[40] top.test.hostreq.data[39] top.test.hostreq.data[38] top.test.hostreq.data[37] top.test.hostreq.data[36] top.test.hostreq.data[35] top.test.hostreq.data[34] top.test.hostreq.data[33] top.test.hostreq.data[32] top.test.hostreq.data[31] top.test.hostreq.data[30] top.test.hostreq.data[29] top.test.hostreq.data[28] top.test.hostreq.data[27] top.test.hostreq.data[26] top.test.hostreq.data[25] top.test.hostreq.data[24] top.test.hostreq.data[23] top.test.hostreq.data[22] top.test.hostreq.data[21] top.test.hostreq.data[20] top.test.hostreq.data[19] top.test.hostreq.data[18] top.test.hostreq.data[17] top.test.hostreq.data[16] top.test.hostreq.data[15] top.test.hostreq.data[14] top.test.hostreq.data[13] top.test.hostreq.data[12] top.test.hostreq.data[11] top.test.hostreq.data[10] top.test.hostreq.data[9] top.test.hostreq.data[8] top.test.hostreq.data[7] top.test.hostreq.data[6] top.test.hostreq.data[5] top.test.hostreq.data[4] top.test.hostreq.data[3] top.test.hostreq.data[2] top.test.hostreq.data[1] top.test.hostreq.data[0]
-@28
-#{top.test.hostreqpos[2:0]} top.test.hostreqpos[0]
-@22
-#{top.test.nvmequeues0.ram[0][127:0]} top.test.nvmequeues0.ram[0][127] top.test.nvmequeues0.ram[0][126] top.test.nvmequeues0.ram[0][125] top.test.nvmequeues0.ram[0][124] top.test.nvmequeues0.ram[0][123] top.test.nvmequeues0.ram[0][122] top.test.nvmequeues0.ram[0][121] top.test.nvmequeues0.ram[0][120] top.test.nvmequeues0.ram[0][119] top.test.nvmequeues0.ram[0][118] top.test.nvmequeues0.ram[0][117] top.test.nvmequeues0.ram[0][116] top.test.nvmequeues0.ram[0][115] top.test.nvmequeues0.ram[0][114] top.test.nvmequeues0.ram[0][113] top.test.nvmequeues0.ram[0][112] top.test.nvmequeues0.ram[0][111] top.test.nvmequeues0.ram[0][110] top.test.nvmequeues0.ram[0][109] top.test.nvmequeues0.ram[0][108] top.test.nvmequeues0.ram[0][107] top.test.nvmequeues0.ram[0][106] top.test.nvmequeues0.ram[0][105] top.test.nvmequeues0.ram[0][104] top.test.nvmequeues0.ram[0][103] top.test.nvmequeues0.ram[0][102] top.test.nvmequeues0.ram[0][101] top.test.nvmequeues0.ram[0][100] top.test.nvmequeues0.ram[0][99] top.test.nvmequeues0.ram[0][98] top.test.nvmequeues0.ram[0][97] top.test.nvmequeues0.ram[0][96] top.test.nvmequeues0.ram[0][95] top.test.nvmequeues0.ram[0][94] top.test.nvmequeues0.ram[0][93] top.test.nvmequeues0.ram[0][92] top.test.nvmequeues0.ram[0][91] top.test.nvmequeues0.ram[0][90] top.test.nvmequeues0.ram[0][89] top.test.nvmequeues0.ram[0][88] top.test.nvmequeues0.ram[0][87] top.test.nvmequeues0.ram[0][86] top.test.nvmequeues0.ram[0][85] top.test.nvmequeues0.ram[0][84] top.test.nvmequeues0.ram[0][83] top.test.nvmequeues0.ram[0][82] top.test.nvmequeues0.ram[0][81] top.test.nvmequeues0.ram[0][80] top.test.nvmequeues0.ram[0][79] top.test.nvmequeues0.ram[0][78] top.test.nvmequeues0.ram[0][77] top.test.nvmequeues0.ram[0][76] top.test.nvmequeues0.ram[0][75] top.test.nvmequeues0.ram[0][74] top.test.nvmequeues0.ram[0][73] top.test.nvmequeues0.ram[0][72] top.test.nvmequeues0.ram[0][71] top.test.nvmequeues0.ram[0][70] top.test.nvmequeues0.ram[0][69] top.test.nvmequeues0.ram[0][68] top.test.nvmequeues0.ram[0][67] top.test.nvmequeues0.ram[0][66] top.test.nvmequeues0.ram[0][65] top.test.nvmequeues0.ram[0][64] top.test.nvmequeues0.ram[0][63] top.test.nvmequeues0.ram[0][62] top.test.nvmequeues0.ram[0][61] top.test.nvmequeues0.ram[0][60] top.test.nvmequeues0.ram[0][59] top.test.nvmequeues0.ram[0][58] top.test.nvmequeues0.ram[0][57] top.test.nvmequeues0.ram[0][56] top.test.nvmequeues0.ram[0][55] top.test.nvmequeues0.ram[0][54] top.test.nvmequeues0.ram[0][53] top.test.nvmequeues0.ram[0][52] top.test.nvmequeues0.ram[0][51] top.test.nvmequeues0.ram[0][50] top.test.nvmequeues0.ram[0][49] top.test.nvmequeues0.ram[0][48] top.test.nvmequeues0.ram[0][47] top.test.nvmequeues0.ram[0][46] top.test.nvmequeues0.ram[0][45] top.test.nvmequeues0.ram[0][44] top.test.nvmequeues0.ram[0][43] top.test.nvmequeues0.ram[0][42] top.test.nvmequeues0.ram[0][41] top.test.nvmequeues0.ram[0][40] top.test.nvmequeues0.ram[0][39] top.test.nvmequeues0.ram[0][38] top.test.nvmequeues0.ram[0][37] top.test.nvmequeues0.ram[0][36] top.test.nvmequeues0.ram[0][35] top.test.nvmequeues0.ram[0][34] top.test.nvmequeues0.ram[0][33] top.test.nvmequeues0.ram[0][32] top.test.nvmequeues0.ram[0][31] top.test.nvmequeues0.ram[0][30] top.test.nvmequeues0.ram[0][29] top.test.nvmequeues0.ram[0][28] top.test.nvmequeues0.ram[0][27] top.test.nvmequeues0.ram[0][26] top.test.nvmequeues0.ram[0][25] top.test.nvmequeues0.ram[0][24] top.test.nvmequeues0.ram[0][23] top.test.nvmequeues0.ram[0][22] top.test.nvmequeues0.ram[0][21] top.test.nvmequeues0.ram[0][20] top.test.nvmequeues0.ram[0][19] top.test.nvmequeues0.ram[0][18] top.test.nvmequeues0.ram[0][17] top.test.nvmequeues0.ram[0][16] top.test.nvmequeues0.ram[0][15] top.test.nvmequeues0.ram[0][14] top.test.nvmequeues0.ram[0][13] top.test.nvmequeues0.ram[0][12] top.test.nvmequeues0.ram[0][11] top.test.nvmequeues0.ram[0][10] top.test.nvmequeues0.ram[0][9] top.test.nvmequeues0.ram[0][8] top.test.nvmequeues0.ram[0][7] top.test.nvmequeues0.ram[0][6] top.test.nvmequeues0.ram[0][5] top.test.nvmequeues0.ram[0][4] top.test.nvmequeues0.ram[0][3] top.test.nvmequeues0.ram[0][2] top.test.nvmequeues0.ram[0][1] top.test.nvmequeues0.ram[0][0]
-#{top.test.nvmequeues0.ram[1][127:0]} top.test.nvmequeues0.ram[1][127] top.test.nvmequeues0.ram[1][126] top.test.nvmequeues0.ram[1][125] top.test.nvmequeues0.ram[1][124] top.test.nvmequeues0.ram[1][123] top.test.nvmequeues0.ram[1][122] top.test.nvmequeues0.ram[1][121] top.test.nvmequeues0.ram[1][120] top.test.nvmequeues0.ram[1][119] top.test.nvmequeues0.ram[1][118] top.test.nvmequeues0.ram[1][117] top.test.nvmequeues0.ram[1][116] top.test.nvmequeues0.ram[1][115] top.test.nvmequeues0.ram[1][114] top.test.nvmequeues0.ram[1][113] top.test.nvmequeues0.ram[1][112] top.test.nvmequeues0.ram[1][111] top.test.nvmequeues0.ram[1][110] top.test.nvmequeues0.ram[1][109] top.test.nvmequeues0.ram[1][108] top.test.nvmequeues0.ram[1][107] top.test.nvmequeues0.ram[1][106] top.test.nvmequeues0.ram[1][105] top.test.nvmequeues0.ram[1][104] top.test.nvmequeues0.ram[1][103] top.test.nvmequeues0.ram[1][102] top.test.nvmequeues0.ram[1][101] top.test.nvmequeues0.ram[1][100] top.test.nvmequeues0.ram[1][99] top.test.nvmequeues0.ram[1][98] top.test.nvmequeues0.ram[1][97] top.test.nvmequeues0.ram[1][96] top.test.nvmequeues0.ram[1][95] top.test.nvmequeues0.ram[1][94] top.test.nvmequeues0.ram[1][93] top.test.nvmequeues0.ram[1][92] top.test.nvmequeues0.ram[1][91] top.test.nvmequeues0.ram[1][90] top.test.nvmequeues0.ram[1][89] top.test.nvmequeues0.ram[1][88] top.test.nvmequeues0.ram[1][87] top.test.nvmequeues0.ram[1][86] top.test.nvmequeues0.ram[1][85] top.test.nvmequeues0.ram[1][84] top.test.nvmequeues0.ram[1][83] top.test.nvmequeues0.ram[1][82] top.test.nvmequeues0.ram[1][81] top.test.nvmequeues0.ram[1][80] top.test.nvmequeues0.ram[1][79] top.test.nvmequeues0.ram[1][78] top.test.nvmequeues0.ram[1][77] top.test.nvmequeues0.ram[1][76] top.test.nvmequeues0.ram[1][75] top.test.nvmequeues0.ram[1][74] top.test.nvmequeues0.ram[1][73] top.test.nvmequeues0.ram[1][72] top.test.nvmequeues0.ram[1][71] top.test.nvmequeues0.ram[1][70] top.test.nvmequeues0.ram[1][69] top.test.nvmequeues0.ram[1][68] top.test.nvmequeues0.ram[1][67] top.test.nvmequeues0.ram[1][66] top.test.nvmequeues0.ram[1][65] top.test.nvmequeues0.ram[1][64] top.test.nvmequeues0.ram[1][63] top.test.nvmequeues0.ram[1][62] top.test.nvmequeues0.ram[1][61] top.test.nvmequeues0.ram[1][60] top.test.nvmequeues0.ram[1][59] top.test.nvmequeues0.ram[1][58] top.test.nvmequeues0.ram[1][57] top.test.nvmequeues0.ram[1][56] top.test.nvmequeues0.ram[1][55] top.test.nvmequeues0.ram[1][54] top.test.nvmequeues0.ram[1][53] top.test.nvmequeues0.ram[1][52] top.test.nvmequeues0.ram[1][51] top.test.nvmequeues0.ram[1][50] top.test.nvmequeues0.ram[1][49] top.test.nvmequeues0.ram[1][48] top.test.nvmequeues0.ram[1][47] top.test.nvmequeues0.ram[1][46] top.test.nvmequeues0.ram[1][45] top.test.nvmequeues0.ram[1][44] top.test.nvmequeues0.ram[1][43] top.test.nvmequeues0.ram[1][42] top.test.nvmequeues0.ram[1][41] top.test.nvmequeues0.ram[1][40] top.test.nvmequeues0.ram[1][39] top.test.nvmequeues0.ram[1][38] top.test.nvmequeues0.ram[1][37] top.test.nvmequeues0.ram[1][36] top.test.nvmequeues0.ram[1][35] top.test.nvmequeues0.ram[1][34] top.test.nvmequeues0.ram[1][33] top.test.nvmequeues0.ram[1][32] top.test.nvmequeues0.ram[1][31] top.test.nvmequeues0.ram[1][30] top.test.nvmequeues0.ram[1][29] top.test.nvmequeues0.ram[1][28] top.test.nvmequeues0.ram[1][27] top.test.nvmequeues0.ram[1][26] top.test.nvmequeues0.ram[1][25] top.test.nvmequeues0.ram[1][24] top.test.nvmequeues0.ram[1][23] top.test.nvmequeues0.ram[1][22] top.test.nvmequeues0.ram[1][21] top.test.nvmequeues0.ram[1][20] top.test.nvmequeues0.ram[1][19] top.test.nvmequeues0.ram[1][18] top.test.nvmequeues0.ram[1][17] top.test.nvmequeues0.ram[1][16] top.test.nvmequeues0.ram[1][15] top.test.nvmequeues0.ram[1][14] top.test.nvmequeues0.ram[1][13] top.test.nvmequeues0.ram[1][12] top.test.nvmequeues0.ram[1][11] top.test.nvmequeues0.ram[1][10] top.test.nvmequeues0.ram[1][9] top.test.nvmequeues0.ram[1][8] top.test.nvmequeues0.ram[1][7] top.test.nvmequeues0.ram[1][6] top.test.nvmequeues0.ram[1][5] top.test.nvmequeues0.ram[1][4] top.test.nvmequeues0.ram[1][3] top.test.nvmequeues0.ram[1][2] top.test.nvmequeues0.ram[1][1] top.test.nvmequeues0.ram[1][0]
-#{top.test.nvmequeues0.ram[2][127:0]} top.test.nvmequeues0.ram[2][127] top.test.nvmequeues0.ram[2][126] top.test.nvmequeues0.ram[2][125] top.test.nvmequeues0.ram[2][124] top.test.nvmequeues0.ram[2][123] top.test.nvmequeues0.ram[2][122] top.test.nvmequeues0.ram[2][121] top.test.nvmequeues0.ram[2][120] top.test.nvmequeues0.ram[2][119] top.test.nvmequeues0.ram[2][118] top.test.nvmequeues0.ram[2][117] top.test.nvmequeues0.ram[2][116] top.test.nvmequeues0.ram[2][115] top.test.nvmequeues0.ram[2][114] top.test.nvmequeues0.ram[2][113] top.test.nvmequeues0.ram[2][112] top.test.nvmequeues0.ram[2][111] top.test.nvmequeues0.ram[2][110] top.test.nvmequeues0.ram[2][109] top.test.nvmequeues0.ram[2][108] top.test.nvmequeues0.ram[2][107] top.test.nvmequeues0.ram[2][106] top.test.nvmequeues0.ram[2][105] top.test.nvmequeues0.ram[2][104] top.test.nvmequeues0.ram[2][103] top.test.nvmequeues0.ram[2][102] top.test.nvmequeues0.ram[2][101] top.test.nvmequeues0.ram[2][100] top.test.nvmequeues0.ram[2][99] top.test.nvmequeues0.ram[2][98] top.test.nvmequeues0.ram[2][97] top.test.nvmequeues0.ram[2][96] top.test.nvmequeues0.ram[2][95] top.test.nvmequeues0.ram[2][94] top.test.nvmequeues0.ram[2][93] top.test.nvmequeues0.ram[2][92] top.test.nvmequeues0.ram[2][91] top.test.nvmequeues0.ram[2][90] top.test.nvmequeues0.ram[2][89] top.test.nvmequeues0.ram[2][88] top.test.nvmequeues0.ram[2][87] top.test.nvmequeues0.ram[2][86] top.test.nvmequeues0.ram[2][85] top.test.nvmequeues0.ram[2][84] top.test.nvmequeues0.ram[2][83] top.test.nvmequeues0.ram[2][82] top.test.nvmequeues0.ram[2][81] top.test.nvmequeues0.ram[2][80] top.test.nvmequeues0.ram[2][79] top.test.nvmequeues0.ram[2][78] top.test.nvmequeues0.ram[2][77] top.test.nvmequeues0.ram[2][76] top.test.nvmequeues0.ram[2][75] top.test.nvmequeues0.ram[2][74] top.test.nvmequeues0.ram[2][73] top.test.nvmequeues0.ram[2][72] top.test.nvmequeues0.ram[2][71] top.test.nvmequeues0.ram[2][70] top.test.nvmequeues0.ram[2][69] top.test.nvmequeues0.ram[2][68] top.test.nvmequeues0.ram[2][67] top.test.nvmequeues0.ram[2][66] top.test.nvmequeues0.ram[2][65] top.test.nvmequeues0.ram[2][64] top.test.nvmequeues0.ram[2][63] top.test.nvmequeues0.ram[2][62] top.test.nvmequeues0.ram[2][61] top.test.nvmequeues0.ram[2][60] top.test.nvmequeues0.ram[2][59] top.test.nvmequeues0.ram[2][58] top.test.nvmequeues0.ram[2][57] top.test.nvmequeues0.ram[2][56] top.test.nvmequeues0.ram[2][55] top.test.nvmequeues0.ram[2][54] top.test.nvmequeues0.ram[2][53] top.test.nvmequeues0.ram[2][52] top.test.nvmequeues0.ram[2][51] top.test.nvmequeues0.ram[2][50] top.test.nvmequeues0.ram[2][49] top.test.nvmequeues0.ram[2][48] top.test.nvmequeues0.ram[2][47] top.test.nvmequeues0.ram[2][46] top.test.nvmequeues0.ram[2][45] top.test.nvmequeues0.ram[2][44] top.test.nvmequeues0.ram[2][43] top.test.nvmequeues0.ram[2][42] top.test.nvmequeues0.ram[2][41] top.test.nvmequeues0.ram[2][40] top.test.nvmequeues0.ram[2][39] top.test.nvmequeues0.ram[2][38] top.test.nvmequeues0.ram[2][37] top.test.nvmequeues0.ram[2][36] top.test.nvmequeues0.ram[2][35] top.test.nvmequeues0.ram[2][34] top.test.nvmequeues0.ram[2][33] top.test.nvmequeues0.ram[2][32] top.test.nvmequeues0.ram[2][31] top.test.nvmequeues0.ram[2][30] top.test.nvmequeues0.ram[2][29] top.test.nvmequeues0.ram[2][28] top.test.nvmequeues0.ram[2][27] top.test.nvmequeues0.ram[2][26] top.test.nvmequeues0.ram[2][25] top.test.nvmequeues0.ram[2][24] top.test.nvmequeues0.ram[2][23] top.test.nvmequeues0.ram[2][22] top.test.nvmequeues0.ram[2][21] top.test.nvmequeues0.ram[2][20] top.test.nvmequeues0.ram[2][19] top.test.nvmequeues0.ram[2][18] top.test.nvmequeues0.ram[2][17] top.test.nvmequeues0.ram[2][16] top.test.nvmequeues0.ram[2][15] top.test.nvmequeues0.ram[2][14] top.test.nvmequeues0.ram[2][13] top.test.nvmequeues0.ram[2][12] top.test.nvmequeues0.ram[2][11] top.test.nvmequeues0.ram[2][10] top.test.nvmequeues0.ram[2][9] top.test.nvmequeues0.ram[2][8] top.test.nvmequeues0.ram[2][7] top.test.nvmequeues0.ram[2][6] top.test.nvmequeues0.ram[2][5] top.test.nvmequeues0.ram[2][4] top.test.nvmequeues0.ram[2][3] top.test.nvmequeues0.ram[2][2] top.test.nvmequeues0.ram[2][1] top.test.nvmequeues0.ram[2][0]
-#{top.test.nvmequeues0.ram[3][127:0]} top.test.nvmequeues0.ram[3][127] top.test.nvmequeues0.ram[3][126] top.test.nvmequeues0.ram[3][125] top.test.nvmequeues0.ram[3][124] top.test.nvmequeues0.ram[3][123] top.test.nvmequeues0.ram[3][122] top.test.nvmequeues0.ram[3][121] top.test.nvmequeues0.ram[3][120] top.test.nvmequeues0.ram[3][119] top.test.nvmequeues0.ram[3][118] top.test.nvmequeues0.ram[3][117] top.test.nvmequeues0.ram[3][116] top.test.nvmequeues0.ram[3][115] top.test.nvmequeues0.ram[3][114] top.test.nvmequeues0.ram[3][113] top.test.nvmequeues0.ram[3][112] top.test.nvmequeues0.ram[3][111] top.test.nvmequeues0.ram[3][110] top.test.nvmequeues0.ram[3][109] top.test.nvmequeues0.ram[3][108] top.test.nvmequeues0.ram[3][107] top.test.nvmequeues0.ram[3][106] top.test.nvmequeues0.ram[3][105] top.test.nvmequeues0.ram[3][104] top.test.nvmequeues0.ram[3][103] top.test.nvmequeues0.ram[3][102] top.test.nvmequeues0.ram[3][101] top.test.nvmequeues0.ram[3][100] top.test.nvmequeues0.ram[3][99] top.test.nvmequeues0.ram[3][98] top.test.nvmequeues0.ram[3][97] top.test.nvmequeues0.ram[3][96] top.test.nvmequeues0.ram[3][95] top.test.nvmequeues0.ram[3][94] top.test.nvmequeues0.ram[3][93] top.test.nvmequeues0.ram[3][92] top.test.nvmequeues0.ram[3][91] top.test.nvmequeues0.ram[3][90] top.test.nvmequeues0.ram[3][89] top.test.nvmequeues0.ram[3][88] top.test.nvmequeues0.ram[3][87] top.test.nvmequeues0.ram[3][86] top.test.nvmequeues0.ram[3][85] top.test.nvmequeues0.ram[3][84] top.test.nvmequeues0.ram[3][83] top.test.nvmequeues0.ram[3][82] top.test.nvmequeues0.ram[3][81] top.test.nvmequeues0.ram[3][80] top.test.nvmequeues0.ram[3][79] top.test.nvmequeues0.ram[3][78] top.test.nvmequeues0.ram[3][77] top.test.nvmequeues0.ram[3][76] top.test.nvmequeues0.ram[3][75] top.test.nvmequeues0.ram[3][74] top.test.nvmequeues0.ram[3][73] top.test.nvmequeues0.ram[3][72] top.test.nvmequeues0.ram[3][71] top.test.nvmequeues0.ram[3][70] top.test.nvmequeues0.ram[3][69] top.test.nvmequeues0.ram[3][68] top.test.nvmequeues0.ram[3][67] top.test.nvmequeues0.ram[3][66] top.test.nvmequeues0.ram[3][65] top.test.nvmequeues0.ram[3][64] top.test.nvmequeues0.ram[3][63] top.test.nvmequeues0.ram[3][62] top.test.nvmequeues0.ram[3][61] top.test.nvmequeues0.ram[3][60] top.test.nvmequeues0.ram[3][59] top.test.nvmequeues0.ram[3][58] top.test.nvmequeues0.ram[3][57] top.test.nvmequeues0.ram[3][56] top.test.nvmequeues0.ram[3][55] top.test.nvmequeues0.ram[3][54] top.test.nvmequeues0.ram[3][53] top.test.nvmequeues0.ram[3][52] top.test.nvmequeues0.ram[3][51] top.test.nvmequeues0.ram[3][50] top.test.nvmequeues0.ram[3][49] top.test.nvmequeues0.ram[3][48] top.test.nvmequeues0.ram[3][47] top.test.nvmequeues0.ram[3][46] top.test.nvmequeues0.ram[3][45] top.test.nvmequeues0.ram[3][44] top.test.nvmequeues0.ram[3][43] top.test.nvmequeues0.ram[3][42] top.test.nvmequeues0.ram[3][41] top.test.nvmequeues0.ram[3][40] top.test.nvmequeues0.ram[3][39] top.test.nvmequeues0.ram[3][38] top.test.nvmequeues0.ram[3][37] top.test.nvmequeues0.ram[3][36] top.test.nvmequeues0.ram[3][35] top.test.nvmequeues0.ram[3][34] top.test.nvmequeues0.ram[3][33] top.test.nvmequeues0.ram[3][32] top.test.nvmequeues0.ram[3][31] top.test.nvmequeues0.ram[3][30] top.test.nvmequeues0.ram[3][29] top.test.nvmequeues0.ram[3][28] top.test.nvmequeues0.ram[3][27] top.test.nvmequeues0.ram[3][26] top.test.nvmequeues0.ram[3][25] top.test.nvmequeues0.ram[3][24] top.test.nvmequeues0.ram[3][23] top.test.nvmequeues0.ram[3][22] top.test.nvmequeues0.ram[3][21] top.test.nvmequeues0.ram[3][20] top.test.nvmequeues0.ram[3][19] top.test.nvmequeues0.ram[3][18] top.test.nvmequeues0.ram[3][17] top.test.nvmequeues0.ram[3][16] top.test.nvmequeues0.ram[3][15] top.test.nvmequeues0.ram[3][14] top.test.nvmequeues0.ram[3][13] top.test.nvmequeues0.ram[3][12] top.test.nvmequeues0.ram[3][11] top.test.nvmequeues0.ram[3][10] top.test.nvmequeues0.ram[3][9] top.test.nvmequeues0.ram[3][8] top.test.nvmequeues0.ram[3][7] top.test.nvmequeues0.ram[3][6] top.test.nvmequeues0.ram[3][5] top.test.nvmequeues0.ram[3][4] top.test.nvmequeues0.ram[3][3] top.test.nvmequeues0.ram[3][2] top.test.nvmequeues0.ram[3][1] top.test.nvmequeues0.ram[3][0]
-#{top.test.nvmequeues0.ram[4][127:0]} top.test.nvmequeues0.ram[4][127] top.test.nvmequeues0.ram[4][126] top.test.nvmequeues0.ram[4][125] top.test.nvmequeues0.ram[4][124] top.test.nvmequeues0.ram[4][123] top.test.nvmequeues0.ram[4][122] top.test.nvmequeues0.ram[4][121] top.test.nvmequeues0.ram[4][120] top.test.nvmequeues0.ram[4][119] top.test.nvmequeues0.ram[4][118] top.test.nvmequeues0.ram[4][117] top.test.nvmequeues0.ram[4][116] top.test.nvmequeues0.ram[4][115] top.test.nvmequeues0.ram[4][114] top.test.nvmequeues0.ram[4][113] top.test.nvmequeues0.ram[4][112] top.test.nvmequeues0.ram[4][111] top.test.nvmequeues0.ram[4][110] top.test.nvmequeues0.ram[4][109] top.test.nvmequeues0.ram[4][108] top.test.nvmequeues0.ram[4][107] top.test.nvmequeues0.ram[4][106] top.test.nvmequeues0.ram[4][105] top.test.nvmequeues0.ram[4][104] top.test.nvmequeues0.ram[4][103] top.test.nvmequeues0.ram[4][102] top.test.nvmequeues0.ram[4][101] top.test.nvmequeues0.ram[4][100] top.test.nvmequeues0.ram[4][99] top.test.nvmequeues0.ram[4][98] top.test.nvmequeues0.ram[4][97] top.test.nvmequeues0.ram[4][96] top.test.nvmequeues0.ram[4][95] top.test.nvmequeues0.ram[4][94] top.test.nvmequeues0.ram[4][93] top.test.nvmequeues0.ram[4][92] top.test.nvmequeues0.ram[4][91] top.test.nvmequeues0.ram[4][90] top.test.nvmequeues0.ram[4][89] top.test.nvmequeues0.ram[4][88] top.test.nvmequeues0.ram[4][87] top.test.nvmequeues0.ram[4][86] top.test.nvmequeues0.ram[4][85] top.test.nvmequeues0.ram[4][84] top.test.nvmequeues0.ram[4][83] top.test.nvmequeues0.ram[4][82] top.test.nvmequeues0.ram[4][81] top.test.nvmequeues0.ram[4][80] top.test.nvmequeues0.ram[4][79] top.test.nvmequeues0.ram[4][78] top.test.nvmequeues0.ram[4][77] top.test.nvmequeues0.ram[4][76] top.test.nvmequeues0.ram[4][75] top.test.nvmequeues0.ram[4][74] top.test.nvmequeues0.ram[4][73] top.test.nvmequeues0.ram[4][72] top.test.nvmequeues0.ram[4][71] top.test.nvmequeues0.ram[4][70] top.test.nvmequeues0.ram[4][69] top.test.nvmequeues0.ram[4][68] top.test.nvmequeues0.ram[4][67] top.test.nvmequeues0.ram[4][66] top.test.nvmequeues0.ram[4][65] top.test.nvmequeues0.ram[4][64] top.test.nvmequeues0.ram[4][63] top.test.nvmequeues0.ram[4][62] top.test.nvmequeues0.ram[4][61] top.test.nvmequeues0.ram[4][60] top.test.nvmequeues0.ram[4][59] top.test.nvmequeues0.ram[4][58] top.test.nvmequeues0.ram[4][57] top.test.nvmequeues0.ram[4][56] top.test.nvmequeues0.ram[4][55] top.test.nvmequeues0.ram[4][54] top.test.nvmequeues0.ram[4][53] top.test.nvmequeues0.ram[4][52] top.test.nvmequeues0.ram[4][51] top.test.nvmequeues0.ram[4][50] top.test.nvmequeues0.ram[4][49] top.test.nvmequeues0.ram[4][48] top.test.nvmequeues0.ram[4][47] top.test.nvmequeues0.ram[4][46] top.test.nvmequeues0.ram[4][45] top.test.nvmequeues0.ram[4][44] top.test.nvmequeues0.ram[4][43] top.test.nvmequeues0.ram[4][42] top.test.nvmequeues0.ram[4][41] top.test.nvmequeues0.ram[4][40] top.test.nvmequeues0.ram[4][39] top.test.nvmequeues0.ram[4][38] top.test.nvmequeues0.ram[4][37] top.test.nvmequeues0.ram[4][36] top.test.nvmequeues0.ram[4][35] top.test.nvmequeues0.ram[4][34] top.test.nvmequeues0.ram[4][33] top.test.nvmequeues0.ram[4][32] top.test.nvmequeues0.ram[4][31] top.test.nvmequeues0.ram[4][30] top.test.nvmequeues0.ram[4][29] top.test.nvmequeues0.ram[4][28] top.test.nvmequeues0.ram[4][27] top.test.nvmequeues0.ram[4][26] top.test.nvmequeues0.ram[4][25] top.test.nvmequeues0.ram[4][24] top.test.nvmequeues0.ram[4][23] top.test.nvmequeues0.ram[4][22] top.test.nvmequeues0.ram[4][21] top.test.nvmequeues0.ram[4][20] top.test.nvmequeues0.ram[4][19] top.test.nvmequeues0.ram[4][18] top.test.nvmequeues0.ram[4][17] top.test.nvmequeues0.ram[4][16] top.test.nvmequeues0.ram[4][15] top.test.nvmequeues0.ram[4][14] top.test.nvmequeues0.ram[4][13] top.test.nvmequeues0.ram[4][12] top.test.nvmequeues0.ram[4][11] top.test.nvmequeues0.ram[4][10] top.test.nvmequeues0.ram[4][9] top.test.nvmequeues0.ram[4][8] top.test.nvmequeues0.ram[4][7] top.test.nvmequeues0.ram[4][6] top.test.nvmequeues0.ram[4][5] top.test.nvmequeues0.ram[4][4] top.test.nvmequeues0.ram[4][3] top.test.nvmequeues0.ram[4][2] top.test.nvmequeues0.ram[4][1] top.test.nvmequeues0.ram[4][0]
-#{top.test.nvmequeues0.ram[5][127:0]} top.test.nvmequeues0.ram[5][127] top.test.nvmequeues0.ram[5][126] top.test.nvmequeues0.ram[5][125] top.test.nvmequeues0.ram[5][124] top.test.nvmequeues0.ram[5][123] top.test.nvmequeues0.ram[5][122] top.test.nvmequeues0.ram[5][121] top.test.nvmequeues0.ram[5][120] top.test.nvmequeues0.ram[5][119] top.test.nvmequeues0.ram[5][118] top.test.nvmequeues0.ram[5][117] top.test.nvmequeues0.ram[5][116] top.test.nvmequeues0.ram[5][115] top.test.nvmequeues0.ram[5][114] top.test.nvmequeues0.ram[5][113] top.test.nvmequeues0.ram[5][112] top.test.nvmequeues0.ram[5][111] top.test.nvmequeues0.ram[5][110] top.test.nvmequeues0.ram[5][109] top.test.nvmequeues0.ram[5][108] top.test.nvmequeues0.ram[5][107] top.test.nvmequeues0.ram[5][106] top.test.nvmequeues0.ram[5][105] top.test.nvmequeues0.ram[5][104] top.test.nvmequeues0.ram[5][103] top.test.nvmequeues0.ram[5][102] top.test.nvmequeues0.ram[5][101] top.test.nvmequeues0.ram[5][100] top.test.nvmequeues0.ram[5][99] top.test.nvmequeues0.ram[5][98] top.test.nvmequeues0.ram[5][97] top.test.nvmequeues0.ram[5][96] top.test.nvmequeues0.ram[5][95] top.test.nvmequeues0.ram[5][94] top.test.nvmequeues0.ram[5][93] top.test.nvmequeues0.ram[5][92] top.test.nvmequeues0.ram[5][91] top.test.nvmequeues0.ram[5][90] top.test.nvmequeues0.ram[5][89] top.test.nvmequeues0.ram[5][88] top.test.nvmequeues0.ram[5][87] top.test.nvmequeues0.ram[5][86] top.test.nvmequeues0.ram[5][85] top.test.nvmequeues0.ram[5][84] top.test.nvmequeues0.ram[5][83] top.test.nvmequeues0.ram[5][82] top.test.nvmequeues0.ram[5][81] top.test.nvmequeues0.ram[5][80] top.test.nvmequeues0.ram[5][79] top.test.nvmequeues0.ram[5][78] top.test.nvmequeues0.ram[5][77] top.test.nvmequeues0.ram[5][76] top.test.nvmequeues0.ram[5][75] top.test.nvmequeues0.ram[5][74] top.test.nvmequeues0.ram[5][73] top.test.nvmequeues0.ram[5][72] top.test.nvmequeues0.ram[5][71] top.test.nvmequeues0.ram[5][70] top.test.nvmequeues0.ram[5][69] top.test.nvmequeues0.ram[5][68] top.test.nvmequeues0.ram[5][67] top.test.nvmequeues0.ram[5][66] top.test.nvmequeues0.ram[5][65] top.test.nvmequeues0.ram[5][64] top.test.nvmequeues0.ram[5][63] top.test.nvmequeues0.ram[5][62] top.test.nvmequeues0.ram[5][61] top.test.nvmequeues0.ram[5][60] top.test.nvmequeues0.ram[5][59] top.test.nvmequeues0.ram[5][58] top.test.nvmequeues0.ram[5][57] top.test.nvmequeues0.ram[5][56] top.test.nvmequeues0.ram[5][55] top.test.nvmequeues0.ram[5][54] top.test.nvmequeues0.ram[5][53] top.test.nvmequeues0.ram[5][52] top.test.nvmequeues0.ram[5][51] top.test.nvmequeues0.ram[5][50] top.test.nvmequeues0.ram[5][49] top.test.nvmequeues0.ram[5][48] top.test.nvmequeues0.ram[5][47] top.test.nvmequeues0.ram[5][46] top.test.nvmequeues0.ram[5][45] top.test.nvmequeues0.ram[5][44] top.test.nvmequeues0.ram[5][43] top.test.nvmequeues0.ram[5][42] top.test.nvmequeues0.ram[5][41] top.test.nvmequeues0.ram[5][40] top.test.nvmequeues0.ram[5][39] top.test.nvmequeues0.ram[5][38] top.test.nvmequeues0.ram[5][37] top.test.nvmequeues0.ram[5][36] top.test.nvmequeues0.ram[5][35] top.test.nvmequeues0.ram[5][34] top.test.nvmequeues0.ram[5][33] top.test.nvmequeues0.ram[5][32] top.test.nvmequeues0.ram[5][31] top.test.nvmequeues0.ram[5][30] top.test.nvmequeues0.ram[5][29] top.test.nvmequeues0.ram[5][28] top.test.nvmequeues0.ram[5][27] top.test.nvmequeues0.ram[5][26] top.test.nvmequeues0.ram[5][25] top.test.nvmequeues0.ram[5][24] top.test.nvmequeues0.ram[5][23] top.test.nvmequeues0.ram[5][22] top.test.nvmequeues0.ram[5][21] top.test.nvmequeues0.ram[5][20] top.test.nvmequeues0.ram[5][19] top.test.nvmequeues0.ram[5][18] top.test.nvmequeues0.ram[5][17] top.test.nvmequeues0.ram[5][16] top.test.nvmequeues0.ram[5][15] top.test.nvmequeues0.ram[5][14] top.test.nvmequeues0.ram[5][13] top.test.nvmequeues0.ram[5][12] top.test.nvmequeues0.ram[5][11] top.test.nvmequeues0.ram[5][10] top.test.nvmequeues0.ram[5][9] top.test.nvmequeues0.ram[5][8] top.test.nvmequeues0.ram[5][7] top.test.nvmequeues0.ram[5][6] top.test.nvmequeues0.ram[5][5] top.test.nvmequeues0.ram[5][4] top.test.nvmequeues0.ram[5][3] top.test.nvmequeues0.ram[5][2] top.test.nvmequeues0.ram[5][1] top.test.nvmequeues0.ram[5][0]
-#{top.test.nvmequeues0.ram[6][127:0]} top.test.nvmequeues0.ram[6][127] top.test.nvmequeues0.ram[6][126] top.test.nvmequeues0.ram[6][125] top.test.nvmequeues0.ram[6][124] top.test.nvmequeues0.ram[6][123] top.test.nvmequeues0.ram[6][122] top.test.nvmequeues0.ram[6][121] top.test.nvmequeues0.ram[6][120] top.test.nvmequeues0.ram[6][119] top.test.nvmequeues0.ram[6][118] top.test.nvmequeues0.ram[6][117] top.test.nvmequeues0.ram[6][116] top.test.nvmequeues0.ram[6][115] top.test.nvmequeues0.ram[6][114] top.test.nvmequeues0.ram[6][113] top.test.nvmequeues0.ram[6][112] top.test.nvmequeues0.ram[6][111] top.test.nvmequeues0.ram[6][110] top.test.nvmequeues0.ram[6][109] top.test.nvmequeues0.ram[6][108] top.test.nvmequeues0.ram[6][107] top.test.nvmequeues0.ram[6][106] top.test.nvmequeues0.ram[6][105] top.test.nvmequeues0.ram[6][104] top.test.nvmequeues0.ram[6][103] top.test.nvmequeues0.ram[6][102] top.test.nvmequeues0.ram[6][101] top.test.nvmequeues0.ram[6][100] top.test.nvmequeues0.ram[6][99] top.test.nvmequeues0.ram[6][98] top.test.nvmequeues0.ram[6][97] top.test.nvmequeues0.ram[6][96] top.test.nvmequeues0.ram[6][95] top.test.nvmequeues0.ram[6][94] top.test.nvmequeues0.ram[6][93] top.test.nvmequeues0.ram[6][92] top.test.nvmequeues0.ram[6][91] top.test.nvmequeues0.ram[6][90] top.test.nvmequeues0.ram[6][89] top.test.nvmequeues0.ram[6][88] top.test.nvmequeues0.ram[6][87] top.test.nvmequeues0.ram[6][86] top.test.nvmequeues0.ram[6][85] top.test.nvmequeues0.ram[6][84] top.test.nvmequeues0.ram[6][83] top.test.nvmequeues0.ram[6][82] top.test.nvmequeues0.ram[6][81] top.test.nvmequeues0.ram[6][80] top.test.nvmequeues0.ram[6][79] top.test.nvmequeues0.ram[6][78] top.test.nvmequeues0.ram[6][77] top.test.nvmequeues0.ram[6][76] top.test.nvmequeues0.ram[6][75] top.test.nvmequeues0.ram[6][74] top.test.nvmequeues0.ram[6][73] top.test.nvmequeues0.ram[6][72] top.test.nvmequeues0.ram[6][71] top.test.nvmequeues0.ram[6][70] top.test.nvmequeues0.ram[6][69] top.test.nvmequeues0.ram[6][68] top.test.nvmequeues0.ram[6][67] top.test.nvmequeues0.ram[6][66] top.test.nvmequeues0.ram[6][65] top.test.nvmequeues0.ram[6][64] top.test.nvmequeues0.ram[6][63] top.test.nvmequeues0.ram[6][62] top.test.nvmequeues0.ram[6][61] top.test.nvmequeues0.ram[6][60] top.test.nvmequeues0.ram[6][59] top.test.nvmequeues0.ram[6][58] top.test.nvmequeues0.ram[6][57] top.test.nvmequeues0.ram[6][56] top.test.nvmequeues0.ram[6][55] top.test.nvmequeues0.ram[6][54] top.test.nvmequeues0.ram[6][53] top.test.nvmequeues0.ram[6][52] top.test.nvmequeues0.ram[6][51] top.test.nvmequeues0.ram[6][50] top.test.nvmequeues0.ram[6][49] top.test.nvmequeues0.ram[6][48] top.test.nvmequeues0.ram[6][47] top.test.nvmequeues0.ram[6][46] top.test.nvmequeues0.ram[6][45] top.test.nvmequeues0.ram[6][44] top.test.nvmequeues0.ram[6][43] top.test.nvmequeues0.ram[6][42] top.test.nvmequeues0.ram[6][41] top.test.nvmequeues0.ram[6][40] top.test.nvmequeues0.ram[6][39] top.test.nvmequeues0.ram[6][38] top.test.nvmequeues0.ram[6][37] top.test.nvmequeues0.ram[6][36] top.test.nvmequeues0.ram[6][35] top.test.nvmequeues0.ram[6][34] top.test.nvmequeues0.ram[6][33] top.test.nvmequeues0.ram[6][32] top.test.nvmequeues0.ram[6][31] top.test.nvmequeues0.ram[6][30] top.test.nvmequeues0.ram[6][29] top.test.nvmequeues0.ram[6][28] top.test.nvmequeues0.ram[6][27] top.test.nvmequeues0.ram[6][26] top.test.nvmequeues0.ram[6][25] top.test.nvmequeues0.ram[6][24] top.test.nvmequeues0.ram[6][23] top.test.nvmequeues0.ram[6][22] top.test.nvmequeues0.ram[6][21] top.test.nvmequeues0.ram[6][20] top.test.nvmequeues0.ram[6][19] top.test.nvmequeues0.ram[6][18] top.test.nvmequeues0.ram[6][17] top.test.nvmequeues0.ram[6][16] top.test.nvmequeues0.ram[6][15] top.test.nvmequeues0.ram[6][14] top.test.nvmequeues0.ram[6][13] top.test.nvmequeues0.ram[6][12] top.test.nvmequeues0.ram[6][11] top.test.nvmequeues0.ram[6][10] top.test.nvmequeues0.ram[6][9] top.test.nvmequeues0.ram[6][8] top.test.nvmequeues0.ram[6][7] top.test.nvmequeues0.ram[6][6] top.test.nvmequeues0.ram[6][5] top.test.nvmequeues0.ram[6][4] top.test.nvmequeues0.ram[6][3] top.test.nvmequeues0.ram[6][2] top.test.nvmequeues0.ram[6][1] top.test.nvmequeues0.ram[6][0]
-#{top.test.nvmequeues0.ram[7][127:0]} top.test.nvmequeues0.ram[7][127] top.test.nvmequeues0.ram[7][126] top.test.nvmequeues0.ram[7][125] top.test.nvmequeues0.ram[7][124] top.test.nvmequeues0.ram[7][123] top.test.nvmequeues0.ram[7][122] top.test.nvmequeues0.ram[7][121] top.test.nvmequeues0.ram[7][120] top.test.nvmequeues0.ram[7][119] top.test.nvmequeues0.ram[7][118] top.test.nvmequeues0.ram[7][117] top.test.nvmequeues0.ram[7][116] top.test.nvmequeues0.ram[7][115] top.test.nvmequeues0.ram[7][114] top.test.nvmequeues0.ram[7][113] top.test.nvmequeues0.ram[7][112] top.test.nvmequeues0.ram[7][111] top.test.nvmequeues0.ram[7][110] top.test.nvmequeues0.ram[7][109] top.test.nvmequeues0.ram[7][108] top.test.nvmequeues0.ram[7][107] top.test.nvmequeues0.ram[7][106] top.test.nvmequeues0.ram[7][105] top.test.nvmequeues0.ram[7][104] top.test.nvmequeues0.ram[7][103] top.test.nvmequeues0.ram[7][102] top.test.nvmequeues0.ram[7][101] top.test.nvmequeues0.ram[7][100] top.test.nvmequeues0.ram[7][99] top.test.nvmequeues0.ram[7][98] top.test.nvmequeues0.ram[7][97] top.test.nvmequeues0.ram[7][96] top.test.nvmequeues0.ram[7][95] top.test.nvmequeues0.ram[7][94] top.test.nvmequeues0.ram[7][93] top.test.nvmequeues0.ram[7][92] top.test.nvmequeues0.ram[7][91] top.test.nvmequeues0.ram[7][90] top.test.nvmequeues0.ram[7][89] top.test.nvmequeues0.ram[7][88] top.test.nvmequeues0.ram[7][87] top.test.nvmequeues0.ram[7][86] top.test.nvmequeues0.ram[7][85] top.test.nvmequeues0.ram[7][84] top.test.nvmequeues0.ram[7][83] top.test.nvmequeues0.ram[7][82] top.test.nvmequeues0.ram[7][81] top.test.nvmequeues0.ram[7][80] top.test.nvmequeues0.ram[7][79] top.test.nvmequeues0.ram[7][78] top.test.nvmequeues0.ram[7][77] top.test.nvmequeues0.ram[7][76] top.test.nvmequeues0.ram[7][75] top.test.nvmequeues0.ram[7][74] top.test.nvmequeues0.ram[7][73] top.test.nvmequeues0.ram[7][72] top.test.nvmequeues0.ram[7][71] top.test.nvmequeues0.ram[7][70] top.test.nvmequeues0.ram[7][69] top.test.nvmequeues0.ram[7][68] top.test.nvmequeues0.ram[7][67] top.test.nvmequeues0.ram[7][66] top.test.nvmequeues0.ram[7][65] top.test.nvmequeues0.ram[7][64] top.test.nvmequeues0.ram[7][63] top.test.nvmequeues0.ram[7][62] top.test.nvmequeues0.ram[7][61] top.test.nvmequeues0.ram[7][60] top.test.nvmequeues0.ram[7][59] top.test.nvmequeues0.ram[7][58] top.test.nvmequeues0.ram[7][57] top.test.nvmequeues0.ram[7][56] top.test.nvmequeues0.ram[7][55] top.test.nvmequeues0.ram[7][54] top.test.nvmequeues0.ram[7][53] top.test.nvmequeues0.ram[7][52] top.test.nvmequeues0.ram[7][51] top.test.nvmequeues0.ram[7][50] top.test.nvmequeues0.ram[7][49] top.test.nvmequeues0.ram[7][48] top.test.nvmequeues0.ram[7][47] top.test.nvmequeues0.ram[7][46] top.test.nvmequeues0.ram[7][45] top.test.nvmequeues0.ram[7][44] top.test.nvmequeues0.ram[7][43] top.test.nvmequeues0.ram[7][42] top.test.nvmequeues0.ram[7][41] top.test.nvmequeues0.ram[7][40] top.test.nvmequeues0.ram[7][39] top.test.nvmequeues0.ram[7][38] top.test.nvmequeues0.ram[7][37] top.test.nvmequeues0.ram[7][36] top.test.nvmequeues0.ram[7][35] top.test.nvmequeues0.ram[7][34] top.test.nvmequeues0.ram[7][33] top.test.nvmequeues0.ram[7][32] top.test.nvmequeues0.ram[7][31] top.test.nvmequeues0.ram[7][30] top.test.nvmequeues0.ram[7][29] top.test.nvmequeues0.ram[7][28] top.test.nvmequeues0.ram[7][27] top.test.nvmequeues0.ram[7][26] top.test.nvmequeues0.ram[7][25] top.test.nvmequeues0.ram[7][24] top.test.nvmequeues0.ram[7][23] top.test.nvmequeues0.ram[7][22] top.test.nvmequeues0.ram[7][21] top.test.nvmequeues0.ram[7][20] top.test.nvmequeues0.ram[7][19] top.test.nvmequeues0.ram[7][18] top.test.nvmequeues0.ram[7][17] top.test.nvmequeues0.ram[7][16] top.test.nvmequeues0.ram[7][15] top.test.nvmequeues0.ram[7][14] top.test.nvmequeues0.ram[7][13] top.test.nvmequeues0.ram[7][12] top.test.nvmequeues0.ram[7][11] top.test.nvmequeues0.ram[7][10] top.test.nvmequeues0.ram[7][9] top.test.nvmequeues0.ram[7][8] top.test.nvmequeues0.ram[7][7] top.test.nvmequeues0.ram[7][6] top.test.nvmequeues0.ram[7][5] top.test.nvmequeues0.ram[7][4] top.test.nvmequeues0.ram[7][3] top.test.nvmequeues0.ram[7][2] top.test.nvmequeues0.ram[7][1] top.test.nvmequeues0.ram[7][0]
-#{top.test.nvmequeues0.ram[8][127:0]} top.test.nvmequeues0.ram[8][127] top.test.nvmequeues0.ram[8][126] top.test.nvmequeues0.ram[8][125] top.test.nvmequeues0.ram[8][124] top.test.nvmequeues0.ram[8][123] top.test.nvmequeues0.ram[8][122] top.test.nvmequeues0.ram[8][121] top.test.nvmequeues0.ram[8][120] top.test.nvmequeues0.ram[8][119] top.test.nvmequeues0.ram[8][118] top.test.nvmequeues0.ram[8][117] top.test.nvmequeues0.ram[8][116] top.test.nvmequeues0.ram[8][115] top.test.nvmequeues0.ram[8][114] top.test.nvmequeues0.ram[8][113] top.test.nvmequeues0.ram[8][112] top.test.nvmequeues0.ram[8][111] top.test.nvmequeues0.ram[8][110] top.test.nvmequeues0.ram[8][109] top.test.nvmequeues0.ram[8][108] top.test.nvmequeues0.ram[8][107] top.test.nvmequeues0.ram[8][106] top.test.nvmequeues0.ram[8][105] top.test.nvmequeues0.ram[8][104] top.test.nvmequeues0.ram[8][103] top.test.nvmequeues0.ram[8][102] top.test.nvmequeues0.ram[8][101] top.test.nvmequeues0.ram[8][100] top.test.nvmequeues0.ram[8][99] top.test.nvmequeues0.ram[8][98] top.test.nvmequeues0.ram[8][97] top.test.nvmequeues0.ram[8][96] top.test.nvmequeues0.ram[8][95] top.test.nvmequeues0.ram[8][94] top.test.nvmequeues0.ram[8][93] top.test.nvmequeues0.ram[8][92] top.test.nvmequeues0.ram[8][91] top.test.nvmequeues0.ram[8][90] top.test.nvmequeues0.ram[8][89] top.test.nvmequeues0.ram[8][88] top.test.nvmequeues0.ram[8][87] top.test.nvmequeues0.ram[8][86] top.test.nvmequeues0.ram[8][85] top.test.nvmequeues0.ram[8][84] top.test.nvmequeues0.ram[8][83] top.test.nvmequeues0.ram[8][82] top.test.nvmequeues0.ram[8][81] top.test.nvmequeues0.ram[8][80] top.test.nvmequeues0.ram[8][79] top.test.nvmequeues0.ram[8][78] top.test.nvmequeues0.ram[8][77] top.test.nvmequeues0.ram[8][76] top.test.nvmequeues0.ram[8][75] top.test.nvmequeues0.ram[8][74] top.test.nvmequeues0.ram[8][73] top.test.nvmequeues0.ram[8][72] top.test.nvmequeues0.ram[8][71] top.test.nvmequeues0.ram[8][70] top.test.nvmequeues0.ram[8][69] top.test.nvmequeues0.ram[8][68] top.test.nvmequeues0.ram[8][67] top.test.nvmequeues0.ram[8][66] top.test.nvmequeues0.ram[8][65] top.test.nvmequeues0.ram[8][64] top.test.nvmequeues0.ram[8][63] top.test.nvmequeues0.ram[8][62] top.test.nvmequeues0.ram[8][61] top.test.nvmequeues0.ram[8][60] top.test.nvmequeues0.ram[8][59] top.test.nvmequeues0.ram[8][58] top.test.nvmequeues0.ram[8][57] top.test.nvmequeues0.ram[8][56] top.test.nvmequeues0.ram[8][55] top.test.nvmequeues0.ram[8][54] top.test.nvmequeues0.ram[8][53] top.test.nvmequeues0.ram[8][52] top.test.nvmequeues0.ram[8][51] top.test.nvmequeues0.ram[8][50] top.test.nvmequeues0.ram[8][49] top.test.nvmequeues0.ram[8][48] top.test.nvmequeues0.ram[8][47] top.test.nvmequeues0.ram[8][46] top.test.nvmequeues0.ram[8][45] top.test.nvmequeues0.ram[8][44] top.test.nvmequeues0.ram[8][43] top.test.nvmequeues0.ram[8][42] top.test.nvmequeues0.ram[8][41] top.test.nvmequeues0.ram[8][40] top.test.nvmequeues0.ram[8][39] top.test.nvmequeues0.ram[8][38] top.test.nvmequeues0.ram[8][37] top.test.nvmequeues0.ram[8][36] top.test.nvmequeues0.ram[8][35] top.test.nvmequeues0.ram[8][34] top.test.nvmequeues0.ram[8][33] top.test.nvmequeues0.ram[8][32] top.test.nvmequeues0.ram[8][31] top.test.nvmequeues0.ram[8][30] top.test.nvmequeues0.ram[8][29] top.test.nvmequeues0.ram[8][28] top.test.nvmequeues0.ram[8][27] top.test.nvmequeues0.ram[8][26] top.test.nvmequeues0.ram[8][25] top.test.nvmequeues0.ram[8][24] top.test.nvmequeues0.ram[8][23] top.test.nvmequeues0.ram[8][22] top.test.nvmequeues0.ram[8][21] top.test.nvmequeues0.ram[8][20] top.test.nvmequeues0.ram[8][19] top.test.nvmequeues0.ram[8][18] top.test.nvmequeues0.ram[8][17] top.test.nvmequeues0.ram[8][16] top.test.nvmequeues0.ram[8][15] top.test.nvmequeues0.ram[8][14] top.test.nvmequeues0.ram[8][13] top.test.nvmequeues0.ram[8][12] top.test.nvmequeues0.ram[8][11] top.test.nvmequeues0.ram[8][10] top.test.nvmequeues0.ram[8][9] top.test.nvmequeues0.ram[8][8] top.test.nvmequeues0.ram[8][7] top.test.nvmequeues0.ram[8][6] top.test.nvmequeues0.ram[8][5] top.test.nvmequeues0.ram[8][4] top.test.nvmequeues0.ram[8][3] top.test.nvmequeues0.ram[8][2] top.test.nvmequeues0.ram[8][1] top.test.nvmequeues0.ram[8][0]
-#{top.test.nvmequeues0.ram[9][127:0]} top.test.nvmequeues0.ram[9][127] top.test.nvmequeues0.ram[9][126] top.test.nvmequeues0.ram[9][125] top.test.nvmequeues0.ram[9][124] top.test.nvmequeues0.ram[9][123] top.test.nvmequeues0.ram[9][122] top.test.nvmequeues0.ram[9][121] top.test.nvmequeues0.ram[9][120] top.test.nvmequeues0.ram[9][119] top.test.nvmequeues0.ram[9][118] top.test.nvmequeues0.ram[9][117] top.test.nvmequeues0.ram[9][116] top.test.nvmequeues0.ram[9][115] top.test.nvmequeues0.ram[9][114] top.test.nvmequeues0.ram[9][113] top.test.nvmequeues0.ram[9][112] top.test.nvmequeues0.ram[9][111] top.test.nvmequeues0.ram[9][110] top.test.nvmequeues0.ram[9][109] top.test.nvmequeues0.ram[9][108] top.test.nvmequeues0.ram[9][107] top.test.nvmequeues0.ram[9][106] top.test.nvmequeues0.ram[9][105] top.test.nvmequeues0.ram[9][104] top.test.nvmequeues0.ram[9][103] top.test.nvmequeues0.ram[9][102] top.test.nvmequeues0.ram[9][101] top.test.nvmequeues0.ram[9][100] top.test.nvmequeues0.ram[9][99] top.test.nvmequeues0.ram[9][98] top.test.nvmequeues0.ram[9][97] top.test.nvmequeues0.ram[9][96] top.test.nvmequeues0.ram[9][95] top.test.nvmequeues0.ram[9][94] top.test.nvmequeues0.ram[9][93] top.test.nvmequeues0.ram[9][92] top.test.nvmequeues0.ram[9][91] top.test.nvmequeues0.ram[9][90] top.test.nvmequeues0.ram[9][89] top.test.nvmequeues0.ram[9][88] top.test.nvmequeues0.ram[9][87] top.test.nvmequeues0.ram[9][86] top.test.nvmequeues0.ram[9][85] top.test.nvmequeues0.ram[9][84] top.test.nvmequeues0.ram[9][83] top.test.nvmequeues0.ram[9][82] top.test.nvmequeues0.ram[9][81] top.test.nvmequeues0.ram[9][80] top.test.nvmequeues0.ram[9][79] top.test.nvmequeues0.ram[9][78] top.test.nvmequeues0.ram[9][77] top.test.nvmequeues0.ram[9][76] top.test.nvmequeues0.ram[9][75] top.test.nvmequeues0.ram[9][74] top.test.nvmequeues0.ram[9][73] top.test.nvmequeues0.ram[9][72] top.test.nvmequeues0.ram[9][71] top.test.nvmequeues0.ram[9][70] top.test.nvmequeues0.ram[9][69] top.test.nvmequeues0.ram[9][68] top.test.nvmequeues0.ram[9][67] top.test.nvmequeues0.ram[9][66] top.test.nvmequeues0.ram[9][65] top.test.nvmequeues0.ram[9][64] top.test.nvmequeues0.ram[9][63] top.test.nvmequeues0.ram[9][62] top.test.nvmequeues0.ram[9][61] top.test.nvmequeues0.ram[9][60] top.test.nvmequeues0.ram[9][59] top.test.nvmequeues0.ram[9][58] top.test.nvmequeues0.ram[9][57] top.test.nvmequeues0.ram[9][56] top.test.nvmequeues0.ram[9][55] top.test.nvmequeues0.ram[9][54] top.test.nvmequeues0.ram[9][53] top.test.nvmequeues0.ram[9][52] top.test.nvmequeues0.ram[9][51] top.test.nvmequeues0.ram[9][50] top.test.nvmequeues0.ram[9][49] top.test.nvmequeues0.ram[9][48] top.test.nvmequeues0.ram[9][47] top.test.nvmequeues0.ram[9][46] top.test.nvmequeues0.ram[9][45] top.test.nvmequeues0.ram[9][44] top.test.nvmequeues0.ram[9][43] top.test.nvmequeues0.ram[9][42] top.test.nvmequeues0.ram[9][41] top.test.nvmequeues0.ram[9][40] top.test.nvmequeues0.ram[9][39] top.test.nvmequeues0.ram[9][38] top.test.nvmequeues0.ram[9][37] top.test.nvmequeues0.ram[9][36] top.test.nvmequeues0.ram[9][35] top.test.nvmequeues0.ram[9][34] top.test.nvmequeues0.ram[9][33] top.test.nvmequeues0.ram[9][32] top.test.nvmequeues0.ram[9][31] top.test.nvmequeues0.ram[9][30] top.test.nvmequeues0.ram[9][29] top.test.nvmequeues0.ram[9][28] top.test.nvmequeues0.ram[9][27] top.test.nvmequeues0.ram[9][26] top.test.nvmequeues0.ram[9][25] top.test.nvmequeues0.ram[9][24] top.test.nvmequeues0.ram[9][23] top.test.nvmequeues0.ram[9][22] top.test.nvmequeues0.ram[9][21] top.test.nvmequeues0.ram[9][20] top.test.nvmequeues0.ram[9][19] top.test.nvmequeues0.ram[9][18] top.test.nvmequeues0.ram[9][17] top.test.nvmequeues0.ram[9][16] top.test.nvmequeues0.ram[9][15] top.test.nvmequeues0.ram[9][14] top.test.nvmequeues0.ram[9][13] top.test.nvmequeues0.ram[9][12] top.test.nvmequeues0.ram[9][11] top.test.nvmequeues0.ram[9][10] top.test.nvmequeues0.ram[9][9] top.test.nvmequeues0.ram[9][8] top.test.nvmequeues0.ram[9][7] top.test.nvmequeues0.ram[9][6] top.test.nvmequeues0.ram[9][5] top.test.nvmequeues0.ram[9][4] top.test.nvmequeues0.ram[9][3] top.test.nvmequeues0.ram[9][2] top.test.nvmequeues0.ram[9][1] top.test.nvmequeues0.ram[9][0]
-#{top.test.nvmequeues0.ram[10][127:0]} top.test.nvmequeues0.ram[10][127] top.test.nvmequeues0.ram[10][126] top.test.nvmequeues0.ram[10][125] top.test.nvmequeues0.ram[10][124] top.test.nvmequeues0.ram[10][123] top.test.nvmequeues0.ram[10][122] top.test.nvmequeues0.ram[10][121] top.test.nvmequeues0.ram[10][120] top.test.nvmequeues0.ram[10][119] top.test.nvmequeues0.ram[10][118] top.test.nvmequeues0.ram[10][117] top.test.nvmequeues0.ram[10][116] top.test.nvmequeues0.ram[10][115] top.test.nvmequeues0.ram[10][114] top.test.nvmequeues0.ram[10][113] top.test.nvmequeues0.ram[10][112] top.test.nvmequeues0.ram[10][111] top.test.nvmequeues0.ram[10][110] top.test.nvmequeues0.ram[10][109] top.test.nvmequeues0.ram[10][108] top.test.nvmequeues0.ram[10][107] top.test.nvmequeues0.ram[10][106] top.test.nvmequeues0.ram[10][105] top.test.nvmequeues0.ram[10][104] top.test.nvmequeues0.ram[10][103] top.test.nvmequeues0.ram[10][102] top.test.nvmequeues0.ram[10][101] top.test.nvmequeues0.ram[10][100] top.test.nvmequeues0.ram[10][99] top.test.nvmequeues0.ram[10][98] top.test.nvmequeues0.ram[10][97] top.test.nvmequeues0.ram[10][96] top.test.nvmequeues0.ram[10][95] top.test.nvmequeues0.ram[10][94] top.test.nvmequeues0.ram[10][93] top.test.nvmequeues0.ram[10][92] top.test.nvmequeues0.ram[10][91] top.test.nvmequeues0.ram[10][90] top.test.nvmequeues0.ram[10][89] top.test.nvmequeues0.ram[10][88] top.test.nvmequeues0.ram[10][87] top.test.nvmequeues0.ram[10][86] top.test.nvmequeues0.ram[10][85] top.test.nvmequeues0.ram[10][84] top.test.nvmequeues0.ram[10][83] top.test.nvmequeues0.ram[10][82] top.test.nvmequeues0.ram[10][81] top.test.nvmequeues0.ram[10][80] top.test.nvmequeues0.ram[10][79] top.test.nvmequeues0.ram[10][78] top.test.nvmequeues0.ram[10][77] top.test.nvmequeues0.ram[10][76] top.test.nvmequeues0.ram[10][75] top.test.nvmequeues0.ram[10][74] top.test.nvmequeues0.ram[10][73] top.test.nvmequeues0.ram[10][72] top.test.nvmequeues0.ram[10][71] top.test.nvmequeues0.ram[10][70] top.test.nvmequeues0.ram[10][69] top.test.nvmequeues0.ram[10][68] top.test.nvmequeues0.ram[10][67] top.test.nvmequeues0.ram[10][66] top.test.nvmequeues0.ram[10][65] top.test.nvmequeues0.ram[10][64] top.test.nvmequeues0.ram[10][63] top.test.nvmequeues0.ram[10][62] top.test.nvmequeues0.ram[10][61] top.test.nvmequeues0.ram[10][60] top.test.nvmequeues0.ram[10][59] top.test.nvmequeues0.ram[10][58] top.test.nvmequeues0.ram[10][57] top.test.nvmequeues0.ram[10][56] top.test.nvmequeues0.ram[10][55] top.test.nvmequeues0.ram[10][54] top.test.nvmequeues0.ram[10][53] top.test.nvmequeues0.ram[10][52] top.test.nvmequeues0.ram[10][51] top.test.nvmequeues0.ram[10][50] top.test.nvmequeues0.ram[10][49] top.test.nvmequeues0.ram[10][48] top.test.nvmequeues0.ram[10][47] top.test.nvmequeues0.ram[10][46] top.test.nvmequeues0.ram[10][45] top.test.nvmequeues0.ram[10][44] top.test.nvmequeues0.ram[10][43] top.test.nvmequeues0.ram[10][42] top.test.nvmequeues0.ram[10][41] top.test.nvmequeues0.ram[10][40] top.test.nvmequeues0.ram[10][39] top.test.nvmequeues0.ram[10][38] top.test.nvmequeues0.ram[10][37] top.test.nvmequeues0.ram[10][36] top.test.nvmequeues0.ram[10][35] top.test.nvmequeues0.ram[10][34] top.test.nvmequeues0.ram[10][33] top.test.nvmequeues0.ram[10][32] top.test.nvmequeues0.ram[10][31] top.test.nvmequeues0.ram[10][30] top.test.nvmequeues0.ram[10][29] top.test.nvmequeues0.ram[10][28] top.test.nvmeque