NvmeWrite: Added initial multiple write buffer system.
authorTerry Barnaby <terry.barnaby@beam.beam.ltd.uk>
Wed, 6 May 2020 09:25:49 +0000 (10:25 +0100)
committerTerry Barnaby <terry.barnaby@beam.beam.ltd.uk>
Wed, 6 May 2020 09:25:49 +0000 (10:25 +0100)
bfpga_driver: Updated for latest Linux kernels.
General updates:

21 files changed:
docsrc/DuneNvmeStorageDesign.odt
docsrc/DuneNvmeStorageManual.odt
source/DuneNvme/sim/Makefile
source/DuneNvme/sim/testbench/test017-write.sav
source/DuneNvme/sim/testbench/test017-write.vhd
source/DuneNvme/sim/testbench/test018-buffer.sav [new file with mode: 0644]
source/DuneNvme/sim/testbench/test018-buffer.vhd [new file with mode: 0644]
source/DuneNvme/sim/testbench/test019-write.sav [new file with mode: 0644]
source/DuneNvme/sim/testbench/test019-write.vhd [new file with mode: 0644]
source/DuneNvme/src/DataBuffer.vhd [new file with mode: 0644]
source/DuneNvme/src/DuneNvmeTestTop.vhd
source/DuneNvme/src/NvmeSim.vhd
source/DuneNvme/src/NvmeStorageIntPkg.vhd
source/DuneNvme/src/NvmeStorageUnit.vhd
source/DuneNvme/src/NvmeWrite.vhd
source/DuneNvme/src/NvmeWriteBasic.vhd [new file with mode: 0644]
source/DuneNvme/src/TestData.vhd
source/DuneNvme/test/bfpga_driver/Makefile
source/DuneNvme/test/bfpga_driver/bfpga.c
source/DuneNvme/test/test_nvme.cpp
source/DuneNvme/vivado/Makefile

index 45e00b492ebbdc5b7c2f5f8e21554b03a02e50ba..ccbe1f74c487dbc9d34c0314164121eac15613dd 100644 (file)
Binary files a/docsrc/DuneNvmeStorageDesign.odt and b/docsrc/DuneNvmeStorageDesign.odt differ
index 58eccee755de90e70668675daeb871db3285c0db..9f3af961bffc73511e70a5c372421e14d8b302da 100644 (file)
Binary files a/docsrc/DuneNvmeStorageManual.odt and b/docsrc/DuneNvmeStorageManual.odt differ
index 9bf4b3e890e7df8e18a68082915a3dbb27f831b4..676f28086198c745faaeadd3be6b43b3dcdd776f 100644 (file)
@@ -22,7 +22,9 @@
 #TEST  = test014-queueram
 #TEST  = test015-hostnvme
 #TEST  = test016-fifo
-TEST   = test017-write
+#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 
@@ -31,7 +33,7 @@ FILES_BASE    += ../src/NvmeStreamMux.vhd
 #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/DataFifo.vhd ../src/NvmeWrite.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
@@ -51,6 +53,8 @@ FILES_test014-queueram += testbench/${TEST}.vhd ${FILES_BASE}  ../src/NvmeQueues
 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
@@ -96,7 +100,7 @@ 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=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:
index af8fa16ae8b2757b446f9dfc42fd5aede1eaaef2..7fa8d12b5d8f8d5addb7209fb433ebf0e8bc2f87 100644 (file)
@@ -1,15 +1,15 @@
 [*]
 [*] GTKWave Analyzer v3.3.104 (w)1999-2020 BSI
-[*] Sun May  3 09:10:56 2020
+[*] Mon May  4 16:10:31 2020
 [*]
-[dumpfile] "/src/dune/FpgaPlay/test023-nvmewrite/sim/simu/test.ghw"
-[dumpfile_mtime] "Sun May  3 09:09:48 2020"
-[dumpfile_size] 1218570
-[savefile] "/src/dune/FpgaPlay/test023-nvmewrite/sim/testbench/test017-write.sav"
-[timestart] 0
+[dumpfile] "/src/dune/FpgaPlay/test024-nvmewrite/sim/simu/test.ghw"
+[dumpfile_mtime] "Mon May  4 16:06:00 2020"
+[dumpfile_size] 541485
+[savefile] "/src/dune/FpgaPlay/test024-nvmewrite/sim/testbench/test017-write.sav"
+[timestart] 871300000
 [size] 1920 1171
 [pos] -1 -1
-*-26.418455 25000000 -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
+*-26.418455 939400000 -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.
@@ -23,9 +23,9 @@
 [treeopen] top.test.nvmestorageunit0.gen03.nvmequeues0.ram.
 [treeopen] top.test.nvmestorageunit0.gen03.nvmequeues0.requesthead1.
 [treeopen] top.test.nvmestorageunit0.gen03.nvmewrite0.
+[treeopen] top.test.nvmestorageunit0.gen03.nvmewrite0.buffers.
 [treeopen] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.
-[treeopen] top.test.nvmestorageunit0.gen03.nvmewrite0.queues[0].
-[treeopen] top.test.nvmestorageunit0.gen03.nvmewrite0.queues[0].datafifo0.
+[treeopen] top.test.nvmestorageunit0.gen03.nvmewrite0.inputbuffers[1].datafifo0.
 [treeopen] top.test.nvmestorageunit0.gen03.streamswitch0.streamin.
 [treeopen] top.test.nvmestorageunit0.gen03.streamswitch0.streamin.[0].
 [treeopen] top.test.nvmestorageunit0.gen03.streamswitch0.streamout.
@@ -44,7 +44,7 @@
 [treeopen] top.test.nvmestorageunit0.streamsend.[2].
 [treeopen] top.test.testdata0.
 [sst_width] 330
-[signals_width] 630
+[signals_width] 622
 [sst_expanded] 1
 [sst_vpaned_height] 768
 @28
@@ -147,14 +147,8 @@ top.test.nvmestorageunit0.gen03.nvmewrite0.enable
 #{top.test.nvmestorageunit0.gen03.nvmewrite0.numblocks[31:0]} top.test.nvmestorageunit0.gen03.nvmewrite0.numblocks[31] top.test.nvmestorageunit0.gen03.nvmewrite0.numblocks[30] top.test.nvmestorageunit0.gen03.nvmewrite0.numblocks[29] top.test.nvmestorageunit0.gen03.nvmewrite0.numblocks[28] top.test.nvmestorageunit0.gen03.nvmewrite0.numblocks[27] top.test.nvmestorageunit0.gen03.nvmewrite0.numblocks[26] top.test.nvmestorageunit0.gen03.nvmewrite0.numblocks[25] top.test.nvmestorageunit0.gen03.nvmewrite0.numblocks[24] top.test.nvmestorageunit0.gen03.nvmewrite0.numblocks[23] top.test.nvmestorageunit0.gen03.nvmewrite0.numblocks[22] top.test.nvmestorageunit0.gen03.nvmewrite0.numblocks[21] top.test.nvmestorageunit0.gen03.nvmewrite0.numblocks[20] top.test.nvmestorageunit0.gen03.nvmewrite0.numblocks[19] top.test.nvmestorageunit0.gen03.nvmewrite0.numblocks[18] top.test.nvmestorageunit0.gen03.nvmewrite0.numblocks[17] top.test.nvmestorageunit0.gen03.nvmewrite0.numblocks[16] top.test.nvmestorageunit0.gen03.nvmewrite0.numblocks[15] top.test.nvmestorageunit0.gen03.nvmewrite0.numblocks[14] top.test.nvmestorageunit0.gen03.nvmewrite0.numblocks[13] top.test.nvmestorageunit0.gen03.nvmewrite0.numblocks[12] top.test.nvmestorageunit0.gen03.nvmewrite0.numblocks[11] top.test.nvmestorageunit0.gen03.nvmewrite0.numblocks[10] top.test.nvmestorageunit0.gen03.nvmewrite0.numblocks[9] top.test.nvmestorageunit0.gen03.nvmewrite0.numblocks[8] top.test.nvmestorageunit0.gen03.nvmewrite0.numblocks[7] top.test.nvmestorageunit0.gen03.nvmewrite0.numblocks[6] top.test.nvmestorageunit0.gen03.nvmewrite0.numblocks[5] top.test.nvmestorageunit0.gen03.nvmewrite0.numblocks[4] top.test.nvmestorageunit0.gen03.nvmewrite0.numblocks[3] top.test.nvmestorageunit0.gen03.nvmewrite0.numblocks[2] top.test.nvmestorageunit0.gen03.nvmewrite0.numblocks[1] top.test.nvmestorageunit0.gen03.nvmewrite0.numblocks[0]
 #{top.test.nvmestorageunit0.gen03.nvmewrite0.blocknumber[63:0]} top.test.nvmestorageunit0.gen03.nvmewrite0.blocknumber[63] top.test.nvmestorageunit0.gen03.nvmewrite0.blocknumber[62] top.test.nvmestorageunit0.gen03.nvmewrite0.blocknumber[61] top.test.nvmestorageunit0.gen03.nvmewrite0.blocknumber[60] top.test.nvmestorageunit0.gen03.nvmewrite0.blocknumber[59] top.test.nvmestorageunit0.gen03.nvmewrite0.blocknumber[58] top.test.nvmestorageunit0.gen03.nvmewrite0.blocknumber[57] top.test.nvmestorageunit0.gen03.nvmewrite0.blocknumber[56] top.test.nvmestorageunit0.gen03.nvmewrite0.blocknumber[55] top.test.nvmestorageunit0.gen03.nvmewrite0.blocknumber[54] top.test.nvmestorageunit0.gen03.nvmewrite0.blocknumber[53] top.test.nvmestorageunit0.gen03.nvmewrite0.blocknumber[52] top.test.nvmestorageunit0.gen03.nvmewrite0.blocknumber[51] top.test.nvmestorageunit0.gen03.nvmewrite0.blocknumber[50] top.test.nvmestorageunit0.gen03.nvmewrite0.blocknumber[49] top.test.nvmestorageunit0.gen03.nvmewrite0.blocknumber[48] top.test.nvmestorageunit0.gen03.nvmewrite0.blocknumber[47] top.test.nvmestorageunit0.gen03.nvmewrite0.blocknumber[46] top.test.nvmestorageunit0.gen03.nvmewrite0.blocknumber[45] top.test.nvmestorageunit0.gen03.nvmewrite0.blocknumber[44] top.test.nvmestorageunit0.gen03.nvmewrite0.blocknumber[43] top.test.nvmestorageunit0.gen03.nvmewrite0.blocknumber[42] top.test.nvmestorageunit0.gen03.nvmewrite0.blocknumber[41] top.test.nvmestorageunit0.gen03.nvmewrite0.blocknumber[40] top.test.nvmestorageunit0.gen03.nvmewrite0.blocknumber[39] top.test.nvmestorageunit0.gen03.nvmewrite0.blocknumber[38] top.test.nvmestorageunit0.gen03.nvmewrite0.blocknumber[37] top.test.nvmestorageunit0.gen03.nvmewrite0.blocknumber[36] top.test.nvmestorageunit0.gen03.nvmewrite0.blocknumber[35] top.test.nvmestorageunit0.gen03.nvmewrite0.blocknumber[34] top.test.nvmestorageunit0.gen03.nvmewrite0.blocknumber[33] top.test.nvmestorageunit0.gen03.nvmewrite0.blocknumber[32] top.test.nvmestorageunit0.gen03.nvmewrite0.blocknumber[31] top.test.nvmestorageunit0.gen03.nvmewrite0.blocknumber[30] top.test.nvmestorageunit0.gen03.nvmewrite0.blocknumber[29] top.test.nvmestorageunit0.gen03.nvmewrite0.blocknumber[28] top.test.nvmestorageunit0.gen03.nvmewrite0.blocknumber[27] top.test.nvmestorageunit0.gen03.nvmewrite0.blocknumber[26] top.test.nvmestorageunit0.gen03.nvmewrite0.blocknumber[25] top.test.nvmestorageunit0.gen03.nvmewrite0.blocknumber[24] top.test.nvmestorageunit0.gen03.nvmewrite0.blocknumber[23] top.test.nvmestorageunit0.gen03.nvmewrite0.blocknumber[22] top.test.nvmestorageunit0.gen03.nvmewrite0.blocknumber[21] top.test.nvmestorageunit0.gen03.nvmewrite0.blocknumber[20] top.test.nvmestorageunit0.gen03.nvmewrite0.blocknumber[19] top.test.nvmestorageunit0.gen03.nvmewrite0.blocknumber[18] top.test.nvmestorageunit0.gen03.nvmewrite0.blocknumber[17] top.test.nvmestorageunit0.gen03.nvmewrite0.blocknumber[16] top.test.nvmestorageunit0.gen03.nvmewrite0.blocknumber[15] top.test.nvmestorageunit0.gen03.nvmewrite0.blocknumber[14] top.test.nvmestorageunit0.gen03.nvmewrite0.blocknumber[13] top.test.nvmestorageunit0.gen03.nvmewrite0.blocknumber[12] top.test.nvmestorageunit0.gen03.nvmewrite0.blocknumber[11] top.test.nvmestorageunit0.gen03.nvmewrite0.blocknumber[10] top.test.nvmestorageunit0.gen03.nvmewrite0.blocknumber[9] top.test.nvmestorageunit0.gen03.nvmewrite0.blocknumber[8] top.test.nvmestorageunit0.gen03.nvmewrite0.blocknumber[7] top.test.nvmestorageunit0.gen03.nvmewrite0.blocknumber[6] top.test.nvmestorageunit0.gen03.nvmewrite0.blocknumber[5] top.test.nvmestorageunit0.gen03.nvmewrite0.blocknumber[4] top.test.nvmestorageunit0.gen03.nvmewrite0.blocknumber[3] top.test.nvmestorageunit0.gen03.nvmewrite0.blocknumber[2] top.test.nvmestorageunit0.gen03.nvmewrite0.blocknumber[1] top.test.nvmestorageunit0.gen03.nvmewrite0.blocknumber[0]
 #{top.test.nvmestorageunit0.gen03.nvmewrite0.timeus[31:0]} top.test.nvmestorageunit0.gen03.nvmewrite0.timeus[31] top.test.nvmestorageunit0.gen03.nvmewrite0.timeus[30] top.test.nvmestorageunit0.gen03.nvmewrite0.timeus[29] top.test.nvmestorageunit0.gen03.nvmewrite0.timeus[28] top.test.nvmestorageunit0.gen03.nvmewrite0.timeus[27] top.test.nvmestorageunit0.gen03.nvmewrite0.timeus[26] top.test.nvmestorageunit0.gen03.nvmewrite0.timeus[25] top.test.nvmestorageunit0.gen03.nvmewrite0.timeus[24] top.test.nvmestorageunit0.gen03.nvmewrite0.timeus[23] top.test.nvmestorageunit0.gen03.nvmewrite0.timeus[22] top.test.nvmestorageunit0.gen03.nvmewrite0.timeus[21] top.test.nvmestorageunit0.gen03.nvmewrite0.timeus[20] top.test.nvmestorageunit0.gen03.nvmewrite0.timeus[19] top.test.nvmestorageunit0.gen03.nvmewrite0.timeus[18] top.test.nvmestorageunit0.gen03.nvmewrite0.timeus[17] top.test.nvmestorageunit0.gen03.nvmewrite0.timeus[16] top.test.nvmestorageunit0.gen03.nvmewrite0.timeus[15] top.test.nvmestorageunit0.gen03.nvmewrite0.timeus[14] top.test.nvmestorageunit0.gen03.nvmewrite0.timeus[13] top.test.nvmestorageunit0.gen03.nvmewrite0.timeus[12] top.test.nvmestorageunit0.gen03.nvmewrite0.timeus[11] top.test.nvmestorageunit0.gen03.nvmewrite0.timeus[10] top.test.nvmestorageunit0.gen03.nvmewrite0.timeus[9] top.test.nvmestorageunit0.gen03.nvmewrite0.timeus[8] top.test.nvmestorageunit0.gen03.nvmewrite0.timeus[7] top.test.nvmestorageunit0.gen03.nvmewrite0.timeus[6] top.test.nvmestorageunit0.gen03.nvmewrite0.timeus[5] top.test.nvmestorageunit0.gen03.nvmewrite0.timeus[4] top.test.nvmestorageunit0.gen03.nvmewrite0.timeus[3] top.test.nvmestorageunit0.gen03.nvmewrite0.timeus[2] top.test.nvmestorageunit0.gen03.nvmewrite0.timeus[1] top.test.nvmestorageunit0.gen03.nvmewrite0.timeus[0]
-@420
-top.test.nvmestorageunit0.gen03.nvmewrite0.instate
-top.test.nvmestorageunit0.gen03.nvmewrite0.bufferin
-top.test.nvmestorageunit0.gen03.nvmewrite0.bufferout
-@28
-top.test.nvmestorageunit0.gen03.nvmewrite0.queues[0].datafifo0.datain.ready
-@29
-top.test.nvmestorageunit0.gen03.nvmewrite0.queues[0].datafifo0.datain.valid
+@800200
+-InputBuffers
 @28
 top.test.nvmestorageunit0.gen03.nvmewrite0.datain.ready
 top.test.nvmestorageunit0.gen03.nvmewrite0.datain.valid
@@ -162,13 +156,30 @@ top.test.nvmestorageunit0.gen03.nvmewrite0.datain.last
 @22
 #{top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[127:0]} top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[127] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[126] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[125] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[124] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[123] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[122] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[121] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[120] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[119] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[118] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[117] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[116] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[115] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[114] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[113] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[112] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[111] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[110] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[109] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[108] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[107] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[106] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[105] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[104] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[103] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[102] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[101] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[100] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[99] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[98] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[97] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[96] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[95] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[94] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[93] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[92] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[91] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[90] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[89] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[88] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[87] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[86] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[85] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[84] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[83] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[82] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[81] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[80] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[79] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[78] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[77] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[76] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[75] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[74] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[73] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[72] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[71] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[70] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[69] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[68] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[67] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[66] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[65] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[64] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[63] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[62] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[61] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[60] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[59] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[58] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[57] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[56] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[55] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[54] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[53] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[52] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[51] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[50] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[49] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[48] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[47] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[46] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[45] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[44] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[43] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[42] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[41] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[40] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[39] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[38] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[37] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[36] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[35] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[34] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[33] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[32] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[31] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[30] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[29] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[28] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[27] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[26] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[25] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[24] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[23] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[22] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[21] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[20] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[19] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[18] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[17] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[16] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[15] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[14] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[13] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[12] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[11] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[10] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[9] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[8] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[7] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[6] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[5] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[4] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[3] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[2] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[1] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[0]
 @420
+top.test.nvmestorageunit0.gen03.nvmewrite0.instate
+top.test.nvmestorageunit0.gen03.nvmewrite0.bufferinnum
+@421
+top.test.nvmestorageunit0.gen03.nvmewrite0.bufferinnumnext
+@420
+top.test.nvmestorageunit0.gen03.nvmewrite0.bufferoutnum
+@28
+top.test.nvmestorageunit0.gen03.nvmewrite0.buffers[0].full
+top.test.nvmestorageunit0.gen03.nvmewrite0.buffers[0].inuse1
+top.test.nvmestorageunit0.gen03.nvmewrite0.buffers[0].inuse2
+top.test.nvmestorageunit0.gen03.nvmewrite0.buffers[1].full
+top.test.nvmestorageunit0.gen03.nvmewrite0.buffers[1].inuse1
+top.test.nvmestorageunit0.gen03.nvmewrite0.buffers[1].inuse2
+top.test.nvmestorageunit0.gen03.nvmewrite0.buffers[2].inuse1
+top.test.nvmestorageunit0.gen03.nvmewrite0.buffers[2].inuse2
+@1000200
+-InputBuffers
+@420
 top.test.nvmestorageunit0.gen03.nvmewrite0.state
 @28
 top.test.nvmestorageunit0.gen03.nvmewrite0.enable
 @420
 top.test.nvmestorageunit0.gen03.nvmewrite0.numblocks[0]
 @28
-top.test.nvmestorageunit0.gen03.nvmewrite0.fifo_full
 top.test.nvmestorageunit0.gen03.nvmewrite0.requestout.ready
 top.test.nvmestorageunit0.gen03.nvmewrite0.requestout.valid
 top.test.nvmestorageunit0.gen03.nvmewrite0.requestout.last
index 82c4875fdc16755e260ae408c330b3a6f882ef84..b98406809df18d2aee23f31cc1703bab204f56fc 100644 (file)
@@ -19,10 +19,13 @@ end;
 
 architecture sim of Test is
 
+constant BlockSize     : integer := 512;                       --! For simple testing should be 4096
+
 component NvmeStorageUnit is
 generic(
        Simulate        : boolean       := True;                --! Generate simulation core
-       ClockPeriod     : time          := 10 ms                --! Clock period for timers (125 MHz)
+       ClockPeriod     : time          := 10 ms;               --! Clock period for timers (125 MHz)
+       BlockSize       : integer       := Blocksize
 );
 port (
        clk             : in std_logic;                         --! The interface clock line
@@ -56,7 +59,7 @@ end component;
 
 component TestData is
 generic(
-       BlockSize       : integer := 4096                       --! The block size in Bytes.
+       BlockSize       : integer := BlockSize                  --! The block size in Bytes.
 );
 port (
        clk             : in std_logic;                         --! The interface clock line
diff --git a/source/DuneNvme/sim/testbench/test018-buffer.sav b/source/DuneNvme/sim/testbench/test018-buffer.sav
new file mode 100644 (file)
index 0000000..dabd75b
--- /dev/null
@@ -0,0 +1,33 @@
+[*]
+[*] GTKWave Analyzer v3.3.104 (w)1999-2020 BSI
+[*] Tue May  5 06:26:44 2020
+[*]
+[dumpfile] "/src/dune/FpgaPlay/test024-nvmewrite/sim/simu/test.ghw"
+[dumpfile_mtime] "Tue May  5 06:26:26 2020"
+[dumpfile_size] 48518
+[savefile] "/src/dune/FpgaPlay/test024-nvmewrite/sim/testbench/test018-buffer.sav"
+[timestart] 0
+[size] 1920 1171
+[pos] -1 -1
+*-26.418455 65000000 -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.databuffer0.
+[treeopen] top.test.databuffer0.ram.
+[sst_width] 330
+[signals_width] 622
+[sst_expanded] 1
+[sst_vpaned_height] 768
+@28
+top.test.clk
+top.test.reset
+@22
+#{top.test.writeaddress[3:0]} top.test.writeaddress[3] top.test.writeaddress[2] top.test.writeaddress[1] top.test.writeaddress[0]
+#{top.test.writedata[127:0]} top.test.writedata[127] top.test.writedata[126] top.test.writedata[125] top.test.writedata[124] top.test.writedata[123] top.test.writedata[122] top.test.writedata[121] top.test.writedata[120] top.test.writedata[119] top.test.writedata[118] top.test.writedata[117] top.test.writedata[116] top.test.writedata[115] top.test.writedata[114] top.test.writedata[113] top.test.writedata[112] top.test.writedata[111] top.test.writedata[110] top.test.writedata[109] top.test.writedata[108] top.test.writedata[107] top.test.writedata[106] top.test.writedata[105] top.test.writedata[104] top.test.writedata[103] top.test.writedata[102] top.test.writedata[101] top.test.writedata[100] top.test.writedata[99] top.test.writedata[98] top.test.writedata[97] top.test.writedata[96] top.test.writedata[95] top.test.writedata[94] top.test.writedata[93] top.test.writedata[92] top.test.writedata[91] top.test.writedata[90] top.test.writedata[89] top.test.writedata[88] top.test.writedata[87] top.test.writedata[86] top.test.writedata[85] top.test.writedata[84] top.test.writedata[83] top.test.writedata[82] top.test.writedata[81] top.test.writedata[80] top.test.writedata[79] top.test.writedata[78] top.test.writedata[77] top.test.writedata[76] top.test.writedata[75] top.test.writedata[74] top.test.writedata[73] top.test.writedata[72] top.test.writedata[71] top.test.writedata[70] top.test.writedata[69] top.test.writedata[68] top.test.writedata[67] top.test.writedata[66] top.test.writedata[65] top.test.writedata[64] top.test.writedata[63] top.test.writedata[62] top.test.writedata[61] top.test.writedata[60] top.test.writedata[59] top.test.writedata[58] top.test.writedata[57] top.test.writedata[56] top.test.writedata[55] top.test.writedata[54] top.test.writedata[53] top.test.writedata[52] top.test.writedata[51] top.test.writedata[50] top.test.writedata[49] top.test.writedata[48] top.test.writedata[47] top.test.writedata[46] top.test.writedata[45] top.test.writedata[44] top.test.writedata[43] top.test.writedata[42] top.test.writedata[41] top.test.writedata[40] top.test.writedata[39] top.test.writedata[38] top.test.writedata[37] top.test.writedata[36] top.test.writedata[35] top.test.writedata[34] top.test.writedata[33] top.test.writedata[32] top.test.writedata[31] top.test.writedata[30] top.test.writedata[29] top.test.writedata[28] top.test.writedata[27] top.test.writedata[26] top.test.writedata[25] top.test.writedata[24] top.test.writedata[23] top.test.writedata[22] top.test.writedata[21] top.test.writedata[20] top.test.writedata[19] top.test.writedata[18] top.test.writedata[17] top.test.writedata[16] top.test.writedata[15] top.test.writedata[14] top.test.writedata[13] top.test.writedata[12] top.test.writedata[11] top.test.writedata[10] top.test.writedata[9] top.test.writedata[8] top.test.writedata[7] top.test.writedata[6] top.test.writedata[5] top.test.writedata[4] top.test.writedata[3] top.test.writedata[2] top.test.writedata[1] top.test.writedata[0]
+#{top.test.readaddress[3:0]} top.test.readaddress[3] top.test.readaddress[2] top.test.readaddress[1] top.test.readaddress[0]
+#{top.test.readdata[127:0]} top.test.readdata[127] top.test.readdata[126] top.test.readdata[125] top.test.readdata[124] top.test.readdata[123] top.test.readdata[122] top.test.readdata[121] top.test.readdata[120] top.test.readdata[119] top.test.readdata[118] top.test.readdata[117] top.test.readdata[116] top.test.readdata[115] top.test.readdata[114] top.test.readdata[113] top.test.readdata[112] top.test.readdata[111] top.test.readdata[110] top.test.readdata[109] top.test.readdata[108] top.test.readdata[107] top.test.readdata[106] top.test.readdata[105] top.test.readdata[104] top.test.readdata[103] top.test.readdata[102] top.test.readdata[101] top.test.readdata[100] top.test.readdata[99] top.test.readdata[98] top.test.readdata[97] top.test.readdata[96] top.test.readdata[95] top.test.readdata[94] top.test.readdata[93] top.test.readdata[92] top.test.readdata[91] top.test.readdata[90] top.test.readdata[89] top.test.readdata[88] top.test.readdata[87] top.test.readdata[86] top.test.readdata[85] top.test.readdata[84] top.test.readdata[83] top.test.readdata[82] top.test.readdata[81] top.test.readdata[80] top.test.readdata[79] top.test.readdata[78] top.test.readdata[77] top.test.readdata[76] top.test.readdata[75] top.test.readdata[74] top.test.readdata[73] top.test.readdata[72] top.test.readdata[71] top.test.readdata[70] top.test.readdata[69] top.test.readdata[68] top.test.readdata[67] top.test.readdata[66] top.test.readdata[65] top.test.readdata[64] top.test.readdata[63] top.test.readdata[62] top.test.readdata[61] top.test.readdata[60] top.test.readdata[59] top.test.readdata[58] top.test.readdata[57] top.test.readdata[56] top.test.readdata[55] top.test.readdata[54] top.test.readdata[53] top.test.readdata[52] top.test.readdata[51] top.test.readdata[50] top.test.readdata[49] top.test.readdata[48] top.test.readdata[47] top.test.readdata[46] top.test.readdata[45] top.test.readdata[44] top.test.readdata[43] top.test.readdata[42] top.test.readdata[41] top.test.readdata[40] top.test.readdata[39] top.test.readdata[38] top.test.readdata[37] top.test.readdata[36] top.test.readdata[35] top.test.readdata[34] top.test.readdata[33] top.test.readdata[32] top.test.readdata[31] top.test.readdata[30] top.test.readdata[29] top.test.readdata[28] top.test.readdata[27] top.test.readdata[26] top.test.readdata[25] top.test.readdata[24] top.test.readdata[23] top.test.readdata[22] top.test.readdata[21] top.test.readdata[20] top.test.readdata[19] top.test.readdata[18] top.test.readdata[17] top.test.readdata[16] top.test.readdata[15] top.test.readdata[14] top.test.readdata[13] top.test.readdata[12] top.test.readdata[11] top.test.readdata[10] top.test.readdata[9] top.test.readdata[8] top.test.readdata[7] top.test.readdata[6] top.test.readdata[5] top.test.readdata[4] top.test.readdata[3] top.test.readdata[2] top.test.readdata[1] top.test.readdata[0]
+#{top.test.databuffer0.ram[0][127:0]} top.test.databuffer0.ram[0][127] top.test.databuffer0.ram[0][126] top.test.databuffer0.ram[0][125] top.test.databuffer0.ram[0][124] top.test.databuffer0.ram[0][123] top.test.databuffer0.ram[0][122] top.test.databuffer0.ram[0][121] top.test.databuffer0.ram[0][120] top.test.databuffer0.ram[0][119] top.test.databuffer0.ram[0][118] top.test.databuffer0.ram[0][117] top.test.databuffer0.ram[0][116] top.test.databuffer0.ram[0][115] top.test.databuffer0.ram[0][114] top.test.databuffer0.ram[0][113] top.test.databuffer0.ram[0][112] top.test.databuffer0.ram[0][111] top.test.databuffer0.ram[0][110] top.test.databuffer0.ram[0][109] top.test.databuffer0.ram[0][108] top.test.databuffer0.ram[0][107] top.test.databuffer0.ram[0][106] top.test.databuffer0.ram[0][105] top.test.databuffer0.ram[0][104] top.test.databuffer0.ram[0][103] top.test.databuffer0.ram[0][102] top.test.databuffer0.ram[0][101] top.test.databuffer0.ram[0][100] top.test.databuffer0.ram[0][99] top.test.databuffer0.ram[0][98] top.test.databuffer0.ram[0][97] top.test.databuffer0.ram[0][96] top.test.databuffer0.ram[0][95] top.test.databuffer0.ram[0][94] top.test.databuffer0.ram[0][93] top.test.databuffer0.ram[0][92] top.test.databuffer0.ram[0][91] top.test.databuffer0.ram[0][90] top.test.databuffer0.ram[0][89] top.test.databuffer0.ram[0][88] top.test.databuffer0.ram[0][87] top.test.databuffer0.ram[0][86] top.test.databuffer0.ram[0][85] top.test.databuffer0.ram[0][84] top.test.databuffer0.ram[0][83] top.test.databuffer0.ram[0][82] top.test.databuffer0.ram[0][81] top.test.databuffer0.ram[0][80] top.test.databuffer0.ram[0][79] top.test.databuffer0.ram[0][78] top.test.databuffer0.ram[0][77] top.test.databuffer0.ram[0][76] top.test.databuffer0.ram[0][75] top.test.databuffer0.ram[0][74] top.test.databuffer0.ram[0][73] top.test.databuffer0.ram[0][72] top.test.databuffer0.ram[0][71] top.test.databuffer0.ram[0][70] top.test.databuffer0.ram[0][69] top.test.databuffer0.ram[0][68] top.test.databuffer0.ram[0][67] top.test.databuffer0.ram[0][66] top.test.databuffer0.ram[0][65] top.test.databuffer0.ram[0][64] top.test.databuffer0.ram[0][63] top.test.databuffer0.ram[0][62] top.test.databuffer0.ram[0][61] top.test.databuffer0.ram[0][60] top.test.databuffer0.ram[0][59] top.test.databuffer0.ram[0][58] top.test.databuffer0.ram[0][57] top.test.databuffer0.ram[0][56] top.test.databuffer0.ram[0][55] top.test.databuffer0.ram[0][54] top.test.databuffer0.ram[0][53] top.test.databuffer0.ram[0][52] top.test.databuffer0.ram[0][51] top.test.databuffer0.ram[0][50] top.test.databuffer0.ram[0][49] top.test.databuffer0.ram[0][48] top.test.databuffer0.ram[0][47] top.test.databuffer0.ram[0][46] top.test.databuffer0.ram[0][45] top.test.databuffer0.ram[0][44] top.test.databuffer0.ram[0][43] top.test.databuffer0.ram[0][42] top.test.databuffer0.ram[0][41] top.test.databuffer0.ram[0][40] top.test.databuffer0.ram[0][39] top.test.databuffer0.ram[0][38] top.test.databuffer0.ram[0][37] top.test.databuffer0.ram[0][36] top.test.databuffer0.ram[0][35] top.test.databuffer0.ram[0][34] top.test.databuffer0.ram[0][33] top.test.databuffer0.ram[0][32] top.test.databuffer0.ram[0][31] top.test.databuffer0.ram[0][30] top.test.databuffer0.ram[0][29] top.test.databuffer0.ram[0][28] top.test.databuffer0.ram[0][27] top.test.databuffer0.ram[0][26] top.test.databuffer0.ram[0][25] top.test.databuffer0.ram[0][24] top.test.databuffer0.ram[0][23] top.test.databuffer0.ram[0][22] top.test.databuffer0.ram[0][21] top.test.databuffer0.ram[0][20] top.test.databuffer0.ram[0][19] top.test.databuffer0.ram[0][18] top.test.databuffer0.ram[0][17] top.test.databuffer0.ram[0][16] top.test.databuffer0.ram[0][15] top.test.databuffer0.ram[0][14] top.test.databuffer0.ram[0][13] top.test.databuffer0.ram[0][12] top.test.databuffer0.ram[0][11] top.test.databuffer0.ram[0][10] top.test.databuffer0.ram[0][9] top.test.databuffer0.ram[0][8] top.test.databuffer0.ram[0][7] top.test.databuffer0.ram[0][6] top.test.databuffer0.ram[0][5] top.test.databuffer0.ram[0][4] top.test.databuffer0.ram[0][3] top.test.databuffer0.ram[0][2] top.test.databuffer0.ram[0][1] top.test.databuffer0.ram[0][0]
+@23
+#{top.test.databuffer0.ram[1][127:0]} top.test.databuffer0.ram[1][127] top.test.databuffer0.ram[1][126] top.test.databuffer0.ram[1][125] top.test.databuffer0.ram[1][124] top.test.databuffer0.ram[1][123] top.test.databuffer0.ram[1][122] top.test.databuffer0.ram[1][121] top.test.databuffer0.ram[1][120] top.test.databuffer0.ram[1][119] top.test.databuffer0.ram[1][118] top.test.databuffer0.ram[1][117] top.test.databuffer0.ram[1][116] top.test.databuffer0.ram[1][115] top.test.databuffer0.ram[1][114] top.test.databuffer0.ram[1][113] top.test.databuffer0.ram[1][112] top.test.databuffer0.ram[1][111] top.test.databuffer0.ram[1][110] top.test.databuffer0.ram[1][109] top.test.databuffer0.ram[1][108] top.test.databuffer0.ram[1][107] top.test.databuffer0.ram[1][106] top.test.databuffer0.ram[1][105] top.test.databuffer0.ram[1][104] top.test.databuffer0.ram[1][103] top.test.databuffer0.ram[1][102] top.test.databuffer0.ram[1][101] top.test.databuffer0.ram[1][100] top.test.databuffer0.ram[1][99] top.test.databuffer0.ram[1][98] top.test.databuffer0.ram[1][97] top.test.databuffer0.ram[1][96] top.test.databuffer0.ram[1][95] top.test.databuffer0.ram[1][94] top.test.databuffer0.ram[1][93] top.test.databuffer0.ram[1][92] top.test.databuffer0.ram[1][91] top.test.databuffer0.ram[1][90] top.test.databuffer0.ram[1][89] top.test.databuffer0.ram[1][88] top.test.databuffer0.ram[1][87] top.test.databuffer0.ram[1][86] top.test.databuffer0.ram[1][85] top.test.databuffer0.ram[1][84] top.test.databuffer0.ram[1][83] top.test.databuffer0.ram[1][82] top.test.databuffer0.ram[1][81] top.test.databuffer0.ram[1][80] top.test.databuffer0.ram[1][79] top.test.databuffer0.ram[1][78] top.test.databuffer0.ram[1][77] top.test.databuffer0.ram[1][76] top.test.databuffer0.ram[1][75] top.test.databuffer0.ram[1][74] top.test.databuffer0.ram[1][73] top.test.databuffer0.ram[1][72] top.test.databuffer0.ram[1][71] top.test.databuffer0.ram[1][70] top.test.databuffer0.ram[1][69] top.test.databuffer0.ram[1][68] top.test.databuffer0.ram[1][67] top.test.databuffer0.ram[1][66] top.test.databuffer0.ram[1][65] top.test.databuffer0.ram[1][64] top.test.databuffer0.ram[1][63] top.test.databuffer0.ram[1][62] top.test.databuffer0.ram[1][61] top.test.databuffer0.ram[1][60] top.test.databuffer0.ram[1][59] top.test.databuffer0.ram[1][58] top.test.databuffer0.ram[1][57] top.test.databuffer0.ram[1][56] top.test.databuffer0.ram[1][55] top.test.databuffer0.ram[1][54] top.test.databuffer0.ram[1][53] top.test.databuffer0.ram[1][52] top.test.databuffer0.ram[1][51] top.test.databuffer0.ram[1][50] top.test.databuffer0.ram[1][49] top.test.databuffer0.ram[1][48] top.test.databuffer0.ram[1][47] top.test.databuffer0.ram[1][46] top.test.databuffer0.ram[1][45] top.test.databuffer0.ram[1][44] top.test.databuffer0.ram[1][43] top.test.databuffer0.ram[1][42] top.test.databuffer0.ram[1][41] top.test.databuffer0.ram[1][40] top.test.databuffer0.ram[1][39] top.test.databuffer0.ram[1][38] top.test.databuffer0.ram[1][37] top.test.databuffer0.ram[1][36] top.test.databuffer0.ram[1][35] top.test.databuffer0.ram[1][34] top.test.databuffer0.ram[1][33] top.test.databuffer0.ram[1][32] top.test.databuffer0.ram[1][31] top.test.databuffer0.ram[1][30] top.test.databuffer0.ram[1][29] top.test.databuffer0.ram[1][28] top.test.databuffer0.ram[1][27] top.test.databuffer0.ram[1][26] top.test.databuffer0.ram[1][25] top.test.databuffer0.ram[1][24] top.test.databuffer0.ram[1][23] top.test.databuffer0.ram[1][22] top.test.databuffer0.ram[1][21] top.test.databuffer0.ram[1][20] top.test.databuffer0.ram[1][19] top.test.databuffer0.ram[1][18] top.test.databuffer0.ram[1][17] top.test.databuffer0.ram[1][16] top.test.databuffer0.ram[1][15] top.test.databuffer0.ram[1][14] top.test.databuffer0.ram[1][13] top.test.databuffer0.ram[1][12] top.test.databuffer0.ram[1][11] top.test.databuffer0.ram[1][10] top.test.databuffer0.ram[1][9] top.test.databuffer0.ram[1][8] top.test.databuffer0.ram[1][7] top.test.databuffer0.ram[1][6] top.test.databuffer0.ram[1][5] top.test.databuffer0.ram[1][4] top.test.databuffer0.ram[1][3] top.test.databuffer0.ram[1][2] top.test.databuffer0.ram[1][1] top.test.databuffer0.ram[1][0]
+[pattern_trace] 1
+[pattern_trace] 0
diff --git a/source/DuneNvme/sim/testbench/test018-buffer.vhd b/source/DuneNvme/sim/testbench/test018-buffer.vhd
new file mode 100644 (file)
index 0000000..215ae48
--- /dev/null
@@ -0,0 +1,133 @@
+--------------------------------------------------------------------------------
+--     Test018-buffer.vhd      Simple testbench scipt
+--     T.Barnaby,      Beam Ltd.       2020-05-05
+--------------------------------------------------------------------------------
+--
+--
+--
+library ieee ;
+use ieee.std_logic_1164.all;
+use ieee.numeric_std.all;
+
+library work;
+use work.NvmeStoragePkg.all;
+use work.NvmeStorageIntPkg.all;
+use work.TestPkg.all;
+
+entity Test is
+end;
+
+architecture sim of Test is
+constant DataWidth     : integer := 128;
+constant RamSize       : integer := 16;                        --! For simple testing
+constant AddressWidth  : integer := log2(RamSize);
+
+constant TCQ           : time := 1 ns;
+
+signal clk             : std_logic := '0';
+signal reset           : std_logic := '0';
+signal run             : std_logic := '0';
+
+signal writeEnable     : std_logic := '0';
+signal writeAddress    : unsigned(AddressWidth-1 downto 0) := (others => '0');
+signal writeData       : unsigned(DataWidth-1 downto 0) := (others => '0');
+
+signal readEnable      : std_logic := '0';
+signal readAddress     : unsigned(AddressWidth-1 downto 0) := (others => '0');
+signal readData                : std_logic_vector(DataWidth-1 downto 0) := (others => '0');
+
+component DataBuffer is
+generic(
+       Simulate        : boolean := True;                      --! Generate simulation core
+       Size            : integer := RamSize                    --! The Buffer size in 128 bit words
+);
+port (
+       clk             : in std_logic;                         --! The interface clock line
+       reset           : in std_logic;                         --! The active high reset line
+
+       writeEnable     : in std_logic;
+       writeAddress    : in unsigned(AddressWidth-1 downto 0); 
+       writeData       : in std_logic_vector(127 downto 0);    
+
+       readEnable      : in std_logic;
+       readAddress     : in unsigned(AddressWidth-1 downto 0); 
+       readData        : out std_logic_vector(127 downto 0)    
+);
+end component;
+
+begin
+       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;
+       
+       stop : process
+       begin
+               --wait for 2000 ns;
+               wait for 10000 ns;
+               assert false report "simulation ended ok" severity failure;
+       end process;
+
+
+       dataBuffer0 : DataBuffer
+       port map (
+               clk             => clk,
+               reset           => reset,
+
+               writeEnable     => writeEnable,
+               writeAddress    => writeAddress,
+               writeData       => std_logic_vector(writeData),
+
+               readEnable      => readEnable,
+               readAddress     => readAddress,
+               readData        => readData
+       );
+
+       runWrite : process(clk)
+       begin
+               if(rising_edge(clk)) then
+                       if(reset = '1') then
+                               writeAddress    <= (others => '0');
+                               writeData       <= (others => '0');
+                       else
+                               writeEnable     <= '1';
+                               writeAddress    <= writeAddress + 1;
+                               writeData       <= writeData + 1;
+                       end if;
+               end if;
+       end process;
+       
+       start : process
+       begin
+               wait until reset = '0';
+               wait until rising_edge(clk);
+               wait until rising_edge(clk);
+               wait until rising_edge(clk);
+               run <= '1';
+               
+               wait;
+       end process;
+       
+       runRead : process(clk)
+       begin
+               if(rising_edge(clk)) then
+                       if(reset = '1') then
+                               readAddress     <= (others => '0');
+                       else
+                               if(run = '1') then
+                                       readEnable      <= '1';
+                                       readAddress     <= readAddress + 1;
+                               end if;
+                       end if;
+               end if;
+       end process;
+       
+end;
diff --git a/source/DuneNvme/sim/testbench/test019-write.sav b/source/DuneNvme/sim/testbench/test019-write.sav
new file mode 100644 (file)
index 0000000..20535d1
--- /dev/null
@@ -0,0 +1,282 @@
+[*]
+[*] GTKWave Analyzer v3.3.104 (w)1999-2020 BSI
+[*] Wed May  6 09:06:04 2020
+[*]
+[dumpfile] "/src/dune/FpgaPlay/test024-nvmewrite/sim/simu/test.ghw"
+[dumpfile_mtime] "Wed May  6 08:52:11 2020"
+[dumpfile_size] 1510744
+[savefile] "/src/dune/FpgaPlay/test024-nvmewrite/sim/testbench/test019-write.sav"
+[timestart] 2897900000
+[size] 1920 1171
+[pos] -1 -1
+*-26.418455 3118900000 -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.hostrecv.
+[treeopen] top.test.hostsend.
+[treeopen] top.test.nvmereq.
+[treeopen] top.test.nvmestorageunit0.
+[treeopen] top.test.nvmestorageunit0.gen03.
+[treeopen] top.test.nvmestorageunit0.gen03.nvmequeues0.
+[treeopen] top.test.nvmestorageunit0.gen03.nvmequeues0.queueinarraypos.
+[treeopen] top.test.nvmestorageunit0.gen03.nvmequeues0.requesthead1.
+[treeopen] top.test.nvmestorageunit0.gen03.nvmewrite0.
+[treeopen] top.test.nvmestorageunit0.gen03.nvmewrite0.buffers.
+[treeopen] top.test.nvmestorageunit0.gen03.nvmewrite0.buffers.[0].
+[treeopen] top.test.nvmestorageunit0.gen03.nvmewrite0.buffers.[1].
+[treeopen] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.
+[treeopen] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.
+[treeopen] top.test.nvmestorageunit0.gen03.streamswitch0.streamin.
+[treeopen] top.test.nvmestorageunit0.gen03.streamswitch0.streamin.[0].
+[treeopen] top.test.nvmestorageunit0.gen03.streamswitch0.streamout.
+[treeopen] top.test.nvmestorageunit0.gen03.streamswitch0.streamout.[0].
+[treeopen] top.test.nvmestorageunit0.sim.
+[treeopen] top.test.nvmestorageunit0.sim.nvmesim0.
+[treeopen] top.test.nvmestorageunit0.sim.nvmesim0.hostreply.
+[treeopen] top.test.nvmestorageunit0.sim.nvmesim0.hostreq.
+[treeopen] top.test.nvmestorageunit0.sim.nvmesim0.nvmereply.
+[treeopen] top.test.nvmestorageunit0.sim.nvmesim0.nvmereq.
+[treeopen] top.test.nvmestorageunit0.streamrecv.[0].
+[treeopen] top.test.nvmestorageunit0.streamrecv.[1].
+[treeopen] top.test.nvmestorageunit0.streamrecv.[2].
+[treeopen] top.test.nvmestorageunit0.streamsend.[0].
+[treeopen] top.test.nvmestorageunit0.streamsend.[2].
+[treeopen] top.test.testdata0.
+[sst_width] 290
+[signals_width] 478
+[sst_expanded] 1
+[sst_vpaned_height] 768
+@28
+top.test.clk
+top.test.reset
+@c00200
+-ResetLocal
+@28
+top.test.nvmestorageunit0.reset_local_run
+top.test.nvmestorageunit0.reset_local_done
+top.test.nvmestorageunit0.reset_local_active
+@420
+top.test.nvmestorageunit0.reset_local_counter
+@28
+top.test.nvmestorageunit0.reset_local
+@1401200
+-ResetLocal
+@800200
+-Host
+@28
+top.test.hostsend.ready
+top.test.hostsend.valid
+top.test.hostsend.last
+@22
+#{top.test.hostsend.keep[15:0]} top.test.hostsend.keep[15] top.test.hostsend.keep[14] top.test.hostsend.keep[13] top.test.hostsend.keep[12] top.test.hostsend.keep[11] top.test.hostsend.keep[10] top.test.hostsend.keep[9] top.test.hostsend.keep[8] top.test.hostsend.keep[7] top.test.hostsend.keep[6] top.test.hostsend.keep[5] top.test.hostsend.keep[4] top.test.hostsend.keep[3] top.test.hostsend.keep[2] top.test.hostsend.keep[1] top.test.hostsend.keep[0]
+#{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.hostrecv.ready
+top.test.hostrecv.valid
+top.test.hostrecv.last
+@22
+#{top.test.hostrecv.keep[15:0]} top.test.hostrecv.keep[15] top.test.hostrecv.keep[14] top.test.hostrecv.keep[13] top.test.hostrecv.keep[12] top.test.hostrecv.keep[11] top.test.hostrecv.keep[10] top.test.hostrecv.keep[9] top.test.hostrecv.keep[8] top.test.hostrecv.keep[7] top.test.hostrecv.keep[6] top.test.hostrecv.keep[5] top.test.hostrecv.keep[4] top.test.hostrecv.keep[3] top.test.hostrecv.keep[2] top.test.hostrecv.keep[1] top.test.hostrecv.keep[0]
+#{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
+@22
+#{top.test.testdata0.data[31:0]} top.test.testdata0.data[31] top.test.testdata0.data[30] top.test.testdata0.data[29] top.test.testdata0.data[28] top.test.testdata0.data[27] top.test.testdata0.data[26] top.test.testdata0.data[25] top.test.testdata0.data[24] top.test.testdata0.data[23] top.test.testdata0.data[22] top.test.testdata0.data[21] top.test.testdata0.data[20] top.test.testdata0.data[19] top.test.testdata0.data[18] top.test.testdata0.data[17] top.test.testdata0.data[16] top.test.testdata0.data[15] top.test.testdata0.data[14] top.test.testdata0.data[13] top.test.testdata0.data[12] top.test.testdata0.data[11] top.test.testdata0.data[10] top.test.testdata0.data[9] top.test.testdata0.data[8] top.test.testdata0.data[7] top.test.testdata0.data[6] top.test.testdata0.data[5] top.test.testdata0.data[4] top.test.testdata0.data[3] top.test.testdata0.data[2] top.test.testdata0.data[1] top.test.testdata0.data[0]
+@1000200
+-Host
+@800200
+-Registers
+@22
+#{top.test.nvmestorageunit0.reg_control[31:0]} top.test.nvmestorageunit0.reg_control[31] top.test.nvmestorageunit0.reg_control[30] top.test.nvmestorageunit0.reg_control[29] top.test.nvmestorageunit0.reg_control[28] top.test.nvmestorageunit0.reg_control[27] top.test.nvmestorageunit0.reg_control[26] top.test.nvmestorageunit0.reg_control[25] top.test.nvmestorageunit0.reg_control[24] top.test.nvmestorageunit0.reg_control[23] top.test.nvmestorageunit0.reg_control[22] top.test.nvmestorageunit0.reg_control[21] top.test.nvmestorageunit0.reg_control[20] top.test.nvmestorageunit0.reg_control[19] top.test.nvmestorageunit0.reg_control[18] top.test.nvmestorageunit0.reg_control[17] top.test.nvmestorageunit0.reg_control[16] top.test.nvmestorageunit0.reg_control[15] top.test.nvmestorageunit0.reg_control[14] top.test.nvmestorageunit0.reg_control[13] top.test.nvmestorageunit0.reg_control[12] top.test.nvmestorageunit0.reg_control[11] top.test.nvmestorageunit0.reg_control[10] top.test.nvmestorageunit0.reg_control[9] top.test.nvmestorageunit0.reg_control[8] top.test.nvmestorageunit0.reg_control[7] top.test.nvmestorageunit0.reg_control[6] top.test.nvmestorageunit0.reg_control[5] top.test.nvmestorageunit0.reg_control[4] top.test.nvmestorageunit0.reg_control[3] top.test.nvmestorageunit0.reg_control[2] top.test.nvmestorageunit0.reg_control[1] top.test.nvmestorageunit0.reg_control[0]
+@28
+top.test.axil.toslave.arvalid
+top.test.axil.toslave.rready
+top.test.axil.tomaster.rvalid
+@22
+#{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]
+@1000200
+-Registers
+@800200
+-Switch
+@28
+top.test.nvmestorageunit0.gen03.streamswitch0.streamin[0].valid
+@22
+#{top.test.nvmestorageunit0.gen03.streamswitch0.streamin[0].data[127:0]} top.test.nvmestorageunit0.gen03.streamswitch0.streamin[0].data[127] top.test.nvmestorageunit0.gen03.streamswitch0.streamin[0].data[126] top.test.nvmestorageunit0.gen03.streamswitch0.streamin[0].data[125] top.test.nvmestorageunit0.gen03.streamswitch0.streamin[0].data[124] top.test.nvmestorageunit0.gen03.streamswitch0.streamin[0].data[123] top.test.nvmestorageunit0.gen03.streamswitch0.streamin[0].data[122] top.test.nvmestorageunit0.gen03.streamswitch0.streamin[0].data[121] top.test.nvmestorageunit0.gen03.streamswitch0.streamin[0].data[120] top.test.nvmestorageunit0.gen03.streamswitch0.streamin[0].data[119] top.test.nvmestorageunit0.gen03.streamswitch0.streamin[0].data[118] top.test.nvmestorageunit0.gen03.streamswitch0.streamin[0].data[117] top.test.nvmestorageunit0.gen03.streamswitch0.streamin[0].data[116] top.test.nvmestorageunit0.gen03.streamswitch0.streamin[0].data[115] top.test.nvmestorageunit0.gen03.streamswitch0.streamin[0].data[114] top.test.nvmestorageunit0.gen03.streamswitch0.streamin[0].data[113] top.test.nvmestorageunit0.gen03.streamswitch0.streamin[0].data[112] top.test.nvmestorageunit0.gen03.streamswitch0.streamin[0].data[111] top.test.nvmestorageunit0.gen03.streamswitch0.streamin[0].data[110] top.test.nvmestorageunit0.gen03.streamswitch0.streamin[0].data[109] top.test.nvmestorageunit0.gen03.streamswitch0.streamin[0].data[108] top.test.nvmestorageunit0.gen03.streamswitch0.streamin[0].data[107] top.test.nvmestorageunit0.gen03.streamswitch0.streamin[0].data[106] top.test.nvmestorageunit0.gen03.streamswitch0.streamin[0].data[105] top.test.nvmestorageunit0.gen03.streamswitch0.streamin[0].data[104] top.test.nvmestorageunit0.gen03.streamswitch0.streamin[0].data[103] top.test.nvmestorageunit0.gen03.streamswitch0.streamin[0].data[102] top.test.nvmestorageunit0.gen03.streamswitch0.streamin[0].data[101] top.test.nvmestorageunit0.gen03.streamswitch0.streamin[0].data[100] top.test.nvmestorageunit0.gen03.streamswitch0.streamin[0].data[99] top.test.nvmestorageunit0.gen03.streamswitch0.streamin[0].data[98] top.test.nvmestorageunit0.gen03.streamswitch0.streamin[0].data[97] top.test.nvmestorageunit0.gen03.streamswitch0.streamin[0].data[96] top.test.nvmestorageunit0.gen03.streamswitch0.streamin[0].data[95] top.test.nvmestorageunit0.gen03.streamswitch0.streamin[0].data[94] top.test.nvmestorageunit0.gen03.streamswitch0.streamin[0].data[93] top.test.nvmestorageunit0.gen03.streamswitch0.streamin[0].data[92] top.test.nvmestorageunit0.gen03.streamswitch0.streamin[0].data[91] top.test.nvmestorageunit0.gen03.streamswitch0.streamin[0].data[90] top.test.nvmestorageunit0.gen03.streamswitch0.streamin[0].data[89] top.test.nvmestorageunit0.gen03.streamswitch0.streamin[0].data[88] top.test.nvmestorageunit0.gen03.streamswitch0.streamin[0].data[87] top.test.nvmestorageunit0.gen03.streamswitch0.streamin[0].data[86] top.test.nvmestorageunit0.gen03.streamswitch0.streamin[0].data[85] top.test.nvmestorageunit0.gen03.streamswitch0.streamin[0].data[84] top.test.nvmestorageunit0.gen03.streamswitch0.streamin[0].data[83] top.test.nvmestorageunit0.gen03.streamswitch0.streamin[0].data[82] top.test.nvmestorageunit0.gen03.streamswitch0.streamin[0].data[81] top.test.nvmestorageunit0.gen03.streamswitch0.streamin[0].data[80] top.test.nvmestorageunit0.gen03.streamswitch0.streamin[0].data[79] top.test.nvmestorageunit0.gen03.streamswitch0.streamin[0].data[78] top.test.nvmestorageunit0.gen03.streamswitch0.streamin[0].data[77] top.test.nvmestorageunit0.gen03.streamswitch0.streamin[0].data[76] top.test.nvmestorageunit0.gen03.streamswitch0.streamin[0].data[75] top.test.nvmestorageunit0.gen03.streamswitch0.streamin[0].data[74] top.test.nvmestorageunit0.gen03.streamswitch0.streamin[0].data[73] top.test.nvmestorageunit0.gen03.streamswitch0.streamin[0].data[72] top.test.nvmestorageunit0.gen03.streamswitch0.streamin[0].data[71] top.test.nvmestorageunit0.gen03.streamswitch0.streamin[0].data[70] top.test.nvmestorageunit0.gen03.streamswitch0.streamin[0].data[69] top.test.nvmestorageunit0.gen03.streamswitch0.streamin[0].data[68] top.test.nvmestorageunit0.gen03.streamswitch0.streamin[0].data[67] top.test.nvmestorageunit0.gen03.streamswitch0.streamin[0].data[66] top.test.nvmestorageunit0.gen03.streamswitch0.streamin[0].data[65] top.test.nvmestorageunit0.gen03.streamswitch0.streamin[0].data[64] top.test.nvmestorageunit0.gen03.streamswitch0.streamin[0].data[63] top.test.nvmestorageunit0.gen03.streamswitch0.streamin[0].data[62] top.test.nvmestorageunit0.gen03.streamswitch0.streamin[0].data[61] top.test.nvmestorageunit0.gen03.streamswitch0.streamin[0].data[60] top.test.nvmestorageunit0.gen03.streamswitch0.streamin[0].data[59] top.test.nvmestorageunit0.gen03.streamswitch0.streamin[0].data[58] top.test.nvmestorageunit0.gen03.streamswitch0.streamin[0].data[57] top.test.nvmestorageunit0.gen03.streamswitch0.streamin[0].data[56] top.test.nvmestorageunit0.gen03.streamswitch0.streamin[0].data[55] top.test.nvmestorageunit0.gen03.streamswitch0.streamin[0].data[54] top.test.nvmestorageunit0.gen03.streamswitch0.streamin[0].data[53] top.test.nvmestorageunit0.gen03.streamswitch0.streamin[0].data[52] top.test.nvmestorageunit0.gen03.streamswitch0.streamin[0].data[51] top.test.nvmestorageunit0.gen03.streamswitch0.streamin[0].data[50] top.test.nvmestorageunit0.gen03.streamswitch0.streamin[0].data[49] top.test.nvmestorageunit0.gen03.streamswitch0.streamin[0].data[48] top.test.nvmestorageunit0.gen03.streamswitch0.streamin[0].data[47] top.test.nvmestorageunit0.gen03.streamswitch0.streamin[0].data[46] top.test.nvmestorageunit0.gen03.streamswitch0.streamin[0].data[45] top.test.nvmestorageunit0.gen03.streamswitch0.streamin[0].data[44] top.test.nvmestorageunit0.gen03.streamswitch0.streamin[0].data[43] top.test.nvmestorageunit0.gen03.streamswitch0.streamin[0].data[42] top.test.nvmestorageunit0.gen03.streamswitch0.streamin[0].data[41] top.test.nvmestorageunit0.gen03.streamswitch0.streamin[0].data[40] top.test.nvmestorageunit0.gen03.streamswitch0.streamin[0].data[39] top.test.nvmestorageunit0.gen03.streamswitch0.streamin[0].data[38] top.test.nvmestorageunit0.gen03.streamswitch0.streamin[0].data[37] top.test.nvmestorageunit0.gen03.streamswitch0.streamin[0].data[36] top.test.nvmestorageunit0.gen03.streamswitch0.streamin[0].data[35] top.test.nvmestorageunit0.gen03.streamswitch0.streamin[0].data[34] top.test.nvmestorageunit0.gen03.streamswitch0.streamin[0].data[33] top.test.nvmestorageunit0.gen03.streamswitch0.streamin[0].data[32] top.test.nvmestorageunit0.gen03.streamswitch0.streamin[0].data[31] top.test.nvmestorageunit0.gen03.streamswitch0.streamin[0].data[30] top.test.nvmestorageunit0.gen03.streamswitch0.streamin[0].data[29] top.test.nvmestorageunit0.gen03.streamswitch0.streamin[0].data[28] top.test.nvmestorageunit0.gen03.streamswitch0.streamin[0].data[27] top.test.nvmestorageunit0.gen03.streamswitch0.streamin[0].data[26] top.test.nvmestorageunit0.gen03.streamswitch0.streamin[0].data[25] top.test.nvmestorageunit0.gen03.streamswitch0.streamin[0].data[24] top.test.nvmestorageunit0.gen03.streamswitch0.streamin[0].data[23] top.test.nvmestorageunit0.gen03.streamswitch0.streamin[0].data[22] top.test.nvmestorageunit0.gen03.streamswitch0.streamin[0].data[21] top.test.nvmestorageunit0.gen03.streamswitch0.streamin[0].data[20] top.test.nvmestorageunit0.gen03.streamswitch0.streamin[0].data[19] top.test.nvmestorageunit0.gen03.streamswitch0.streamin[0].data[18] top.test.nvmestorageunit0.gen03.streamswitch0.streamin[0].data[17] top.test.nvmestorageunit0.gen03.streamswitch0.streamin[0].data[16] top.test.nvmestorageunit0.gen03.streamswitch0.streamin[0].data[15] top.test.nvmestorageunit0.gen03.streamswitch0.streamin[0].data[14] top.test.nvmestorageunit0.gen03.streamswitch0.streamin[0].data[13] top.test.nvmestorageunit0.gen03.streamswitch0.streamin[0].data[12] top.test.nvmestorageunit0.gen03.streamswitch0.streamin[0].data[11] top.test.nvmestorageunit0.gen03.streamswitch0.streamin[0].data[10] top.test.nvmestorageunit0.gen03.streamswitch0.streamin[0].data[9] top.test.nvmestorageunit0.gen03.streamswitch0.streamin[0].data[8] top.test.nvmestorageunit0.gen03.streamswitch0.streamin[0].data[7] top.test.nvmestorageunit0.gen03.streamswitch0.streamin[0].data[6] top.test.nvmestorageunit0.gen03.streamswitch0.streamin[0].data[5] top.test.nvmestorageunit0.gen03.streamswitch0.streamin[0].data[4] top.test.nvmestorageunit0.gen03.streamswitch0.streamin[0].data[3] top.test.nvmestorageunit0.gen03.streamswitch0.streamin[0].data[2] top.test.nvmestorageunit0.gen03.streamswitch0.streamin[0].data[1] top.test.nvmestorageunit0.gen03.streamswitch0.streamin[0].data[0]
+@28
+top.test.nvmestorageunit0.gen03.streamswitch0.streamout[0].ready
+top.test.nvmestorageunit0.gen03.streamswitch0.streamin[1].valid
+top.test.nvmestorageunit0.gen03.streamswitch0.streamout[1].ready
+top.test.nvmestorageunit0.gen03.streamswitch0.streamin[2].valid
+top.test.nvmestorageunit0.gen03.streamswitch0.streamout[2].ready
+@420
+top.test.nvmestorageunit0.gen03.streamswitch0.switchstate
+top.test.nvmestorageunit0.gen03.streamswitch0.switchin
+top.test.nvmestorageunit0.gen03.streamswitch0.switchout
+@1000200
+-Switch
+@800200
+-QueueRam
+@420
+top.test.nvmestorageunit0.gen03.nvmequeues0.state
+@28
+top.test.nvmestorageunit0.streamrecv[2].ready
+top.test.nvmestorageunit0.streamrecv[2].valid
+top.test.nvmestorageunit0.streamrecv[2].last
+@22
+#{top.test.nvmestorageunit0.streamrecv[2].data[127:0]} top.test.nvmestorageunit0.streamrecv[2].data[127] top.test.nvmestorageunit0.streamrecv[2].data[126] top.test.nvmestorageunit0.streamrecv[2].data[125] top.test.nvmestorageunit0.streamrecv[2].data[124] top.test.nvmestorageunit0.streamrecv[2].data[123] top.test.nvmestorageunit0.streamrecv[2].data[122] top.test.nvmestorageunit0.streamrecv[2].data[121] top.test.nvmestorageunit0.streamrecv[2].data[120] top.test.nvmestorageunit0.streamrecv[2].data[119] top.test.nvmestorageunit0.streamrecv[2].data[118] top.test.nvmestorageunit0.streamrecv[2].data[117] top.test.nvmestorageunit0.streamrecv[2].data[116] top.test.nvmestorageunit0.streamrecv[2].data[115] top.test.nvmestorageunit0.streamrecv[2].data[114] top.test.nvmestorageunit0.streamrecv[2].data[113] top.test.nvmestorageunit0.streamrecv[2].data[112] top.test.nvmestorageunit0.streamrecv[2].data[111] top.test.nvmestorageunit0.streamrecv[2].data[110] top.test.nvmestorageunit0.streamrecv[2].data[109] top.test.nvmestorageunit0.streamrecv[2].data[108] top.test.nvmestorageunit0.streamrecv[2].data[107] top.test.nvmestorageunit0.streamrecv[2].data[106] top.test.nvmestorageunit0.streamrecv[2].data[105] top.test.nvmestorageunit0.streamrecv[2].data[104] top.test.nvmestorageunit0.streamrecv[2].data[103] top.test.nvmestorageunit0.streamrecv[2].data[102] top.test.nvmestorageunit0.streamrecv[2].data[101] top.test.nvmestorageunit0.streamrecv[2].data[100] top.test.nvmestorageunit0.streamrecv[2].data[99] top.test.nvmestorageunit0.streamrecv[2].data[98] top.test.nvmestorageunit0.streamrecv[2].data[97] top.test.nvmestorageunit0.streamrecv[2].data[96] top.test.nvmestorageunit0.streamrecv[2].data[95] top.test.nvmestorageunit0.streamrecv[2].data[94] top.test.nvmestorageunit0.streamrecv[2].data[93] top.test.nvmestorageunit0.streamrecv[2].data[92] top.test.nvmestorageunit0.streamrecv[2].data[91] top.test.nvmestorageunit0.streamrecv[2].data[90] top.test.nvmestorageunit0.streamrecv[2].data[89] top.test.nvmestorageunit0.streamrecv[2].data[88] top.test.nvmestorageunit0.streamrecv[2].data[87] top.test.nvmestorageunit0.streamrecv[2].data[86] top.test.nvmestorageunit0.streamrecv[2].data[85] top.test.nvmestorageunit0.streamrecv[2].data[84] top.test.nvmestorageunit0.streamrecv[2].data[83] top.test.nvmestorageunit0.streamrecv[2].data[82] top.test.nvmestorageunit0.streamrecv[2].data[81] top.test.nvmestorageunit0.streamrecv[2].data[80] top.test.nvmestorageunit0.streamrecv[2].data[79] top.test.nvmestorageunit0.streamrecv[2].data[78] top.test.nvmestorageunit0.streamrecv[2].data[77] top.test.nvmestorageunit0.streamrecv[2].data[76] top.test.nvmestorageunit0.streamrecv[2].data[75] top.test.nvmestorageunit0.streamrecv[2].data[74] top.test.nvmestorageunit0.streamrecv[2].data[73] top.test.nvmestorageunit0.streamrecv[2].data[72] top.test.nvmestorageunit0.streamrecv[2].data[71] top.test.nvmestorageunit0.streamrecv[2].data[70] top.test.nvmestorageunit0.streamrecv[2].data[69] top.test.nvmestorageunit0.streamrecv[2].data[68] top.test.nvmestorageunit0.streamrecv[2].data[67] top.test.nvmestorageunit0.streamrecv[2].data[66] top.test.nvmestorageunit0.streamrecv[2].data[65] top.test.nvmestorageunit0.streamrecv[2].data[64] top.test.nvmestorageunit0.streamrecv[2].data[63] top.test.nvmestorageunit0.streamrecv[2].data[62] top.test.nvmestorageunit0.streamrecv[2].data[61] top.test.nvmestorageunit0.streamrecv[2].data[60] top.test.nvmestorageunit0.streamrecv[2].data[59] top.test.nvmestorageunit0.streamrecv[2].data[58] top.test.nvmestorageunit0.streamrecv[2].data[57] top.test.nvmestorageunit0.streamrecv[2].data[56] top.test.nvmestorageunit0.streamrecv[2].data[55] top.test.nvmestorageunit0.streamrecv[2].data[54] top.test.nvmestorageunit0.streamrecv[2].data[53] top.test.nvmestorageunit0.streamrecv[2].data[52] top.test.nvmestorageunit0.streamrecv[2].data[51] top.test.nvmestorageunit0.streamrecv[2].data[50] top.test.nvmestorageunit0.streamrecv[2].data[49] top.test.nvmestorageunit0.streamrecv[2].data[48] top.test.nvmestorageunit0.streamrecv[2].data[47] top.test.nvmestorageunit0.streamrecv[2].data[46] top.test.nvmestorageunit0.streamrecv[2].data[45] top.test.nvmestorageunit0.streamrecv[2].data[44] top.test.nvmestorageunit0.streamrecv[2].data[43] top.test.nvmestorageunit0.streamrecv[2].data[42] top.test.nvmestorageunit0.streamrecv[2].data[41] top.test.nvmestorageunit0.streamrecv[2].data[40] top.test.nvmestorageunit0.streamrecv[2].data[39] top.test.nvmestorageunit0.streamrecv[2].data[38] top.test.nvmestorageunit0.streamrecv[2].data[37] top.test.nvmestorageunit0.streamrecv[2].data[36] top.test.nvmestorageunit0.streamrecv[2].data[35] top.test.nvmestorageunit0.streamrecv[2].data[34] top.test.nvmestorageunit0.streamrecv[2].data[33] top.test.nvmestorageunit0.streamrecv[2].data[32] top.test.nvmestorageunit0.streamrecv[2].data[31] top.test.nvmestorageunit0.streamrecv[2].data[30] top.test.nvmestorageunit0.streamrecv[2].data[29] top.test.nvmestorageunit0.streamrecv[2].data[28] top.test.nvmestorageunit0.streamrecv[2].data[27] top.test.nvmestorageunit0.streamrecv[2].data[26] top.test.nvmestorageunit0.streamrecv[2].data[25] top.test.nvmestorageunit0.streamrecv[2].data[24] top.test.nvmestorageunit0.streamrecv[2].data[23] top.test.nvmestorageunit0.streamrecv[2].data[22] top.test.nvmestorageunit0.streamrecv[2].data[21] top.test.nvmestorageunit0.streamrecv[2].data[20] top.test.nvmestorageunit0.streamrecv[2].data[19] top.test.nvmestorageunit0.streamrecv[2].data[18] top.test.nvmestorageunit0.streamrecv[2].data[17] top.test.nvmestorageunit0.streamrecv[2].data[16] top.test.nvmestorageunit0.streamrecv[2].data[15] top.test.nvmestorageunit0.streamrecv[2].data[14] top.test.nvmestorageunit0.streamrecv[2].data[13] top.test.nvmestorageunit0.streamrecv[2].data[12] top.test.nvmestorageunit0.streamrecv[2].data[11] top.test.nvmestorageunit0.streamrecv[2].data[10] top.test.nvmestorageunit0.streamrecv[2].data[9] top.test.nvmestorageunit0.streamrecv[2].data[8] top.test.nvmestorageunit0.streamrecv[2].data[7] top.test.nvmestorageunit0.streamrecv[2].data[6] top.test.nvmestorageunit0.streamrecv[2].data[5] top.test.nvmestorageunit0.streamrecv[2].data[4] top.test.nvmestorageunit0.streamrecv[2].data[3] top.test.nvmestorageunit0.streamrecv[2].data[2] top.test.nvmestorageunit0.streamrecv[2].data[1] top.test.nvmestorageunit0.streamrecv[2].data[0]
+@28
+top.test.nvmestorageunit0.streamsend[2].ready
+top.test.nvmestorageunit0.streamsend[2].valid
+top.test.nvmestorageunit0.streamsend[2].last
+@22
+#{top.test.nvmestorageunit0.streamsend[2].data[127:0]} top.test.nvmestorageunit0.streamsend[2].data[127] top.test.nvmestorageunit0.streamsend[2].data[126] top.test.nvmestorageunit0.streamsend[2].data[125] top.test.nvmestorageunit0.streamsend[2].data[124] top.test.nvmestorageunit0.streamsend[2].data[123] top.test.nvmestorageunit0.streamsend[2].data[122] top.test.nvmestorageunit0.streamsend[2].data[121] top.test.nvmestorageunit0.streamsend[2].data[120] top.test.nvmestorageunit0.streamsend[2].data[119] top.test.nvmestorageunit0.streamsend[2].data[118] top.test.nvmestorageunit0.streamsend[2].data[117] top.test.nvmestorageunit0.streamsend[2].data[116] top.test.nvmestorageunit0.streamsend[2].data[115] top.test.nvmestorageunit0.streamsend[2].data[114] top.test.nvmestorageunit0.streamsend[2].data[113] top.test.nvmestorageunit0.streamsend[2].data[112] top.test.nvmestorageunit0.streamsend[2].data[111] top.test.nvmestorageunit0.streamsend[2].data[110] top.test.nvmestorageunit0.streamsend[2].data[109] top.test.nvmestorageunit0.streamsend[2].data[108] top.test.nvmestorageunit0.streamsend[2].data[107] top.test.nvmestorageunit0.streamsend[2].data[106] top.test.nvmestorageunit0.streamsend[2].data[105] top.test.nvmestorageunit0.streamsend[2].data[104] top.test.nvmestorageunit0.streamsend[2].data[103] top.test.nvmestorageunit0.streamsend[2].data[102] top.test.nvmestorageunit0.streamsend[2].data[101] top.test.nvmestorageunit0.streamsend[2].data[100] top.test.nvmestorageunit0.streamsend[2].data[99] top.test.nvmestorageunit0.streamsend[2].data[98] top.test.nvmestorageunit0.streamsend[2].data[97] top.test.nvmestorageunit0.streamsend[2].data[96] top.test.nvmestorageunit0.streamsend[2].data[95] top.test.nvmestorageunit0.streamsend[2].data[94] top.test.nvmestorageunit0.streamsend[2].data[93] top.test.nvmestorageunit0.streamsend[2].data[92] top.test.nvmestorageunit0.streamsend[2].data[91] top.test.nvmestorageunit0.streamsend[2].data[90] top.test.nvmestorageunit0.streamsend[2].data[89] top.test.nvmestorageunit0.streamsend[2].data[88] top.test.nvmestorageunit0.streamsend[2].data[87] top.test.nvmestorageunit0.streamsend[2].data[86] top.test.nvmestorageunit0.streamsend[2].data[85] top.test.nvmestorageunit0.streamsend[2].data[84] top.test.nvmestorageunit0.streamsend[2].data[83] top.test.nvmestorageunit0.streamsend[2].data[82] top.test.nvmestorageunit0.streamsend[2].data[81] top.test.nvmestorageunit0.streamsend[2].data[80] top.test.nvmestorageunit0.streamsend[2].data[79] top.test.nvmestorageunit0.streamsend[2].data[78] top.test.nvmestorageunit0.streamsend[2].data[77] top.test.nvmestorageunit0.streamsend[2].data[76] top.test.nvmestorageunit0.streamsend[2].data[75] top.test.nvmestorageunit0.streamsend[2].data[74] top.test.nvmestorageunit0.streamsend[2].data[73] top.test.nvmestorageunit0.streamsend[2].data[72] top.test.nvmestorageunit0.streamsend[2].data[71] top.test.nvmestorageunit0.streamsend[2].data[70] top.test.nvmestorageunit0.streamsend[2].data[69] top.test.nvmestorageunit0.streamsend[2].data[68] top.test.nvmestorageunit0.streamsend[2].data[67] top.test.nvmestorageunit0.streamsend[2].data[66] top.test.nvmestorageunit0.streamsend[2].data[65] top.test.nvmestorageunit0.streamsend[2].data[64] top.test.nvmestorageunit0.streamsend[2].data[63] top.test.nvmestorageunit0.streamsend[2].data[62] top.test.nvmestorageunit0.streamsend[2].data[61] top.test.nvmestorageunit0.streamsend[2].data[60] top.test.nvmestorageunit0.streamsend[2].data[59] top.test.nvmestorageunit0.streamsend[2].data[58] top.test.nvmestorageunit0.streamsend[2].data[57] top.test.nvmestorageunit0.streamsend[2].data[56] top.test.nvmestorageunit0.streamsend[2].data[55] top.test.nvmestorageunit0.streamsend[2].data[54] top.test.nvmestorageunit0.streamsend[2].data[53] top.test.nvmestorageunit0.streamsend[2].data[52] top.test.nvmestorageunit0.streamsend[2].data[51] top.test.nvmestorageunit0.streamsend[2].data[50] top.test.nvmestorageunit0.streamsend[2].data[49] top.test.nvmestorageunit0.streamsend[2].data[48] top.test.nvmestorageunit0.streamsend[2].data[47] top.test.nvmestorageunit0.streamsend[2].data[46] top.test.nvmestorageunit0.streamsend[2].data[45] top.test.nvmestorageunit0.streamsend[2].data[44] top.test.nvmestorageunit0.streamsend[2].data[43] top.test.nvmestorageunit0.streamsend[2].data[42] top.test.nvmestorageunit0.streamsend[2].data[41] top.test.nvmestorageunit0.streamsend[2].data[40] top.test.nvmestorageunit0.streamsend[2].data[39] top.test.nvmestorageunit0.streamsend[2].data[38] top.test.nvmestorageunit0.streamsend[2].data[37] top.test.nvmestorageunit0.streamsend[2].data[36] top.test.nvmestorageunit0.streamsend[2].data[35] top.test.nvmestorageunit0.streamsend[2].data[34] top.test.nvmestorageunit0.streamsend[2].data[33] top.test.nvmestorageunit0.streamsend[2].data[32] top.test.nvmestorageunit0.streamsend[2].data[31] top.test.nvmestorageunit0.streamsend[2].data[30] top.test.nvmestorageunit0.streamsend[2].data[29] top.test.nvmestorageunit0.streamsend[2].data[28] top.test.nvmestorageunit0.streamsend[2].data[27] top.test.nvmestorageunit0.streamsend[2].data[26] top.test.nvmestorageunit0.streamsend[2].data[25] top.test.nvmestorageunit0.streamsend[2].data[24] top.test.nvmestorageunit0.streamsend[2].data[23] top.test.nvmestorageunit0.streamsend[2].data[22] top.test.nvmestorageunit0.streamsend[2].data[21] top.test.nvmestorageunit0.streamsend[2].data[20] top.test.nvmestorageunit0.streamsend[2].data[19] top.test.nvmestorageunit0.streamsend[2].data[18] top.test.nvmestorageunit0.streamsend[2].data[17] top.test.nvmestorageunit0.streamsend[2].data[16] top.test.nvmestorageunit0.streamsend[2].data[15] top.test.nvmestorageunit0.streamsend[2].data[14] top.test.nvmestorageunit0.streamsend[2].data[13] top.test.nvmestorageunit0.streamsend[2].data[12] top.test.nvmestorageunit0.streamsend[2].data[11] top.test.nvmestorageunit0.streamsend[2].data[10] top.test.nvmestorageunit0.streamsend[2].data[9] top.test.nvmestorageunit0.streamsend[2].data[8] top.test.nvmestorageunit0.streamsend[2].data[7] top.test.nvmestorageunit0.streamsend[2].data[6] top.test.nvmestorageunit0.streamsend[2].data[5] top.test.nvmestorageunit0.streamsend[2].data[4] top.test.nvmestorageunit0.streamsend[2].data[3] top.test.nvmestorageunit0.streamsend[2].data[2] top.test.nvmestorageunit0.streamsend[2].data[1] top.test.nvmestorageunit0.streamsend[2].data[0]
+#{top.test.nvmestorageunit0.gen03.nvmequeues0.requesthead1.requesterid[15:0]} top.test.nvmestorageunit0.gen03.nvmequeues0.requesthead1.requesterid[15] top.test.nvmestorageunit0.gen03.nvmequeues0.requesthead1.requesterid[14] top.test.nvmestorageunit0.gen03.nvmequeues0.requesthead1.requesterid[13] top.test.nvmestorageunit0.gen03.nvmequeues0.requesthead1.requesterid[12] top.test.nvmestorageunit0.gen03.nvmequeues0.requesthead1.requesterid[11] top.test.nvmestorageunit0.gen03.nvmequeues0.requesthead1.requesterid[10] top.test.nvmestorageunit0.gen03.nvmequeues0.requesthead1.requesterid[9] top.test.nvmestorageunit0.gen03.nvmequeues0.requesthead1.requesterid[8] top.test.nvmestorageunit0.gen03.nvmequeues0.requesthead1.requesterid[7] top.test.nvmestorageunit0.gen03.nvmequeues0.requesthead1.requesterid[6] top.test.nvmestorageunit0.gen03.nvmequeues0.requesthead1.requesterid[5] top.test.nvmestorageunit0.gen03.nvmequeues0.requesthead1.requesterid[4] top.test.nvmestorageunit0.gen03.nvmequeues0.requesthead1.requesterid[3] top.test.nvmestorageunit0.gen03.nvmequeues0.requesthead1.requesterid[2] top.test.nvmestorageunit0.gen03.nvmequeues0.requesthead1.requesterid[1] top.test.nvmestorageunit0.gen03.nvmequeues0.requesthead1.requesterid[0]
+@420
+top.test.nvmestorageunit0.gen03.nvmequeues0.ramaddress
+@22
+#{top.test.nvmestorageunit0.gen03.nvmequeues0.ram[0][127:0]} top.test.nvmestorageunit0.gen03.nvmequeues0.ram[0][127] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[0][126] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[0][125] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[0][124] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[0][123] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[0][122] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[0][121] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[0][120] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[0][119] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[0][118] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[0][117] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[0][116] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[0][115] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[0][114] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[0][113] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[0][112] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[0][111] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[0][110] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[0][109] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[0][108] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[0][107] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[0][106] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[0][105] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[0][104] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[0][103] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[0][102] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[0][101] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[0][100] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[0][99] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[0][98] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[0][97] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[0][96] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[0][95] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[0][94] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[0][93] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[0][92] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[0][91] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[0][90] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[0][89] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[0][88] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[0][87] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[0][86] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[0][85] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[0][84] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[0][83] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[0][82] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[0][81] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[0][80] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[0][79] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[0][78] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[0][77] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[0][76] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[0][75] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[0][74] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[0][73] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[0][72] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[0][71] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[0][70] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[0][69] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[0][68] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[0][67] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[0][66] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[0][65] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[0][64] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[0][63] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[0][62] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[0][61] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[0][60] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[0][59] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[0][58] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[0][57] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[0][56] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[0][55] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[0][54] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[0][53] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[0][52] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[0][51] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[0][50] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[0][49] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[0][48] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[0][47] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[0][46] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[0][45] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[0][44] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[0][43] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[0][42] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[0][41] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[0][40] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[0][39] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[0][38] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[0][37] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[0][36] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[0][35] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[0][34] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[0][33] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[0][32] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[0][31] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[0][30] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[0][29] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[0][28] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[0][27] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[0][26] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[0][25] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[0][24] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[0][23] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[0][22] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[0][21] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[0][20] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[0][19] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[0][18] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[0][17] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[0][16] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[0][15] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[0][14] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[0][13] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[0][12] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[0][11] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[0][10] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[0][9] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[0][8] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[0][7] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[0][6] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[0][5] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[0][4] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[0][3] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[0][2] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[0][1] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[0][0]
+#{top.test.nvmestorageunit0.gen03.nvmequeues0.ram[1][127:0]} top.test.nvmestorageunit0.gen03.nvmequeues0.ram[1][127] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[1][126] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[1][125] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[1][124] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[1][123] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[1][122] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[1][121] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[1][120] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[1][119] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[1][118] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[1][117] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[1][116] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[1][115] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[1][114] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[1][113] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[1][112] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[1][111] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[1][110] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[1][109] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[1][108] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[1][107] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[1][106] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[1][105] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[1][104] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[1][103] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[1][102] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[1][101] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[1][100] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[1][99] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[1][98] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[1][97] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[1][96] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[1][95] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[1][94] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[1][93] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[1][92] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[1][91] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[1][90] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[1][89] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[1][88] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[1][87] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[1][86] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[1][85] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[1][84] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[1][83] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[1][82] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[1][81] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[1][80] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[1][79] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[1][78] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[1][77] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[1][76] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[1][75] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[1][74] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[1][73] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[1][72] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[1][71] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[1][70] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[1][69] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[1][68] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[1][67] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[1][66] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[1][65] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[1][64] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[1][63] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[1][62] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[1][61] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[1][60] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[1][59] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[1][58] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[1][57] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[1][56] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[1][55] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[1][54] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[1][53] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[1][52] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[1][51] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[1][50] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[1][49] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[1][48] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[1][47] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[1][46] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[1][45] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[1][44] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[1][43] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[1][42] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[1][41] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[1][40] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[1][39] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[1][38] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[1][37] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[1][36] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[1][35] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[1][34] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[1][33] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[1][32] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[1][31] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[1][30] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[1][29] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[1][28] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[1][27] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[1][26] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[1][25] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[1][24] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[1][23] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[1][22] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[1][21] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[1][20] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[1][19] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[1][18] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[1][17] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[1][16] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[1][15] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[1][14] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[1][13] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[1][12] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[1][11] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[1][10] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[1][9] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[1][8] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[1][7] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[1][6] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[1][5] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[1][4] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[1][3] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[1][2] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[1][1] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[1][0]
+#{top.test.nvmestorageunit0.gen03.nvmequeues0.ram[36][127:0]} top.test.nvmestorageunit0.gen03.nvmequeues0.ram[36][127] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[36][126] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[36][125] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[36][124] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[36][123] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[36][122] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[36][121] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[36][120] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[36][119] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[36][118] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[36][117] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[36][116] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[36][115] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[36][114] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[36][113] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[36][112] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[36][111] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[36][110] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[36][109] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[36][108] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[36][107] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[36][106] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[36][105] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[36][104] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[36][103] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[36][102] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[36][101] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[36][100] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[36][99] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[36][98] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[36][97] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[36][96] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[36][95] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[36][94] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[36][93] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[36][92] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[36][91] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[36][90] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[36][89] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[36][88] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[36][87] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[36][86] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[36][85] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[36][84] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[36][83] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[36][82] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[36][81] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[36][80] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[36][79] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[36][78] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[36][77] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[36][76] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[36][75] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[36][74] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[36][73] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[36][72] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[36][71] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[36][70] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[36][69] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[36][68] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[36][67] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[36][66] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[36][65] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[36][64] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[36][63] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[36][62] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[36][61] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[36][60] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[36][59] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[36][58] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[36][57] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[36][56] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[36][55] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[36][54] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[36][53] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[36][52] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[36][51] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[36][50] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[36][49] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[36][48] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[36][47] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[36][46] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[36][45] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[36][44] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[36][43] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[36][42] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[36][41] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[36][40] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[36][39] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[36][38] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[36][37] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[36][36] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[36][35] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[36][34] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[36][33] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[36][32] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[36][31] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[36][30] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[36][29] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[36][28] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[36][27] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[36][26] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[36][25] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[36][24] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[36][23] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[36][22] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[36][21] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[36][20] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[36][19] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[36][18] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[36][17] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[36][16] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[36][15] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[36][14] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[36][13] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[36][12] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[36][11] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[36][10] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[36][9] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[36][8] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[36][7] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[36][6] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[36][5] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[36][4] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[36][3] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[36][2] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[36][1] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[36][0]
+#{top.test.nvmestorageunit0.gen03.nvmequeues0.ram[37][127:0]} top.test.nvmestorageunit0.gen03.nvmequeues0.ram[37][127] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[37][126] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[37][125] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[37][124] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[37][123] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[37][122] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[37][121] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[37][120] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[37][119] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[37][118] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[37][117] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[37][116] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[37][115] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[37][114] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[37][113] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[37][112] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[37][111] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[37][110] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[37][109] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[37][108] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[37][107] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[37][106] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[37][105] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[37][104] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[37][103] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[37][102] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[37][101] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[37][100] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[37][99] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[37][98] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[37][97] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[37][96] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[37][95] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[37][94] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[37][93] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[37][92] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[37][91] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[37][90] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[37][89] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[37][88] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[37][87] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[37][86] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[37][85] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[37][84] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[37][83] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[37][82] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[37][81] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[37][80] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[37][79] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[37][78] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[37][77] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[37][76] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[37][75] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[37][74] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[37][73] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[37][72] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[37][71] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[37][70] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[37][69] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[37][68] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[37][67] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[37][66] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[37][65] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[37][64] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[37][63] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[37][62] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[37][61] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[37][60] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[37][59] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[37][58] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[37][57] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[37][56] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[37][55] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[37][54] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[37][53] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[37][52] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[37][51] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[37][50] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[37][49] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[37][48] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[37][47] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[37][46] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[37][45] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[37][44] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[37][43] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[37][42] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[37][41] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[37][40] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[37][39] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[37][38] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[37][37] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[37][36] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[37][35] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[37][34] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[37][33] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[37][32] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[37][31] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[37][30] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[37][29] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[37][28] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[37][27] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[37][26] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[37][25] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[37][24] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[37][23] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[37][22] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[37][21] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[37][20] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[37][19] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[37][18] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[37][17] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[37][16] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[37][15] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[37][14] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[37][13] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[37][12] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[37][11] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[37][10] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[37][9] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[37][8] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[37][7] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[37][6] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[37][5] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[37][4] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[37][3] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[37][2] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[37][1] top.test.nvmestorageunit0.gen03.nvmequeues0.ram[37][0]
+@1000200
+-QueueRam
+@800200
+-NvmeWrite
+@28
+top.test.nvmestorageunit0.gen03.nvmewrite0.enable
+@22
+#{top.test.nvmestorageunit0.gen03.nvmewrite0.status[31:0]} top.test.nvmestorageunit0.gen03.nvmewrite0.status[31] top.test.nvmestorageunit0.gen03.nvmewrite0.status[30] top.test.nvmestorageunit0.gen03.nvmewrite0.status[29] top.test.nvmestorageunit0.gen03.nvmewrite0.status[28] top.test.nvmestorageunit0.gen03.nvmewrite0.status[27] top.test.nvmestorageunit0.gen03.nvmewrite0.status[26] top.test.nvmestorageunit0.gen03.nvmewrite0.status[25] top.test.nvmestorageunit0.gen03.nvmewrite0.status[24] top.test.nvmestorageunit0.gen03.nvmewrite0.status[23] top.test.nvmestorageunit0.gen03.nvmewrite0.status[22] top.test.nvmestorageunit0.gen03.nvmewrite0.status[21] top.test.nvmestorageunit0.gen03.nvmewrite0.status[20] top.test.nvmestorageunit0.gen03.nvmewrite0.status[19] top.test.nvmestorageunit0.gen03.nvmewrite0.status[18] top.test.nvmestorageunit0.gen03.nvmewrite0.status[17] top.test.nvmestorageunit0.gen03.nvmewrite0.status[16] top.test.nvmestorageunit0.gen03.nvmewrite0.status[15] top.test.nvmestorageunit0.gen03.nvmewrite0.status[14] top.test.nvmestorageunit0.gen03.nvmewrite0.status[13] top.test.nvmestorageunit0.gen03.nvmewrite0.status[12] top.test.nvmestorageunit0.gen03.nvmewrite0.status[11] top.test.nvmestorageunit0.gen03.nvmewrite0.status[10] top.test.nvmestorageunit0.gen03.nvmewrite0.status[9] top.test.nvmestorageunit0.gen03.nvmewrite0.status[8] top.test.nvmestorageunit0.gen03.nvmewrite0.status[7] top.test.nvmestorageunit0.gen03.nvmewrite0.status[6] top.test.nvmestorageunit0.gen03.nvmewrite0.status[5] top.test.nvmestorageunit0.gen03.nvmewrite0.status[4] top.test.nvmestorageunit0.gen03.nvmewrite0.status[3] top.test.nvmestorageunit0.gen03.nvmewrite0.status[2] top.test.nvmestorageunit0.gen03.nvmewrite0.status[1] top.test.nvmestorageunit0.gen03.nvmewrite0.status[0]
+#{top.test.nvmestorageunit0.gen03.nvmewrite0.numblocks[31:0]} top.test.nvmestorageunit0.gen03.nvmewrite0.numblocks[31] top.test.nvmestorageunit0.gen03.nvmewrite0.numblocks[30] top.test.nvmestorageunit0.gen03.nvmewrite0.numblocks[29] top.test.nvmestorageunit0.gen03.nvmewrite0.numblocks[28] top.test.nvmestorageunit0.gen03.nvmewrite0.numblocks[27] top.test.nvmestorageunit0.gen03.nvmewrite0.numblocks[26] top.test.nvmestorageunit0.gen03.nvmewrite0.numblocks[25] top.test.nvmestorageunit0.gen03.nvmewrite0.numblocks[24] top.test.nvmestorageunit0.gen03.nvmewrite0.numblocks[23] top.test.nvmestorageunit0.gen03.nvmewrite0.numblocks[22] top.test.nvmestorageunit0.gen03.nvmewrite0.numblocks[21] top.test.nvmestorageunit0.gen03.nvmewrite0.numblocks[20] top.test.nvmestorageunit0.gen03.nvmewrite0.numblocks[19] top.test.nvmestorageunit0.gen03.nvmewrite0.numblocks[18] top.test.nvmestorageunit0.gen03.nvmewrite0.numblocks[17] top.test.nvmestorageunit0.gen03.nvmewrite0.numblocks[16] top.test.nvmestorageunit0.gen03.nvmewrite0.numblocks[15] top.test.nvmestorageunit0.gen03.nvmewrite0.numblocks[14] top.test.nvmestorageunit0.gen03.nvmewrite0.numblocks[13] top.test.nvmestorageunit0.gen03.nvmewrite0.numblocks[12] top.test.nvmestorageunit0.gen03.nvmewrite0.numblocks[11] top.test.nvmestorageunit0.gen03.nvmewrite0.numblocks[10] top.test.nvmestorageunit0.gen03.nvmewrite0.numblocks[9] top.test.nvmestorageunit0.gen03.nvmewrite0.numblocks[8] top.test.nvmestorageunit0.gen03.nvmewrite0.numblocks[7] top.test.nvmestorageunit0.gen03.nvmewrite0.numblocks[6] top.test.nvmestorageunit0.gen03.nvmewrite0.numblocks[5] top.test.nvmestorageunit0.gen03.nvmewrite0.numblocks[4] top.test.nvmestorageunit0.gen03.nvmewrite0.numblocks[3] top.test.nvmestorageunit0.gen03.nvmewrite0.numblocks[2] top.test.nvmestorageunit0.gen03.nvmewrite0.numblocks[1] top.test.nvmestorageunit0.gen03.nvmewrite0.numblocks[0]
+#{top.test.nvmestorageunit0.gen03.nvmewrite0.blocknumber[63:0]} top.test.nvmestorageunit0.gen03.nvmewrite0.blocknumber[63] top.test.nvmestorageunit0.gen03.nvmewrite0.blocknumber[62] top.test.nvmestorageunit0.gen03.nvmewrite0.blocknumber[61] top.test.nvmestorageunit0.gen03.nvmewrite0.blocknumber[60] top.test.nvmestorageunit0.gen03.nvmewrite0.blocknumber[59] top.test.nvmestorageunit0.gen03.nvmewrite0.blocknumber[58] top.test.nvmestorageunit0.gen03.nvmewrite0.blocknumber[57] top.test.nvmestorageunit0.gen03.nvmewrite0.blocknumber[56] top.test.nvmestorageunit0.gen03.nvmewrite0.blocknumber[55] top.test.nvmestorageunit0.gen03.nvmewrite0.blocknumber[54] top.test.nvmestorageunit0.gen03.nvmewrite0.blocknumber[53] top.test.nvmestorageunit0.gen03.nvmewrite0.blocknumber[52] top.test.nvmestorageunit0.gen03.nvmewrite0.blocknumber[51] top.test.nvmestorageunit0.gen03.nvmewrite0.blocknumber[50] top.test.nvmestorageunit0.gen03.nvmewrite0.blocknumber[49] top.test.nvmestorageunit0.gen03.nvmewrite0.blocknumber[48] top.test.nvmestorageunit0.gen03.nvmewrite0.blocknumber[47] top.test.nvmestorageunit0.gen03.nvmewrite0.blocknumber[46] top.test.nvmestorageunit0.gen03.nvmewrite0.blocknumber[45] top.test.nvmestorageunit0.gen03.nvmewrite0.blocknumber[44] top.test.nvmestorageunit0.gen03.nvmewrite0.blocknumber[43] top.test.nvmestorageunit0.gen03.nvmewrite0.blocknumber[42] top.test.nvmestorageunit0.gen03.nvmewrite0.blocknumber[41] top.test.nvmestorageunit0.gen03.nvmewrite0.blocknumber[40] top.test.nvmestorageunit0.gen03.nvmewrite0.blocknumber[39] top.test.nvmestorageunit0.gen03.nvmewrite0.blocknumber[38] top.test.nvmestorageunit0.gen03.nvmewrite0.blocknumber[37] top.test.nvmestorageunit0.gen03.nvmewrite0.blocknumber[36] top.test.nvmestorageunit0.gen03.nvmewrite0.blocknumber[35] top.test.nvmestorageunit0.gen03.nvmewrite0.blocknumber[34] top.test.nvmestorageunit0.gen03.nvmewrite0.blocknumber[33] top.test.nvmestorageunit0.gen03.nvmewrite0.blocknumber[32] top.test.nvmestorageunit0.gen03.nvmewrite0.blocknumber[31] top.test.nvmestorageunit0.gen03.nvmewrite0.blocknumber[30] top.test.nvmestorageunit0.gen03.nvmewrite0.blocknumber[29] top.test.nvmestorageunit0.gen03.nvmewrite0.blocknumber[28] top.test.nvmestorageunit0.gen03.nvmewrite0.blocknumber[27] top.test.nvmestorageunit0.gen03.nvmewrite0.blocknumber[26] top.test.nvmestorageunit0.gen03.nvmewrite0.blocknumber[25] top.test.nvmestorageunit0.gen03.nvmewrite0.blocknumber[24] top.test.nvmestorageunit0.gen03.nvmewrite0.blocknumber[23] top.test.nvmestorageunit0.gen03.nvmewrite0.blocknumber[22] top.test.nvmestorageunit0.gen03.nvmewrite0.blocknumber[21] top.test.nvmestorageunit0.gen03.nvmewrite0.blocknumber[20] top.test.nvmestorageunit0.gen03.nvmewrite0.blocknumber[19] top.test.nvmestorageunit0.gen03.nvmewrite0.blocknumber[18] top.test.nvmestorageunit0.gen03.nvmewrite0.blocknumber[17] top.test.nvmestorageunit0.gen03.nvmewrite0.blocknumber[16] top.test.nvmestorageunit0.gen03.nvmewrite0.blocknumber[15] top.test.nvmestorageunit0.gen03.nvmewrite0.blocknumber[14] top.test.nvmestorageunit0.gen03.nvmewrite0.blocknumber[13] top.test.nvmestorageunit0.gen03.nvmewrite0.blocknumber[12] top.test.nvmestorageunit0.gen03.nvmewrite0.blocknumber[11] top.test.nvmestorageunit0.gen03.nvmewrite0.blocknumber[10] top.test.nvmestorageunit0.gen03.nvmewrite0.blocknumber[9] top.test.nvmestorageunit0.gen03.nvmewrite0.blocknumber[8] top.test.nvmestorageunit0.gen03.nvmewrite0.blocknumber[7] top.test.nvmestorageunit0.gen03.nvmewrite0.blocknumber[6] top.test.nvmestorageunit0.gen03.nvmewrite0.blocknumber[5] top.test.nvmestorageunit0.gen03.nvmewrite0.blocknumber[4] top.test.nvmestorageunit0.gen03.nvmewrite0.blocknumber[3] top.test.nvmestorageunit0.gen03.nvmewrite0.blocknumber[2] top.test.nvmestorageunit0.gen03.nvmewrite0.blocknumber[1] top.test.nvmestorageunit0.gen03.nvmewrite0.blocknumber[0]
+#{top.test.nvmestorageunit0.gen03.nvmewrite0.timeus[31:0]} top.test.nvmestorageunit0.gen03.nvmewrite0.timeus[31] top.test.nvmestorageunit0.gen03.nvmewrite0.timeus[30] top.test.nvmestorageunit0.gen03.nvmewrite0.timeus[29] top.test.nvmestorageunit0.gen03.nvmewrite0.timeus[28] top.test.nvmestorageunit0.gen03.nvmewrite0.timeus[27] top.test.nvmestorageunit0.gen03.nvmewrite0.timeus[26] top.test.nvmestorageunit0.gen03.nvmewrite0.timeus[25] top.test.nvmestorageunit0.gen03.nvmewrite0.timeus[24] top.test.nvmestorageunit0.gen03.nvmewrite0.timeus[23] top.test.nvmestorageunit0.gen03.nvmewrite0.timeus[22] top.test.nvmestorageunit0.gen03.nvmewrite0.timeus[21] top.test.nvmestorageunit0.gen03.nvmewrite0.timeus[20] top.test.nvmestorageunit0.gen03.nvmewrite0.timeus[19] top.test.nvmestorageunit0.gen03.nvmewrite0.timeus[18] top.test.nvmestorageunit0.gen03.nvmewrite0.timeus[17] top.test.nvmestorageunit0.gen03.nvmewrite0.timeus[16] top.test.nvmestorageunit0.gen03.nvmewrite0.timeus[15] top.test.nvmestorageunit0.gen03.nvmewrite0.timeus[14] top.test.nvmestorageunit0.gen03.nvmewrite0.timeus[13] top.test.nvmestorageunit0.gen03.nvmewrite0.timeus[12] top.test.nvmestorageunit0.gen03.nvmewrite0.timeus[11] top.test.nvmestorageunit0.gen03.nvmewrite0.timeus[10] top.test.nvmestorageunit0.gen03.nvmewrite0.timeus[9] top.test.nvmestorageunit0.gen03.nvmewrite0.timeus[8] top.test.nvmestorageunit0.gen03.nvmewrite0.timeus[7] top.test.nvmestorageunit0.gen03.nvmewrite0.timeus[6] top.test.nvmestorageunit0.gen03.nvmewrite0.timeus[5] top.test.nvmestorageunit0.gen03.nvmewrite0.timeus[4] top.test.nvmestorageunit0.gen03.nvmewrite0.timeus[3] top.test.nvmestorageunit0.gen03.nvmewrite0.timeus[2] top.test.nvmestorageunit0.gen03.nvmewrite0.timeus[1] top.test.nvmestorageunit0.gen03.nvmewrite0.timeus[0]
+@800200
+-InputBuffers
+@28
+top.test.nvmestorageunit0.gen03.nvmewrite0.datain.ready
+top.test.nvmestorageunit0.gen03.nvmewrite0.datain.valid
+top.test.nvmestorageunit0.gen03.nvmewrite0.datain.last
+@22
+#{top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[127:0]} top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[127] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[126] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[125] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[124] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[123] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[122] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[121] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[120] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[119] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[118] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[117] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[116] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[115] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[114] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[113] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[112] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[111] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[110] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[109] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[108] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[107] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[106] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[105] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[104] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[103] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[102] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[101] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[100] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[99] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[98] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[97] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[96] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[95] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[94] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[93] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[92] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[91] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[90] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[89] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[88] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[87] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[86] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[85] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[84] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[83] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[82] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[81] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[80] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[79] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[78] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[77] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[76] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[75] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[74] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[73] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[72] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[71] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[70] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[69] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[68] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[67] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[66] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[65] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[64] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[63] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[62] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[61] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[60] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[59] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[58] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[57] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[56] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[55] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[54] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[53] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[52] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[51] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[50] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[49] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[48] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[47] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[46] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[45] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[44] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[43] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[42] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[41] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[40] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[39] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[38] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[37] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[36] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[35] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[34] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[33] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[32] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[31] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[30] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[29] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[28] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[27] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[26] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[25] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[24] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[23] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[22] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[21] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[20] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[19] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[18] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[17] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[16] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[15] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[14] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[13] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[12] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[11] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[10] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[9] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[8] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[7] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[6] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[5] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[4] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[3] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[2] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[1] top.test.nvmestorageunit0.gen03.nvmewrite0.datain.data[0]
+@28
+top.test.nvmestorageunit0.gen03.nvmewrite0.enable
+@420
+top.test.nvmestorageunit0.gen03.nvmewrite0.instate
+top.test.nvmestorageunit0.gen03.nvmewrite0.state
+top.test.nvmestorageunit0.gen03.nvmewrite0.num
+top.test.nvmestorageunit0.gen03.nvmewrite0.numreply
+top.test.nvmestorageunit0.gen03.nvmewrite0.bufferinnum
+top.test.nvmestorageunit0.gen03.nvmewrite0.bufferinnumnext
+top.test.nvmestorageunit0.gen03.nvmewrite0.bufferoutnum
+@22
+#{top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.writeaddress[7:0]} top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.writeaddress[7] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.writeaddress[6] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.writeaddress[5] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.writeaddress[4] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.writeaddress[3] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.writeaddress[2] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.writeaddress[1] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.writeaddress[0]
+#{top.test.nvmestorageunit0.gen03.nvmewrite0.writeaddress[10:0]} top.test.nvmestorageunit0.gen03.nvmewrite0.writeaddress[10] top.test.nvmestorageunit0.gen03.nvmewrite0.writeaddress[9] top.test.nvmestorageunit0.gen03.nvmewrite0.writeaddress[8] top.test.nvmestorageunit0.gen03.nvmewrite0.writeaddress[7] top.test.nvmestorageunit0.gen03.nvmewrite0.writeaddress[6] top.test.nvmestorageunit0.gen03.nvmewrite0.writeaddress[5] top.test.nvmestorageunit0.gen03.nvmewrite0.writeaddress[4] top.test.nvmestorageunit0.gen03.nvmewrite0.writeaddress[3] top.test.nvmestorageunit0.gen03.nvmewrite0.writeaddress[2] top.test.nvmestorageunit0.gen03.nvmewrite0.writeaddress[1] top.test.nvmestorageunit0.gen03.nvmewrite0.writeaddress[0]
+#{top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[0][127:0]} top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[0][127] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[0][126] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[0][125] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[0][124] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[0][123] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[0][122] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[0][121] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[0][120] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[0][119] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[0][118] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[0][117] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[0][116] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[0][115] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[0][114] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[0][113] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[0][112] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[0][111] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[0][110] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[0][109] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[0][108] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[0][107] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[0][106] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[0][105] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[0][104] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[0][103] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[0][102] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[0][101] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[0][100] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[0][99] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[0][98] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[0][97] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[0][96] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[0][95] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[0][94] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[0][93] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[0][92] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[0][91] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[0][90] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[0][89] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[0][88] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[0][87] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[0][86] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[0][85] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[0][84] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[0][83] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[0][82] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[0][81] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[0][80] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[0][79] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[0][78] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[0][77] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[0][76] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[0][75] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[0][74] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[0][73] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[0][72] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[0][71] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[0][70] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[0][69] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[0][68] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[0][67] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[0][66] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[0][65] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[0][64] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[0][63] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[0][62] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[0][61] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[0][60] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[0][59] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[0][58] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[0][57] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[0][56] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[0][55] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[0][54] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[0][53] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[0][52] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[0][51] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[0][50] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[0][49] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[0][48] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[0][47] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[0][46] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[0][45] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[0][44] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[0][43] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[0][42] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[0][41] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[0][40] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[0][39] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[0][38] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[0][37] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[0][36] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[0][35] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[0][34] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[0][33] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[0][32] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[0][31] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[0][30] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[0][29] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[0][28] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[0][27] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[0][26] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[0][25] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[0][24] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[0][23] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[0][22] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[0][21] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[0][20] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[0][19] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[0][18] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[0][17] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[0][16] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[0][15] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[0][14] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[0][13] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[0][12] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[0][11] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[0][10] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[0][9] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[0][8] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[0][7] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[0][6] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[0][5] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[0][4] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[0][3] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[0][2] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[0][1] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[0][0]
+#{top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[1][127:0]} top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[1][127] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[1][126] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[1][125] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[1][124] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[1][123] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[1][122] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[1][121] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[1][120] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[1][119] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[1][118] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[1][117] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[1][116] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[1][115] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[1][114] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[1][113] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[1][112] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[1][111] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[1][110] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[1][109] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[1][108] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[1][107] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[1][106] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[1][105] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[1][104] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[1][103] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[1][102] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[1][101] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[1][100] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[1][99] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[1][98] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[1][97] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[1][96] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[1][95] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[1][94] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[1][93] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[1][92] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[1][91] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[1][90] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[1][89] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[1][88] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[1][87] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[1][86] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[1][85] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[1][84] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[1][83] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[1][82] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[1][81] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[1][80] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[1][79] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[1][78] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[1][77] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[1][76] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[1][75] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[1][74] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[1][73] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[1][72] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[1][71] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[1][70] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[1][69] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[1][68] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[1][67] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[1][66] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[1][65] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[1][64] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[1][63] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[1][62] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[1][61] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[1][60] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[1][59] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[1][58] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[1][57] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[1][56] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[1][55] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[1][54] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[1][53] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[1][52] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[1][51] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[1][50] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[1][49] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[1][48] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[1][47] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[1][46] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[1][45] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[1][44] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[1][43] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[1][42] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[1][41] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[1][40] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[1][39] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[1][38] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[1][37] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[1][36] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[1][35] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[1][34] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[1][33] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[1][32] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[1][31] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[1][30] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[1][29] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[1][28] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[1][27] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[1][26] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[1][25] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[1][24] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[1][23] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[1][22] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[1][21] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[1][20] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[1][19] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[1][18] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[1][17] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[1][16] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[1][15] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[1][14] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[1][13] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[1][12] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[1][11] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[1][10] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[1][9] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[1][8] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[1][7] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[1][6] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[1][5] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[1][4] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[1][3] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[1][2] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[1][1] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[1][0]
+#{top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[2][127:0]} top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[2][127] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[2][126] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[2][125] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[2][124] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[2][123] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[2][122] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[2][121] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[2][120] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[2][119] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[2][118] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[2][117] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[2][116] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[2][115] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[2][114] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[2][113] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[2][112] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[2][111] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[2][110] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[2][109] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[2][108] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[2][107] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[2][106] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[2][105] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[2][104] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[2][103] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[2][102] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[2][101] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[2][100] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[2][99] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[2][98] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[2][97] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[2][96] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[2][95] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[2][94] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[2][93] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[2][92] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[2][91] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[2][90] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[2][89] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[2][88] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[2][87] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[2][86] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[2][85] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[2][84] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[2][83] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[2][82] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[2][81] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[2][80] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[2][79] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[2][78] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[2][77] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[2][76] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[2][75] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[2][74] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[2][73] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[2][72] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[2][71] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[2][70] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[2][69] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[2][68] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[2][67] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[2][66] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[2][65] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[2][64] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[2][63] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[2][62] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[2][61] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[2][60] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[2][59] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[2][58] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[2][57] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[2][56] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[2][55] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[2][54] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[2][53] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[2][52] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[2][51] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[2][50] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[2][49] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[2][48] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[2][47] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[2][46] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[2][45] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[2][44] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[2][43] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[2][42] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[2][41] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[2][40] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[2][39] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[2][38] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[2][37] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[2][36] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[2][35] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[2][34] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[2][33] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[2][32] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[2][31] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[2][30] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[2][29] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[2][28] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[2][27] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[2][26] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[2][25] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[2][24] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[2][23] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[2][22] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[2][21] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[2][20] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[2][19] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[2][18] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[2][17] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[2][16] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[2][15] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[2][14] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[2][13] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[2][12] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[2][11] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[2][10] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[2][9] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[2][8] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[2][7] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[2][6] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[2][5] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[2][4] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[2][3] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[2][2] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[2][1] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[2][0]
+#{top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[4][127:0]} top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[4][127] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[4][126] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[4][125] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[4][124] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[4][123] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[4][122] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[4][121] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[4][120] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[4][119] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[4][118] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[4][117] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[4][116] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[4][115] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[4][114] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[4][113] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[4][112] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[4][111] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[4][110] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[4][109] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[4][108] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[4][107] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[4][106] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[4][105] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[4][104] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[4][103] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[4][102] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[4][101] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[4][100] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[4][99] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[4][98] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[4][97] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[4][96] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[4][95] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[4][94] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[4][93] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[4][92] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[4][91] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[4][90] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[4][89] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[4][88] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[4][87] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[4][86] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[4][85] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[4][84] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[4][83] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[4][82] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[4][81] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[4][80] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[4][79] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[4][78] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[4][77] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[4][76] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[4][75] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[4][74] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[4][73] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[4][72] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[4][71] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[4][70] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[4][69] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[4][68] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[4][67] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[4][66] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[4][65] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[4][64] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[4][63] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[4][62] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[4][61] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[4][60] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[4][59] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[4][58] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[4][57] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[4][56] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[4][55] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[4][54] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[4][53] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[4][52] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[4][51] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[4][50] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[4][49] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[4][48] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[4][47] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[4][46] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[4][45] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[4][44] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[4][43] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[4][42] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[4][41] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[4][40] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[4][39] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[4][38] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[4][37] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[4][36] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[4][35] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[4][34] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[4][33] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[4][32] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[4][31] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[4][30] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[4][29] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[4][28] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[4][27] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[4][26] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[4][25] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[4][24] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[4][23] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[4][22] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[4][21] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[4][20] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[4][19] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[4][18] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[4][17] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[4][16] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[4][15] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[4][14] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[4][13] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[4][12] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[4][11] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[4][10] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[4][9] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[4][8] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[4][7] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[4][6] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[4][5] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[4][4] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[4][3] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[4][2] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[4][1] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.ram[4][0]
+@28
+top.test.nvmestorageunit0.gen03.nvmewrite0.buffers[0].full
+top.test.nvmestorageunit0.gen03.nvmewrite0.buffers[0].inuse1
+top.test.nvmestorageunit0.gen03.nvmewrite0.buffers[0].inuse2
+@22
+#{top.test.nvmestorageunit0.gen03.nvmewrite0.buffers[0].blocknumber[63:0]} top.test.nvmestorageunit0.gen03.nvmewrite0.buffers[0].blocknumber[63] top.test.nvmestorageunit0.gen03.nvmewrite0.buffers[0].blocknumber[62] top.test.nvmestorageunit0.gen03.nvmewrite0.buffers[0].blocknumber[61] top.test.nvmestorageunit0.gen03.nvmewrite0.buffers[0].blocknumber[60] top.test.nvmestorageunit0.gen03.nvmewrite0.buffers[0].blocknumber[59] top.test.nvmestorageunit0.gen03.nvmewrite0.buffers[0].blocknumber[58] top.test.nvmestorageunit0.gen03.nvmewrite0.buffers[0].blocknumber[57] top.test.nvmestorageunit0.gen03.nvmewrite0.buffers[0].blocknumber[56] top.test.nvmestorageunit0.gen03.nvmewrite0.buffers[0].blocknumber[55] top.test.nvmestorageunit0.gen03.nvmewrite0.buffers[0].blocknumber[54] top.test.nvmestorageunit0.gen03.nvmewrite0.buffers[0].blocknumber[53] top.test.nvmestorageunit0.gen03.nvmewrite0.buffers[0].blocknumber[52] top.test.nvmestorageunit0.gen03.nvmewrite0.buffers[0].blocknumber[51] top.test.nvmestorageunit0.gen03.nvmewrite0.buffers[0].blocknumber[50] top.test.nvmestorageunit0.gen03.nvmewrite0.buffers[0].blocknumber[49] top.test.nvmestorageunit0.gen03.nvmewrite0.buffers[0].blocknumber[48] top.test.nvmestorageunit0.gen03.nvmewrite0.buffers[0].blocknumber[47] top.test.nvmestorageunit0.gen03.nvmewrite0.buffers[0].blocknumber[46] top.test.nvmestorageunit0.gen03.nvmewrite0.buffers[0].blocknumber[45] top.test.nvmestorageunit0.gen03.nvmewrite0.buffers[0].blocknumber[44] top.test.nvmestorageunit0.gen03.nvmewrite0.buffers[0].blocknumber[43] top.test.nvmestorageunit0.gen03.nvmewrite0.buffers[0].blocknumber[42] top.test.nvmestorageunit0.gen03.nvmewrite0.buffers[0].blocknumber[41] top.test.nvmestorageunit0.gen03.nvmewrite0.buffers[0].blocknumber[40] top.test.nvmestorageunit0.gen03.nvmewrite0.buffers[0].blocknumber[39] top.test.nvmestorageunit0.gen03.nvmewrite0.buffers[0].blocknumber[38] top.test.nvmestorageunit0.gen03.nvmewrite0.buffers[0].blocknumber[37] top.test.nvmestorageunit0.gen03.nvmewrite0.buffers[0].blocknumber[36] top.test.nvmestorageunit0.gen03.nvmewrite0.buffers[0].blocknumber[35] top.test.nvmestorageunit0.gen03.nvmewrite0.buffers[0].blocknumber[34] top.test.nvmestorageunit0.gen03.nvmewrite0.buffers[0].blocknumber[33] top.test.nvmestorageunit0.gen03.nvmewrite0.buffers[0].blocknumber[32] top.test.nvmestorageunit0.gen03.nvmewrite0.buffers[0].blocknumber[31] top.test.nvmestorageunit0.gen03.nvmewrite0.buffers[0].blocknumber[30] top.test.nvmestorageunit0.gen03.nvmewrite0.buffers[0].blocknumber[29] top.test.nvmestorageunit0.gen03.nvmewrite0.buffers[0].blocknumber[28] top.test.nvmestorageunit0.gen03.nvmewrite0.buffers[0].blocknumber[27] top.test.nvmestorageunit0.gen03.nvmewrite0.buffers[0].blocknumber[26] top.test.nvmestorageunit0.gen03.nvmewrite0.buffers[0].blocknumber[25] top.test.nvmestorageunit0.gen03.nvmewrite0.buffers[0].blocknumber[24] top.test.nvmestorageunit0.gen03.nvmewrite0.buffers[0].blocknumber[23] top.test.nvmestorageunit0.gen03.nvmewrite0.buffers[0].blocknumber[22] top.test.nvmestorageunit0.gen03.nvmewrite0.buffers[0].blocknumber[21] top.test.nvmestorageunit0.gen03.nvmewrite0.buffers[0].blocknumber[20] top.test.nvmestorageunit0.gen03.nvmewrite0.buffers[0].blocknumber[19] top.test.nvmestorageunit0.gen03.nvmewrite0.buffers[0].blocknumber[18] top.test.nvmestorageunit0.gen03.nvmewrite0.buffers[0].blocknumber[17] top.test.nvmestorageunit0.gen03.nvmewrite0.buffers[0].blocknumber[16] top.test.nvmestorageunit0.gen03.nvmewrite0.buffers[0].blocknumber[15] top.test.nvmestorageunit0.gen03.nvmewrite0.buffers[0].blocknumber[14] top.test.nvmestorageunit0.gen03.nvmewrite0.buffers[0].blocknumber[13] top.test.nvmestorageunit0.gen03.nvmewrite0.buffers[0].blocknumber[12] top.test.nvmestorageunit0.gen03.nvmewrite0.buffers[0].blocknumber[11] top.test.nvmestorageunit0.gen03.nvmewrite0.buffers[0].blocknumber[10] top.test.nvmestorageunit0.gen03.nvmewrite0.buffers[0].blocknumber[9] top.test.nvmestorageunit0.gen03.nvmewrite0.buffers[0].blocknumber[8] top.test.nvmestorageunit0.gen03.nvmewrite0.buffers[0].blocknumber[7] top.test.nvmestorageunit0.gen03.nvmewrite0.buffers[0].blocknumber[6] top.test.nvmestorageunit0.gen03.nvmewrite0.buffers[0].blocknumber[5] top.test.nvmestorageunit0.gen03.nvmewrite0.buffers[0].blocknumber[4] top.test.nvmestorageunit0.gen03.nvmewrite0.buffers[0].blocknumber[3] top.test.nvmestorageunit0.gen03.nvmewrite0.buffers[0].blocknumber[2] top.test.nvmestorageunit0.gen03.nvmewrite0.buffers[0].blocknumber[1] top.test.nvmestorageunit0.gen03.nvmewrite0.buffers[0].blocknumber[0]
+#{top.test.nvmestorageunit0.gen03.nvmewrite0.blocknumber[63:0]} top.test.nvmestorageunit0.gen03.nvmewrite0.blocknumber[63] top.test.nvmestorageunit0.gen03.nvmewrite0.blocknumber[62] top.test.nvmestorageunit0.gen03.nvmewrite0.blocknumber[61] top.test.nvmestorageunit0.gen03.nvmewrite0.blocknumber[60] top.test.nvmestorageunit0.gen03.nvmewrite0.blocknumber[59] top.test.nvmestorageunit0.gen03.nvmewrite0.blocknumber[58] top.test.nvmestorageunit0.gen03.nvmewrite0.blocknumber[57] top.test.nvmestorageunit0.gen03.nvmewrite0.blocknumber[56] top.test.nvmestorageunit0.gen03.nvmewrite0.blocknumber[55] top.test.nvmestorageunit0.gen03.nvmewrite0.blocknumber[54] top.test.nvmestorageunit0.gen03.nvmewrite0.blocknumber[53] top.test.nvmestorageunit0.gen03.nvmewrite0.blocknumber[52] top.test.nvmestorageunit0.gen03.nvmewrite0.blocknumber[51] top.test.nvmestorageunit0.gen03.nvmewrite0.blocknumber[50] top.test.nvmestorageunit0.gen03.nvmewrite0.blocknumber[49] top.test.nvmestorageunit0.gen03.nvmewrite0.blocknumber[48] top.test.nvmestorageunit0.gen03.nvmewrite0.blocknumber[47] top.test.nvmestorageunit0.gen03.nvmewrite0.blocknumber[46] top.test.nvmestorageunit0.gen03.nvmewrite0.blocknumber[45] top.test.nvmestorageunit0.gen03.nvmewrite0.blocknumber[44] top.test.nvmestorageunit0.gen03.nvmewrite0.blocknumber[43] top.test.nvmestorageunit0.gen03.nvmewrite0.blocknumber[42] top.test.nvmestorageunit0.gen03.nvmewrite0.blocknumber[41] top.test.nvmestorageunit0.gen03.nvmewrite0.blocknumber[40] top.test.nvmestorageunit0.gen03.nvmewrite0.blocknumber[39] top.test.nvmestorageunit0.gen03.nvmewrite0.blocknumber[38] top.test.nvmestorageunit0.gen03.nvmewrite0.blocknumber[37] top.test.nvmestorageunit0.gen03.nvmewrite0.blocknumber[36] top.test.nvmestorageunit0.gen03.nvmewrite0.blocknumber[35] top.test.nvmestorageunit0.gen03.nvmewrite0.blocknumber[34] top.test.nvmestorageunit0.gen03.nvmewrite0.blocknumber[33] top.test.nvmestorageunit0.gen03.nvmewrite0.blocknumber[32] top.test.nvmestorageunit0.gen03.nvmewrite0.blocknumber[31] top.test.nvmestorageunit0.gen03.nvmewrite0.blocknumber[30] top.test.nvmestorageunit0.gen03.nvmewrite0.blocknumber[29] top.test.nvmestorageunit0.gen03.nvmewrite0.blocknumber[28] top.test.nvmestorageunit0.gen03.nvmewrite0.blocknumber[27] top.test.nvmestorageunit0.gen03.nvmewrite0.blocknumber[26] top.test.nvmestorageunit0.gen03.nvmewrite0.blocknumber[25] top.test.nvmestorageunit0.gen03.nvmewrite0.blocknumber[24] top.test.nvmestorageunit0.gen03.nvmewrite0.blocknumber[23] top.test.nvmestorageunit0.gen03.nvmewrite0.blocknumber[22] top.test.nvmestorageunit0.gen03.nvmewrite0.blocknumber[21] top.test.nvmestorageunit0.gen03.nvmewrite0.blocknumber[20] top.test.nvmestorageunit0.gen03.nvmewrite0.blocknumber[19] top.test.nvmestorageunit0.gen03.nvmewrite0.blocknumber[18] top.test.nvmestorageunit0.gen03.nvmewrite0.blocknumber[17] top.test.nvmestorageunit0.gen03.nvmewrite0.blocknumber[16] top.test.nvmestorageunit0.gen03.nvmewrite0.blocknumber[15] top.test.nvmestorageunit0.gen03.nvmewrite0.blocknumber[14] top.test.nvmestorageunit0.gen03.nvmewrite0.blocknumber[13] top.test.nvmestorageunit0.gen03.nvmewrite0.blocknumber[12] top.test.nvmestorageunit0.gen03.nvmewrite0.blocknumber[11] top.test.nvmestorageunit0.gen03.nvmewrite0.blocknumber[10] top.test.nvmestorageunit0.gen03.nvmewrite0.blocknumber[9] top.test.nvmestorageunit0.gen03.nvmewrite0.blocknumber[8] top.test.nvmestorageunit0.gen03.nvmewrite0.blocknumber[7] top.test.nvmestorageunit0.gen03.nvmewrite0.blocknumber[6] top.test.nvmestorageunit0.gen03.nvmewrite0.blocknumber[5] top.test.nvmestorageunit0.gen03.nvmewrite0.blocknumber[4] top.test.nvmestorageunit0.gen03.nvmewrite0.blocknumber[3] top.test.nvmestorageunit0.gen03.nvmewrite0.blocknumber[2] top.test.nvmestorageunit0.gen03.nvmewrite0.blocknumber[1] top.test.nvmestorageunit0.gen03.nvmewrite0.blocknumber[0]
+@28
+top.test.nvmestorageunit0.gen03.nvmewrite0.buffers[1].full
+top.test.nvmestorageunit0.gen03.nvmewrite0.buffers[1].inuse1
+top.test.nvmestorageunit0.gen03.nvmewrite0.buffers[1].inuse2
+top.test.nvmestorageunit0.gen03.nvmewrite0.buffers[1].process1
+top.test.nvmestorageunit0.gen03.nvmewrite0.buffers[1].process2
+@22
+#{top.test.nvmestorageunit0.gen03.nvmewrite0.buffers[1].blocknumber[63:0]} top.test.nvmestorageunit0.gen03.nvmewrite0.buffers[1].blocknumber[63] top.test.nvmestorageunit0.gen03.nvmewrite0.buffers[1].blocknumber[62] top.test.nvmestorageunit0.gen03.nvmewrite0.buffers[1].blocknumber[61] top.test.nvmestorageunit0.gen03.nvmewrite0.buffers[1].blocknumber[60] top.test.nvmestorageunit0.gen03.nvmewrite0.buffers[1].blocknumber[59] top.test.nvmestorageunit0.gen03.nvmewrite0.buffers[1].blocknumber[58] top.test.nvmestorageunit0.gen03.nvmewrite0.buffers[1].blocknumber[57] top.test.nvmestorageunit0.gen03.nvmewrite0.buffers[1].blocknumber[56] top.test.nvmestorageunit0.gen03.nvmewrite0.buffers[1].blocknumber[55] top.test.nvmestorageunit0.gen03.nvmewrite0.buffers[1].blocknumber[54] top.test.nvmestorageunit0.gen03.nvmewrite0.buffers[1].blocknumber[53] top.test.nvmestorageunit0.gen03.nvmewrite0.buffers[1].blocknumber[52] top.test.nvmestorageunit0.gen03.nvmewrite0.buffers[1].blocknumber[51] top.test.nvmestorageunit0.gen03.nvmewrite0.buffers[1].blocknumber[50] top.test.nvmestorageunit0.gen03.nvmewrite0.buffers[1].blocknumber[49] top.test.nvmestorageunit0.gen03.nvmewrite0.buffers[1].blocknumber[48] top.test.nvmestorageunit0.gen03.nvmewrite0.buffers[1].blocknumber[47] top.test.nvmestorageunit0.gen03.nvmewrite0.buffers[1].blocknumber[46] top.test.nvmestorageunit0.gen03.nvmewrite0.buffers[1].blocknumber[45] top.test.nvmestorageunit0.gen03.nvmewrite0.buffers[1].blocknumber[44] top.test.nvmestorageunit0.gen03.nvmewrite0.buffers[1].blocknumber[43] top.test.nvmestorageunit0.gen03.nvmewrite0.buffers[1].blocknumber[42] top.test.nvmestorageunit0.gen03.nvmewrite0.buffers[1].blocknumber[41] top.test.nvmestorageunit0.gen03.nvmewrite0.buffers[1].blocknumber[40] top.test.nvmestorageunit0.gen03.nvmewrite0.buffers[1].blocknumber[39] top.test.nvmestorageunit0.gen03.nvmewrite0.buffers[1].blocknumber[38] top.test.nvmestorageunit0.gen03.nvmewrite0.buffers[1].blocknumber[37] top.test.nvmestorageunit0.gen03.nvmewrite0.buffers[1].blocknumber[36] top.test.nvmestorageunit0.gen03.nvmewrite0.buffers[1].blocknumber[35] top.test.nvmestorageunit0.gen03.nvmewrite0.buffers[1].blocknumber[34] top.test.nvmestorageunit0.gen03.nvmewrite0.buffers[1].blocknumber[33] top.test.nvmestorageunit0.gen03.nvmewrite0.buffers[1].blocknumber[32] top.test.nvmestorageunit0.gen03.nvmewrite0.buffers[1].blocknumber[31] top.test.nvmestorageunit0.gen03.nvmewrite0.buffers[1].blocknumber[30] top.test.nvmestorageunit0.gen03.nvmewrite0.buffers[1].blocknumber[29] top.test.nvmestorageunit0.gen03.nvmewrite0.buffers[1].blocknumber[28] top.test.nvmestorageunit0.gen03.nvmewrite0.buffers[1].blocknumber[27] top.test.nvmestorageunit0.gen03.nvmewrite0.buffers[1].blocknumber[26] top.test.nvmestorageunit0.gen03.nvmewrite0.buffers[1].blocknumber[25] top.test.nvmestorageunit0.gen03.nvmewrite0.buffers[1].blocknumber[24] top.test.nvmestorageunit0.gen03.nvmewrite0.buffers[1].blocknumber[23] top.test.nvmestorageunit0.gen03.nvmewrite0.buffers[1].blocknumber[22] top.test.nvmestorageunit0.gen03.nvmewrite0.buffers[1].blocknumber[21] top.test.nvmestorageunit0.gen03.nvmewrite0.buffers[1].blocknumber[20] top.test.nvmestorageunit0.gen03.nvmewrite0.buffers[1].blocknumber[19] top.test.nvmestorageunit0.gen03.nvmewrite0.buffers[1].blocknumber[18] top.test.nvmestorageunit0.gen03.nvmewrite0.buffers[1].blocknumber[17] top.test.nvmestorageunit0.gen03.nvmewrite0.buffers[1].blocknumber[16] top.test.nvmestorageunit0.gen03.nvmewrite0.buffers[1].blocknumber[15] top.test.nvmestorageunit0.gen03.nvmewrite0.buffers[1].blocknumber[14] top.test.nvmestorageunit0.gen03.nvmewrite0.buffers[1].blocknumber[13] top.test.nvmestorageunit0.gen03.nvmewrite0.buffers[1].blocknumber[12] top.test.nvmestorageunit0.gen03.nvmewrite0.buffers[1].blocknumber[11] top.test.nvmestorageunit0.gen03.nvmewrite0.buffers[1].blocknumber[10] top.test.nvmestorageunit0.gen03.nvmewrite0.buffers[1].blocknumber[9] top.test.nvmestorageunit0.gen03.nvmewrite0.buffers[1].blocknumber[8] top.test.nvmestorageunit0.gen03.nvmewrite0.buffers[1].blocknumber[7] top.test.nvmestorageunit0.gen03.nvmewrite0.buffers[1].blocknumber[6] top.test.nvmestorageunit0.gen03.nvmewrite0.buffers[1].blocknumber[5] top.test.nvmestorageunit0.gen03.nvmewrite0.buffers[1].blocknumber[4] top.test.nvmestorageunit0.gen03.nvmewrite0.buffers[1].blocknumber[3] top.test.nvmestorageunit0.gen03.nvmewrite0.buffers[1].blocknumber[2] top.test.nvmestorageunit0.gen03.nvmewrite0.buffers[1].blocknumber[1] top.test.nvmestorageunit0.gen03.nvmewrite0.buffers[1].blocknumber[0]
+@28
+top.test.nvmestorageunit0.gen03.nvmewrite0.buffers[2].inuse1
+top.test.nvmestorageunit0.gen03.nvmewrite0.buffers[2].inuse2
+@1000200
+-InputBuffers
+@28
+top.test.nvmestorageunit0.gen03.nvmewrite0.requestout.ready
+top.test.nvmestorageunit0.gen03.nvmewrite0.requestout.valid
+top.test.nvmestorageunit0.gen03.nvmewrite0.requestout.last
+@22
+#{top.test.nvmestorageunit0.gen03.nvmewrite0.requestout.keep[15:0]} top.test.nvmestorageunit0.gen03.nvmewrite0.requestout.keep[15] top.test.nvmestorageunit0.gen03.nvmewrite0.requestout.keep[14] top.test.nvmestorageunit0.gen03.nvmewrite0.requestout.keep[13] top.test.nvmestorageunit0.gen03.nvmewrite0.requestout.keep[12] top.test.nvmestorageunit0.gen03.nvmewrite0.requestout.keep[11] top.test.nvmestorageunit0.gen03.nvmewrite0.requestout.keep[10] top.test.nvmestorageunit0.gen03.nvmewrite0.requestout.keep[9] top.test.nvmestorageunit0.gen03.nvmewrite0.requestout.keep[8] top.test.nvmestorageunit0.gen03.nvmewrite0.requestout.keep[7] top.test.nvmestorageunit0.gen03.nvmewrite0.requestout.keep[6] top.test.nvmestorageunit0.gen03.nvmewrite0.requestout.keep[5] top.test.nvmestorageunit0.gen03.nvmewrite0.requestout.keep[4] top.test.nvmestorageunit0.gen03.nvmewrite0.requestout.keep[3] top.test.nvmestorageunit0.gen03.nvmewrite0.requestout.keep[2] top.test.nvmestorageunit0.gen03.nvmewrite0.requestout.keep[1] top.test.nvmestorageunit0.gen03.nvmewrite0.requestout.keep[0]
+#{top.test.nvmestorageunit0.gen03.nvmewrite0.requestout.data[127:0]} top.test.nvmestorageunit0.gen03.nvmewrite0.requestout.data[127] top.test.nvmestorageunit0.gen03.nvmewrite0.requestout.data[126] top.test.nvmestorageunit0.gen03.nvmewrite0.requestout.data[125] top.test.nvmestorageunit0.gen03.nvmewrite0.requestout.data[124] top.test.nvmestorageunit0.gen03.nvmewrite0.requestout.data[123] top.test.nvmestorageunit0.gen03.nvmewrite0.requestout.data[122] top.test.nvmestorageunit0.gen03.nvmewrite0.requestout.data[121] top.test.nvmestorageunit0.gen03.nvmewrite0.requestout.data[120] top.test.nvmestorageunit0.gen03.nvmewrite0.requestout.data[119] top.test.nvmestorageunit0.gen03.nvmewrite0.requestout.data[118] top.test.nvmestorageunit0.gen03.nvmewrite0.requestout.data[117] top.test.nvmestorageunit0.gen03.nvmewrite0.requestout.data[116] top.test.nvmestorageunit0.gen03.nvmewrite0.requestout.data[115] top.test.nvmestorageunit0.gen03.nvmewrite0.requestout.data[114] top.test.nvmestorageunit0.gen03.nvmewrite0.requestout.data[113] top.test.nvmestorageunit0.gen03.nvmewrite0.requestout.data[112] top.test.nvmestorageunit0.gen03.nvmewrite0.requestout.data[111] top.test.nvmestorageunit0.gen03.nvmewrite0.requestout.data[110] top.test.nvmestorageunit0.gen03.nvmewrite0.requestout.data[109] top.test.nvmestorageunit0.gen03.nvmewrite0.requestout.data[108] top.test.nvmestorageunit0.gen03.nvmewrite0.requestout.data[107] top.test.nvmestorageunit0.gen03.nvmewrite0.requestout.data[106] top.test.nvmestorageunit0.gen03.nvmewrite0.requestout.data[105] top.test.nvmestorageunit0.gen03.nvmewrite0.requestout.data[104] top.test.nvmestorageunit0.gen03.nvmewrite0.requestout.data[103] top.test.nvmestorageunit0.gen03.nvmewrite0.requestout.data[102] top.test.nvmestorageunit0.gen03.nvmewrite0.requestout.data[101] top.test.nvmestorageunit0.gen03.nvmewrite0.requestout.data[100] top.test.nvmestorageunit0.gen03.nvmewrite0.requestout.data[99] top.test.nvmestorageunit0.gen03.nvmewrite0.requestout.data[98] top.test.nvmestorageunit0.gen03.nvmewrite0.requestout.data[97] top.test.nvmestorageunit0.gen03.nvmewrite0.requestout.data[96] top.test.nvmestorageunit0.gen03.nvmewrite0.requestout.data[95] top.test.nvmestorageunit0.gen03.nvmewrite0.requestout.data[94] top.test.nvmestorageunit0.gen03.nvmewrite0.requestout.data[93] top.test.nvmestorageunit0.gen03.nvmewrite0.requestout.data[92] top.test.nvmestorageunit0.gen03.nvmewrite0.requestout.data[91] top.test.nvmestorageunit0.gen03.nvmewrite0.requestout.data[90] top.test.nvmestorageunit0.gen03.nvmewrite0.requestout.data[89] top.test.nvmestorageunit0.gen03.nvmewrite0.requestout.data[88] top.test.nvmestorageunit0.gen03.nvmewrite0.requestout.data[87] top.test.nvmestorageunit0.gen03.nvmewrite0.requestout.data[86] top.test.nvmestorageunit0.gen03.nvmewrite0.requestout.data[85] top.test.nvmestorageunit0.gen03.nvmewrite0.requestout.data[84] top.test.nvmestorageunit0.gen03.nvmewrite0.requestout.data[83] top.test.nvmestorageunit0.gen03.nvmewrite0.requestout.data[82] top.test.nvmestorageunit0.gen03.nvmewrite0.requestout.data[81] top.test.nvmestorageunit0.gen03.nvmewrite0.requestout.data[80] top.test.nvmestorageunit0.gen03.nvmewrite0.requestout.data[79] top.test.nvmestorageunit0.gen03.nvmewrite0.requestout.data[78] top.test.nvmestorageunit0.gen03.nvmewrite0.requestout.data[77] top.test.nvmestorageunit0.gen03.nvmewrite0.requestout.data[76] top.test.nvmestorageunit0.gen03.nvmewrite0.requestout.data[75] top.test.nvmestorageunit0.gen03.nvmewrite0.requestout.data[74] top.test.nvmestorageunit0.gen03.nvmewrite0.requestout.data[73] top.test.nvmestorageunit0.gen03.nvmewrite0.requestout.data[72] top.test.nvmestorageunit0.gen03.nvmewrite0.requestout.data[71] top.test.nvmestorageunit0.gen03.nvmewrite0.requestout.data[70] top.test.nvmestorageunit0.gen03.nvmewrite0.requestout.data[69] top.test.nvmestorageunit0.gen03.nvmewrite0.requestout.data[68] top.test.nvmestorageunit0.gen03.nvmewrite0.requestout.data[67] top.test.nvmestorageunit0.gen03.nvmewrite0.requestout.data[66] top.test.nvmestorageunit0.gen03.nvmewrite0.requestout.data[65] top.test.nvmestorageunit0.gen03.nvmewrite0.requestout.data[64] top.test.nvmestorageunit0.gen03.nvmewrite0.requestout.data[63] top.test.nvmestorageunit0.gen03.nvmewrite0.requestout.data[62] top.test.nvmestorageunit0.gen03.nvmewrite0.requestout.data[61] top.test.nvmestorageunit0.gen03.nvmewrite0.requestout.data[60] top.test.nvmestorageunit0.gen03.nvmewrite0.requestout.data[59] top.test.nvmestorageunit0.gen03.nvmewrite0.requestout.data[58] top.test.nvmestorageunit0.gen03.nvmewrite0.requestout.data[57] top.test.nvmestorageunit0.gen03.nvmewrite0.requestout.data[56] top.test.nvmestorageunit0.gen03.nvmewrite0.requestout.data[55] top.test.nvmestorageunit0.gen03.nvmewrite0.requestout.data[54] top.test.nvmestorageunit0.gen03.nvmewrite0.requestout.data[53] top.test.nvmestorageunit0.gen03.nvmewrite0.requestout.data[52] top.test.nvmestorageunit0.gen03.nvmewrite0.requestout.data[51] top.test.nvmestorageunit0.gen03.nvmewrite0.requestout.data[50] top.test.nvmestorageunit0.gen03.nvmewrite0.requestout.data[49] top.test.nvmestorageunit0.gen03.nvmewrite0.requestout.data[48] top.test.nvmestorageunit0.gen03.nvmewrite0.requestout.data[47] top.test.nvmestorageunit0.gen03.nvmewrite0.requestout.data[46] top.test.nvmestorageunit0.gen03.nvmewrite0.requestout.data[45] top.test.nvmestorageunit0.gen03.nvmewrite0.requestout.data[44] top.test.nvmestorageunit0.gen03.nvmewrite0.requestout.data[43] top.test.nvmestorageunit0.gen03.nvmewrite0.requestout.data[42] top.test.nvmestorageunit0.gen03.nvmewrite0.requestout.data[41] top.test.nvmestorageunit0.gen03.nvmewrite0.requestout.data[40] top.test.nvmestorageunit0.gen03.nvmewrite0.requestout.data[39] top.test.nvmestorageunit0.gen03.nvmewrite0.requestout.data[38] top.test.nvmestorageunit0.gen03.nvmewrite0.requestout.data[37] top.test.nvmestorageunit0.gen03.nvmewrite0.requestout.data[36] top.test.nvmestorageunit0.gen03.nvmewrite0.requestout.data[35] top.test.nvmestorageunit0.gen03.nvmewrite0.requestout.data[34] top.test.nvmestorageunit0.gen03.nvmewrite0.requestout.data[33] top.test.nvmestorageunit0.gen03.nvmewrite0.requestout.data[32] top.test.nvmestorageunit0.gen03.nvmewrite0.requestout.data[31] top.test.nvmestorageunit0.gen03.nvmewrite0.requestout.data[30] top.test.nvmestorageunit0.gen03.nvmewrite0.requestout.data[29] top.test.nvmestorageunit0.gen03.nvmewrite0.requestout.data[28] top.test.nvmestorageunit0.gen03.nvmewrite0.requestout.data[27] top.test.nvmestorageunit0.gen03.nvmewrite0.requestout.data[26] top.test.nvmestorageunit0.gen03.nvmewrite0.requestout.data[25] top.test.nvmestorageunit0.gen03.nvmewrite0.requestout.data[24] top.test.nvmestorageunit0.gen03.nvmewrite0.requestout.data[23] top.test.nvmestorageunit0.gen03.nvmewrite0.requestout.data[22] top.test.nvmestorageunit0.gen03.nvmewrite0.requestout.data[21] top.test.nvmestorageunit0.gen03.nvmewrite0.requestout.data[20] top.test.nvmestorageunit0.gen03.nvmewrite0.requestout.data[19] top.test.nvmestorageunit0.gen03.nvmewrite0.requestout.data[18] top.test.nvmestorageunit0.gen03.nvmewrite0.requestout.data[17] top.test.nvmestorageunit0.gen03.nvmewrite0.requestout.data[16] top.test.nvmestorageunit0.gen03.nvmewrite0.requestout.data[15] top.test.nvmestorageunit0.gen03.nvmewrite0.requestout.data[14] top.test.nvmestorageunit0.gen03.nvmewrite0.requestout.data[13] top.test.nvmestorageunit0.gen03.nvmewrite0.requestout.data[12] top.test.nvmestorageunit0.gen03.nvmewrite0.requestout.data[11] top.test.nvmestorageunit0.gen03.nvmewrite0.requestout.data[10] top.test.nvmestorageunit0.gen03.nvmewrite0.requestout.data[9] top.test.nvmestorageunit0.gen03.nvmewrite0.requestout.data[8] top.test.nvmestorageunit0.gen03.nvmewrite0.requestout.data[7] top.test.nvmestorageunit0.gen03.nvmewrite0.requestout.data[6] top.test.nvmestorageunit0.gen03.nvmewrite0.requestout.data[5] top.test.nvmestorageunit0.gen03.nvmewrite0.requestout.data[4] top.test.nvmestorageunit0.gen03.nvmewrite0.requestout.data[3] top.test.nvmestorageunit0.gen03.nvmewrite0.requestout.data[2] top.test.nvmestorageunit0.gen03.nvmewrite0.requestout.data[1] top.test.nvmestorageunit0.gen03.nvmewrite0.requestout.data[0]
+@28
+top.test.nvmestorageunit0.gen03.nvmewrite0.replyin.ready
+top.test.nvmestorageunit0.gen03.nvmewrite0.replyin.valid
+top.test.nvmestorageunit0.gen03.nvmewrite0.replyin.last
+@22
+#{top.test.nvmestorageunit0.gen03.nvmewrite0.replyin.keep[15:0]} top.test.nvmestorageunit0.gen03.nvmewrite0.replyin.keep[15] top.test.nvmestorageunit0.gen03.nvmewrite0.replyin.keep[14] top.test.nvmestorageunit0.gen03.nvmewrite0.replyin.keep[13] top.test.nvmestorageunit0.gen03.nvmewrite0.replyin.keep[12] top.test.nvmestorageunit0.gen03.nvmewrite0.replyin.keep[11] top.test.nvmestorageunit0.gen03.nvmewrite0.replyin.keep[10] top.test.nvmestorageunit0.gen03.nvmewrite0.replyin.keep[9] top.test.nvmestorageunit0.gen03.nvmewrite0.replyin.keep[8] top.test.nvmestorageunit0.gen03.nvmewrite0.replyin.keep[7] top.test.nvmestorageunit0.gen03.nvmewrite0.replyin.keep[6] top.test.nvmestorageunit0.gen03.nvmewrite0.replyin.keep[5] top.test.nvmestorageunit0.gen03.nvmewrite0.replyin.keep[4] top.test.nvmestorageunit0.gen03.nvmewrite0.replyin.keep[3] top.test.nvmestorageunit0.gen03.nvmewrite0.replyin.keep[2] top.test.nvmestorageunit0.gen03.nvmewrite0.replyin.keep[1] top.test.nvmestorageunit0.gen03.nvmewrite0.replyin.keep[0]
+#{top.test.nvmestorageunit0.gen03.nvmewrite0.replyin.data[127:0]} top.test.nvmestorageunit0.gen03.nvmewrite0.replyin.data[127] top.test.nvmestorageunit0.gen03.nvmewrite0.replyin.data[126] top.test.nvmestorageunit0.gen03.nvmewrite0.replyin.data[125] top.test.nvmestorageunit0.gen03.nvmewrite0.replyin.data[124] top.test.nvmestorageunit0.gen03.nvmewrite0.replyin.data[123] top.test.nvmestorageunit0.gen03.nvmewrite0.replyin.data[122] top.test.nvmestorageunit0.gen03.nvmewrite0.replyin.data[121] top.test.nvmestorageunit0.gen03.nvmewrite0.replyin.data[120] top.test.nvmestorageunit0.gen03.nvmewrite0.replyin.data[119] top.test.nvmestorageunit0.gen03.nvmewrite0.replyin.data[118] top.test.nvmestorageunit0.gen03.nvmewrite0.replyin.data[117] top.test.nvmestorageunit0.gen03.nvmewrite0.replyin.data[116] top.test.nvmestorageunit0.gen03.nvmewrite0.replyin.data[115] top.test.nvmestorageunit0.gen03.nvmewrite0.replyin.data[114] top.test.nvmestorageunit0.gen03.nvmewrite0.replyin.data[113] top.test.nvmestorageunit0.gen03.nvmewrite0.replyin.data[112] top.test.nvmestorageunit0.gen03.nvmewrite0.replyin.data[111] top.test.nvmestorageunit0.gen03.nvmewrite0.replyin.data[110] top.test.nvmestorageunit0.gen03.nvmewrite0.replyin.data[109] top.test.nvmestorageunit0.gen03.nvmewrite0.replyin.data[108] top.test.nvmestorageunit0.gen03.nvmewrite0.replyin.data[107] top.test.nvmestorageunit0.gen03.nvmewrite0.replyin.data[106] top.test.nvmestorageunit0.gen03.nvmewrite0.replyin.data[105] top.test.nvmestorageunit0.gen03.nvmewrite0.replyin.data[104] top.test.nvmestorageunit0.gen03.nvmewrite0.replyin.data[103] top.test.nvmestorageunit0.gen03.nvmewrite0.replyin.data[102] top.test.nvmestorageunit0.gen03.nvmewrite0.replyin.data[101] top.test.nvmestorageunit0.gen03.nvmewrite0.replyin.data[100] top.test.nvmestorageunit0.gen03.nvmewrite0.replyin.data[99] top.test.nvmestorageunit0.gen03.nvmewrite0.replyin.data[98] top.test.nvmestorageunit0.gen03.nvmewrite0.replyin.data[97] top.test.nvmestorageunit0.gen03.nvmewrite0.replyin.data[96] top.test.nvmestorageunit0.gen03.nvmewrite0.replyin.data[95] top.test.nvmestorageunit0.gen03.nvmewrite0.replyin.data[94] top.test.nvmestorageunit0.gen03.nvmewrite0.replyin.data[93] top.test.nvmestorageunit0.gen03.nvmewrite0.replyin.data[92] top.test.nvmestorageunit0.gen03.nvmewrite0.replyin.data[91] top.test.nvmestorageunit0.gen03.nvmewrite0.replyin.data[90] top.test.nvmestorageunit0.gen03.nvmewrite0.replyin.data[89] top.test.nvmestorageunit0.gen03.nvmewrite0.replyin.data[88] top.test.nvmestorageunit0.gen03.nvmewrite0.replyin.data[87] top.test.nvmestorageunit0.gen03.nvmewrite0.replyin.data[86] top.test.nvmestorageunit0.gen03.nvmewrite0.replyin.data[85] top.test.nvmestorageunit0.gen03.nvmewrite0.replyin.data[84] top.test.nvmestorageunit0.gen03.nvmewrite0.replyin.data[83] top.test.nvmestorageunit0.gen03.nvmewrite0.replyin.data[82] top.test.nvmestorageunit0.gen03.nvmewrite0.replyin.data[81] top.test.nvmestorageunit0.gen03.nvmewrite0.replyin.data[80] top.test.nvmestorageunit0.gen03.nvmewrite0.replyin.data[79] top.test.nvmestorageunit0.gen03.nvmewrite0.replyin.data[78] top.test.nvmestorageunit0.gen03.nvmewrite0.replyin.data[77] top.test.nvmestorageunit0.gen03.nvmewrite0.replyin.data[76] top.test.nvmestorageunit0.gen03.nvmewrite0.replyin.data[75] top.test.nvmestorageunit0.gen03.nvmewrite0.replyin.data[74] top.test.nvmestorageunit0.gen03.nvmewrite0.replyin.data[73] top.test.nvmestorageunit0.gen03.nvmewrite0.replyin.data[72] top.test.nvmestorageunit0.gen03.nvmewrite0.replyin.data[71] top.test.nvmestorageunit0.gen03.nvmewrite0.replyin.data[70] top.test.nvmestorageunit0.gen03.nvmewrite0.replyin.data[69] top.test.nvmestorageunit0.gen03.nvmewrite0.replyin.data[68] top.test.nvmestorageunit0.gen03.nvmewrite0.replyin.data[67] top.test.nvmestorageunit0.gen03.nvmewrite0.replyin.data[66] top.test.nvmestorageunit0.gen03.nvmewrite0.replyin.data[65] top.test.nvmestorageunit0.gen03.nvmewrite0.replyin.data[64] top.test.nvmestorageunit0.gen03.nvmewrite0.replyin.data[63] top.test.nvmestorageunit0.gen03.nvmewrite0.replyin.data[62] top.test.nvmestorageunit0.gen03.nvmewrite0.replyin.data[61] top.test.nvmestorageunit0.gen03.nvmewrite0.replyin.data[60] top.test.nvmestorageunit0.gen03.nvmewrite0.replyin.data[59] top.test.nvmestorageunit0.gen03.nvmewrite0.replyin.data[58] top.test.nvmestorageunit0.gen03.nvmewrite0.replyin.data[57] top.test.nvmestorageunit0.gen03.nvmewrite0.replyin.data[56] top.test.nvmestorageunit0.gen03.nvmewrite0.replyin.data[55] top.test.nvmestorageunit0.gen03.nvmewrite0.replyin.data[54] top.test.nvmestorageunit0.gen03.nvmewrite0.replyin.data[53] top.test.nvmestorageunit0.gen03.nvmewrite0.replyin.data[52] top.test.nvmestorageunit0.gen03.nvmewrite0.replyin.data[51] top.test.nvmestorageunit0.gen03.nvmewrite0.replyin.data[50] top.test.nvmestorageunit0.gen03.nvmewrite0.replyin.data[49] top.test.nvmestorageunit0.gen03.nvmewrite0.replyin.data[48] top.test.nvmestorageunit0.gen03.nvmewrite0.replyin.data[47] top.test.nvmestorageunit0.gen03.nvmewrite0.replyin.data[46] top.test.nvmestorageunit0.gen03.nvmewrite0.replyin.data[45] top.test.nvmestorageunit0.gen03.nvmewrite0.replyin.data[44] top.test.nvmestorageunit0.gen03.nvmewrite0.replyin.data[43] top.test.nvmestorageunit0.gen03.nvmewrite0.replyin.data[42] top.test.nvmestorageunit0.gen03.nvmewrite0.replyin.data[41] top.test.nvmestorageunit0.gen03.nvmewrite0.replyin.data[40] top.test.nvmestorageunit0.gen03.nvmewrite0.replyin.data[39] top.test.nvmestorageunit0.gen03.nvmewrite0.replyin.data[38] top.test.nvmestorageunit0.gen03.nvmewrite0.replyin.data[37] top.test.nvmestorageunit0.gen03.nvmewrite0.replyin.data[36] top.test.nvmestorageunit0.gen03.nvmewrite0.replyin.data[35] top.test.nvmestorageunit0.gen03.nvmewrite0.replyin.data[34] top.test.nvmestorageunit0.gen03.nvmewrite0.replyin.data[33] top.test.nvmestorageunit0.gen03.nvmewrite0.replyin.data[32] top.test.nvmestorageunit0.gen03.nvmewrite0.replyin.data[31] top.test.nvmestorageunit0.gen03.nvmewrite0.replyin.data[30] top.test.nvmestorageunit0.gen03.nvmewrite0.replyin.data[29] top.test.nvmestorageunit0.gen03.nvmewrite0.replyin.data[28] top.test.nvmestorageunit0.gen03.nvmewrite0.replyin.data[27] top.test.nvmestorageunit0.gen03.nvmewrite0.replyin.data[26] top.test.nvmestorageunit0.gen03.nvmewrite0.replyin.data[25] top.test.nvmestorageunit0.gen03.nvmewrite0.replyin.data[24] top.test.nvmestorageunit0.gen03.nvmewrite0.replyin.data[23] top.test.nvmestorageunit0.gen03.nvmewrite0.replyin.data[22] top.test.nvmestorageunit0.gen03.nvmewrite0.replyin.data[21] top.test.nvmestorageunit0.gen03.nvmewrite0.replyin.data[20] top.test.nvmestorageunit0.gen03.nvmewrite0.replyin.data[19] top.test.nvmestorageunit0.gen03.nvmewrite0.replyin.data[18] top.test.nvmestorageunit0.gen03.nvmewrite0.replyin.data[17] top.test.nvmestorageunit0.gen03.nvmewrite0.replyin.data[16] top.test.nvmestorageunit0.gen03.nvmewrite0.replyin.data[15] top.test.nvmestorageunit0.gen03.nvmewrite0.replyin.data[14] top.test.nvmestorageunit0.gen03.nvmewrite0.replyin.data[13] top.test.nvmestorageunit0.gen03.nvmewrite0.replyin.data[12] top.test.nvmestorageunit0.gen03.nvmewrite0.replyin.data[11] top.test.nvmestorageunit0.gen03.nvmewrite0.replyin.data[10] top.test.nvmestorageunit0.gen03.nvmewrite0.replyin.data[9] top.test.nvmestorageunit0.gen03.nvmewrite0.replyin.data[8] top.test.nvmestorageunit0.gen03.nvmewrite0.replyin.data[7] top.test.nvmestorageunit0.gen03.nvmewrite0.replyin.data[6] top.test.nvmestorageunit0.gen03.nvmewrite0.replyin.data[5] top.test.nvmestorageunit0.gen03.nvmewrite0.replyin.data[4] top.test.nvmestorageunit0.gen03.nvmewrite0.replyin.data[3] top.test.nvmestorageunit0.gen03.nvmewrite0.replyin.data[2] top.test.nvmestorageunit0.gen03.nvmewrite0.replyin.data[1] top.test.nvmestorageunit0.gen03.nvmewrite0.replyin.data[0]
+@420
+top.test.nvmestorageunit0.gen03.nvmewrite0.memstate
+@22
+#{top.test.nvmestorageunit0.gen03.nvmewrite0.memcount[10:0]} top.test.nvmestorageunit0.gen03.nvmewrite0.memcount[10] top.test.nvmestorageunit0.gen03.nvmewrite0.memcount[9] top.test.nvmestorageunit0.gen03.nvmewrite0.memcount[8] top.test.nvmestorageunit0.gen03.nvmewrite0.memcount[7] top.test.nvmestorageunit0.gen03.nvmewrite0.memcount[6] top.test.nvmestorageunit0.gen03.nvmewrite0.memcount[5] top.test.nvmestorageunit0.gen03.nvmewrite0.memcount[4] top.test.nvmestorageunit0.gen03.nvmewrite0.memcount[3] top.test.nvmestorageunit0.gen03.nvmewrite0.memcount[2] top.test.nvmestorageunit0.gen03.nvmewrite0.memcount[1] top.test.nvmestorageunit0.gen03.nvmewrite0.memcount[0]
+#{top.test.nvmestorageunit0.gen03.nvmewrite0.memchunkcount[10:0]} top.test.nvmestorageunit0.gen03.nvmewrite0.memchunkcount[10] top.test.nvmestorageunit0.gen03.nvmewrite0.memchunkcount[9] top.test.nvmestorageunit0.gen03.nvmewrite0.memchunkcount[8] top.test.nvmestorageunit0.gen03.nvmewrite0.memchunkcount[7] top.test.nvmestorageunit0.gen03.nvmewrite0.memchunkcount[6] top.test.nvmestorageunit0.gen03.nvmewrite0.memchunkcount[5] top.test.nvmestorageunit0.gen03.nvmewrite0.memchunkcount[4] top.test.nvmestorageunit0.gen03.nvmewrite0.memchunkcount[3] top.test.nvmestorageunit0.gen03.nvmewrite0.memchunkcount[2] top.test.nvmestorageunit0.gen03.nvmewrite0.memchunkcount[1] top.test.nvmestorageunit0.gen03.nvmewrite0.memchunkcount[0]
+@28
+top.test.nvmestorageunit0.gen03.nvmewrite0.memreqin.ready
+top.test.nvmestorageunit0.gen03.nvmewrite0.memreqin.valid
+top.test.nvmestorageunit0.gen03.nvmewrite0.memreqin.last
+@22
+#{top.test.nvmestorageunit0.gen03.nvmewrite0.memreqin.data[127:0]} top.test.nvmestorageunit0.gen03.nvmewrite0.memreqin.data[127] top.test.nvmestorageunit0.gen03.nvmewrite0.memreqin.data[126] top.test.nvmestorageunit0.gen03.nvmewrite0.memreqin.data[125] top.test.nvmestorageunit0.gen03.nvmewrite0.memreqin.data[124] top.test.nvmestorageunit0.gen03.nvmewrite0.memreqin.data[123] top.test.nvmestorageunit0.gen03.nvmewrite0.memreqin.data[122] top.test.nvmestorageunit0.gen03.nvmewrite0.memreqin.data[121] top.test.nvmestorageunit0.gen03.nvmewrite0.memreqin.data[120] top.test.nvmestorageunit0.gen03.nvmewrite0.memreqin.data[119] top.test.nvmestorageunit0.gen03.nvmewrite0.memreqin.data[118] top.test.nvmestorageunit0.gen03.nvmewrite0.memreqin.data[117] top.test.nvmestorageunit0.gen03.nvmewrite0.memreqin.data[116] top.test.nvmestorageunit0.gen03.nvmewrite0.memreqin.data[115] top.test.nvmestorageunit0.gen03.nvmewrite0.memreqin.data[114] top.test.nvmestorageunit0.gen03.nvmewrite0.memreqin.data[113] top.test.nvmestorageunit0.gen03.nvmewrite0.memreqin.data[112] top.test.nvmestorageunit0.gen03.nvmewrite0.memreqin.data[111] top.test.nvmestorageunit0.gen03.nvmewrite0.memreqin.data[110] top.test.nvmestorageunit0.gen03.nvmewrite0.memreqin.data[109] top.test.nvmestorageunit0.gen03.nvmewrite0.memreqin.data[108] top.test.nvmestorageunit0.gen03.nvmewrite0.memreqin.data[107] top.test.nvmestorageunit0.gen03.nvmewrite0.memreqin.data[106] top.test.nvmestorageunit0.gen03.nvmewrite0.memreqin.data[105] top.test.nvmestorageunit0.gen03.nvmewrite0.memreqin.data[104] top.test.nvmestorageunit0.gen03.nvmewrite0.memreqin.data[103] top.test.nvmestorageunit0.gen03.nvmewrite0.memreqin.data[102] top.test.nvmestorageunit0.gen03.nvmewrite0.memreqin.data[101] top.test.nvmestorageunit0.gen03.nvmewrite0.memreqin.data[100] top.test.nvmestorageunit0.gen03.nvmewrite0.memreqin.data[99] top.test.nvmestorageunit0.gen03.nvmewrite0.memreqin.data[98] top.test.nvmestorageunit0.gen03.nvmewrite0.memreqin.data[97] top.test.nvmestorageunit0.gen03.nvmewrite0.memreqin.data[96] top.test.nvmestorageunit0.gen03.nvmewrite0.memreqin.data[95] top.test.nvmestorageunit0.gen03.nvmewrite0.memreqin.data[94] top.test.nvmestorageunit0.gen03.nvmewrite0.memreqin.data[93] top.test.nvmestorageunit0.gen03.nvmewrite0.memreqin.data[92] top.test.nvmestorageunit0.gen03.nvmewrite0.memreqin.data[91] top.test.nvmestorageunit0.gen03.nvmewrite0.memreqin.data[90] top.test.nvmestorageunit0.gen03.nvmewrite0.memreqin.data[89] top.test.nvmestorageunit0.gen03.nvmewrite0.memreqin.data[88] top.test.nvmestorageunit0.gen03.nvmewrite0.memreqin.data[87] top.test.nvmestorageunit0.gen03.nvmewrite0.memreqin.data[86] top.test.nvmestorageunit0.gen03.nvmewrite0.memreqin.data[85] top.test.nvmestorageunit0.gen03.nvmewrite0.memreqin.data[84] top.test.nvmestorageunit0.gen03.nvmewrite0.memreqin.data[83] top.test.nvmestorageunit0.gen03.nvmewrite0.memreqin.data[82] top.test.nvmestorageunit0.gen03.nvmewrite0.memreqin.data[81] top.test.nvmestorageunit0.gen03.nvmewrite0.memreqin.data[80] top.test.nvmestorageunit0.gen03.nvmewrite0.memreqin.data[79] top.test.nvmestorageunit0.gen03.nvmewrite0.memreqin.data[78] top.test.nvmestorageunit0.gen03.nvmewrite0.memreqin.data[77] top.test.nvmestorageunit0.gen03.nvmewrite0.memreqin.data[76] top.test.nvmestorageunit0.gen03.nvmewrite0.memreqin.data[75] top.test.nvmestorageunit0.gen03.nvmewrite0.memreqin.data[74] top.test.nvmestorageunit0.gen03.nvmewrite0.memreqin.data[73] top.test.nvmestorageunit0.gen03.nvmewrite0.memreqin.data[72] top.test.nvmestorageunit0.gen03.nvmewrite0.memreqin.data[71] top.test.nvmestorageunit0.gen03.nvmewrite0.memreqin.data[70] top.test.nvmestorageunit0.gen03.nvmewrite0.memreqin.data[69] top.test.nvmestorageunit0.gen03.nvmewrite0.memreqin.data[68] top.test.nvmestorageunit0.gen03.nvmewrite0.memreqin.data[67] top.test.nvmestorageunit0.gen03.nvmewrite0.memreqin.data[66] top.test.nvmestorageunit0.gen03.nvmewrite0.memreqin.data[65] top.test.nvmestorageunit0.gen03.nvmewrite0.memreqin.data[64] top.test.nvmestorageunit0.gen03.nvmewrite0.memreqin.data[63] top.test.nvmestorageunit0.gen03.nvmewrite0.memreqin.data[62] top.test.nvmestorageunit0.gen03.nvmewrite0.memreqin.data[61] top.test.nvmestorageunit0.gen03.nvmewrite0.memreqin.data[60] top.test.nvmestorageunit0.gen03.nvmewrite0.memreqin.data[59] top.test.nvmestorageunit0.gen03.nvmewrite0.memreqin.data[58] top.test.nvmestorageunit0.gen03.nvmewrite0.memreqin.data[57] top.test.nvmestorageunit0.gen03.nvmewrite0.memreqin.data[56] top.test.nvmestorageunit0.gen03.nvmewrite0.memreqin.data[55] top.test.nvmestorageunit0.gen03.nvmewrite0.memreqin.data[54] top.test.nvmestorageunit0.gen03.nvmewrite0.memreqin.data[53] top.test.nvmestorageunit0.gen03.nvmewrite0.memreqin.data[52] top.test.nvmestorageunit0.gen03.nvmewrite0.memreqin.data[51] top.test.nvmestorageunit0.gen03.nvmewrite0.memreqin.data[50] top.test.nvmestorageunit0.gen03.nvmewrite0.memreqin.data[49] top.test.nvmestorageunit0.gen03.nvmewrite0.memreqin.data[48] top.test.nvmestorageunit0.gen03.nvmewrite0.memreqin.data[47] top.test.nvmestorageunit0.gen03.nvmewrite0.memreqin.data[46] top.test.nvmestorageunit0.gen03.nvmewrite0.memreqin.data[45] top.test.nvmestorageunit0.gen03.nvmewrite0.memreqin.data[44] top.test.nvmestorageunit0.gen03.nvmewrite0.memreqin.data[43] top.test.nvmestorageunit0.gen03.nvmewrite0.memreqin.data[42] top.test.nvmestorageunit0.gen03.nvmewrite0.memreqin.data[41] top.test.nvmestorageunit0.gen03.nvmewrite0.memreqin.data[40] top.test.nvmestorageunit0.gen03.nvmewrite0.memreqin.data[39] top.test.nvmestorageunit0.gen03.nvmewrite0.memreqin.data[38] top.test.nvmestorageunit0.gen03.nvmewrite0.memreqin.data[37] top.test.nvmestorageunit0.gen03.nvmewrite0.memreqin.data[36] top.test.nvmestorageunit0.gen03.nvmewrite0.memreqin.data[35] top.test.nvmestorageunit0.gen03.nvmewrite0.memreqin.data[34] top.test.nvmestorageunit0.gen03.nvmewrite0.memreqin.data[33] top.test.nvmestorageunit0.gen03.nvmewrite0.memreqin.data[32] top.test.nvmestorageunit0.gen03.nvmewrite0.memreqin.data[31] top.test.nvmestorageunit0.gen03.nvmewrite0.memreqin.data[30] top.test.nvmestorageunit0.gen03.nvmewrite0.memreqin.data[29] top.test.nvmestorageunit0.gen03.nvmewrite0.memreqin.data[28] top.test.nvmestorageunit0.gen03.nvmewrite0.memreqin.data[27] top.test.nvmestorageunit0.gen03.nvmewrite0.memreqin.data[26] top.test.nvmestorageunit0.gen03.nvmewrite0.memreqin.data[25] top.test.nvmestorageunit0.gen03.nvmewrite0.memreqin.data[24] top.test.nvmestorageunit0.gen03.nvmewrite0.memreqin.data[23] top.test.nvmestorageunit0.gen03.nvmewrite0.memreqin.data[22] top.test.nvmestorageunit0.gen03.nvmewrite0.memreqin.data[21] top.test.nvmestorageunit0.gen03.nvmewrite0.memreqin.data[20] top.test.nvmestorageunit0.gen03.nvmewrite0.memreqin.data[19] top.test.nvmestorageunit0.gen03.nvmewrite0.memreqin.data[18] top.test.nvmestorageunit0.gen03.nvmewrite0.memreqin.data[17] top.test.nvmestorageunit0.gen03.nvmewrite0.memreqin.data[16] top.test.nvmestorageunit0.gen03.nvmewrite0.memreqin.data[15] top.test.nvmestorageunit0.gen03.nvmewrite0.memreqin.data[14] top.test.nvmestorageunit0.gen03.nvmewrite0.memreqin.data[13] top.test.nvmestorageunit0.gen03.nvmewrite0.memreqin.data[12] top.test.nvmestorageunit0.gen03.nvmewrite0.memreqin.data[11] top.test.nvmestorageunit0.gen03.nvmewrite0.memreqin.data[10] top.test.nvmestorageunit0.gen03.nvmewrite0.memreqin.data[9] top.test.nvmestorageunit0.gen03.nvmewrite0.memreqin.data[8] top.test.nvmestorageunit0.gen03.nvmewrite0.memreqin.data[7] top.test.nvmestorageunit0.gen03.nvmewrite0.memreqin.data[6] top.test.nvmestorageunit0.gen03.nvmewrite0.memreqin.data[5] top.test.nvmestorageunit0.gen03.nvmewrite0.memreqin.data[4] top.test.nvmestorageunit0.gen03.nvmewrite0.memreqin.data[3] top.test.nvmestorageunit0.gen03.nvmewrite0.memreqin.data[2] top.test.nvmestorageunit0.gen03.nvmewrite0.memreqin.data[1] top.test.nvmestorageunit0.gen03.nvmewrite0.memreqin.data[0]
+#{top.test.nvmestorageunit0.gen03.nvmewrite0.memcount[10:0]} top.test.nvmestorageunit0.gen03.nvmewrite0.memcount[10] top.test.nvmestorageunit0.gen03.nvmewrite0.memcount[9] top.test.nvmestorageunit0.gen03.nvmewrite0.memcount[8] top.test.nvmestorageunit0.gen03.nvmewrite0.memcount[7] top.test.nvmestorageunit0.gen03.nvmewrite0.memcount[6] top.test.nvmestorageunit0.gen03.nvmewrite0.memcount[5] top.test.nvmestorageunit0.gen03.nvmewrite0.memcount[4] top.test.nvmestorageunit0.gen03.nvmewrite0.memcount[3] top.test.nvmestorageunit0.gen03.nvmewrite0.memcount[2] top.test.nvmestorageunit0.gen03.nvmewrite0.memcount[1] top.test.nvmestorageunit0.gen03.nvmewrite0.memcount[0]
+#{top.test.nvmestorageunit0.gen03.nvmewrite0.memchunkcount[10:0]} top.test.nvmestorageunit0.gen03.nvmewrite0.memchunkcount[10] top.test.nvmestorageunit0.gen03.nvmewrite0.memchunkcount[9] top.test.nvmestorageunit0.gen03.nvmewrite0.memchunkcount[8] top.test.nvmestorageunit0.gen03.nvmewrite0.memchunkcount[7] top.test.nvmestorageunit0.gen03.nvmewrite0.memchunkcount[6] top.test.nvmestorageunit0.gen03.nvmewrite0.memchunkcount[5] top.test.nvmestorageunit0.gen03.nvmewrite0.memchunkcount[4] top.test.nvmestorageunit0.gen03.nvmewrite0.memchunkcount[3] top.test.nvmestorageunit0.gen03.nvmewrite0.memchunkcount[2] top.test.nvmestorageunit0.gen03.nvmewrite0.memchunkcount[1] top.test.nvmestorageunit0.gen03.nvmewrite0.memchunkcount[0]
+#{top.test.nvmestorageunit0.gen03.nvmewrite0.readaddress[7:0]} top.test.nvmestorageunit0.gen03.nvmewrite0.readaddress[7] top.test.nvmestorageunit0.gen03.nvmewrite0.readaddress[6] top.test.nvmestorageunit0.gen03.nvmewrite0.readaddress[5] top.test.nvmestorageunit0.gen03.nvmewrite0.readaddress[4] top.test.nvmestorageunit0.gen03.nvmewrite0.readaddress[3] top.test.nvmestorageunit0.gen03.nvmewrite0.readaddress[2] top.test.nvmestorageunit0.gen03.nvmewrite0.readaddress[1] top.test.nvmestorageunit0.gen03.nvmewrite0.readaddress[0]
+@23
+#{top.test.nvmestorageunit0.gen03.nvmewrite0.readaddress[10:0]} top.test.nvmestorageunit0.gen03.nvmewrite0.readaddress[10] top.test.nvmestorageunit0.gen03.nvmewrite0.readaddress[9] top.test.nvmestorageunit0.gen03.nvmewrite0.readaddress[8] top.test.nvmestorageunit0.gen03.nvmewrite0.readaddress[7] top.test.nvmestorageunit0.gen03.nvmewrite0.readaddress[6] top.test.nvmestorageunit0.gen03.nvmewrite0.readaddress[5] top.test.nvmestorageunit0.gen03.nvmewrite0.readaddress[4] top.test.nvmestorageunit0.gen03.nvmewrite0.readaddress[3] top.test.nvmestorageunit0.gen03.nvmewrite0.readaddress[2] top.test.nvmestorageunit0.gen03.nvmewrite0.readaddress[1] top.test.nvmestorageunit0.gen03.nvmewrite0.readaddress[0]
+@22
+#{top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.readdata[127:0]} top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.readdata[127] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.readdata[126] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.readdata[125] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.readdata[124] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.readdata[123] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.readdata[122] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.readdata[121] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.readdata[120] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.readdata[119] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.readdata[118] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.readdata[117] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.readdata[116] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.readdata[115] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.readdata[114] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.readdata[113] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.readdata[112] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.readdata[111] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.readdata[110] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.readdata[109] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.readdata[108] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.readdata[107] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.readdata[106] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.readdata[105] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.readdata[104] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.readdata[103] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.readdata[102] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.readdata[101] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.readdata[100] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.readdata[99] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.readdata[98] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.readdata[97] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.readdata[96] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.readdata[95] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.readdata[94] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.readdata[93] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.readdata[92] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.readdata[91] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.readdata[90] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.readdata[89] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.readdata[88] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.readdata[87] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.readdata[86] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.readdata[85] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.readdata[84] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.readdata[83] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.readdata[82] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.readdata[81] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.readdata[80] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.readdata[79] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.readdata[78] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.readdata[77] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.readdata[76] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.readdata[75] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.readdata[74] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.readdata[73] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.readdata[72] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.readdata[71] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.readdata[70] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.readdata[69] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.readdata[68] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.readdata[67] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.readdata[66] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.readdata[65] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.readdata[64] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.readdata[63] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.readdata[62] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.readdata[61] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.readdata[60] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.readdata[59] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.readdata[58] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.readdata[57] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.readdata[56] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.readdata[55] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.readdata[54] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.readdata[53] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.readdata[52] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.readdata[51] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.readdata[50] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.readdata[49] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.readdata[48] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.readdata[47] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.readdata[46] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.readdata[45] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.readdata[44] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.readdata[43] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.readdata[42] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.readdata[41] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.readdata[40] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.readdata[39] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.readdata[38] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.readdata[37] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.readdata[36] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.readdata[35] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.readdata[34] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.readdata[33] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.readdata[32] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.readdata[31] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.readdata[30] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.readdata[29] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.readdata[28] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.readdata[27] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.readdata[26] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.readdata[25] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.readdata[24] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.readdata[23] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.readdata[22] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.readdata[21] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.readdata[20] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.readdata[19] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.readdata[18] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.readdata[17] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.readdata[16] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.readdata[15] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.readdata[14] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.readdata[13] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.readdata[12] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.readdata[11] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.readdata[10] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.readdata[9] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.readdata[8] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.readdata[7] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.readdata[6] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.readdata[5] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.readdata[4] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.readdata[3] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.readdata[2] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.readdata[1] top.test.nvmestorageunit0.gen03.nvmewrite0.databuffer0.readdata[0]
+@28
+top.test.nvmestorageunit0.gen03.nvmewrite0.memreplyout.ready
+top.test.nvmestorageunit0.gen03.nvmewrite0.memreplyout.valid
+top.test.nvmestorageunit0.gen03.nvmewrite0.memreplyout.last
+@22
+#{top.test.nvmestorageunit0.gen03.nvmewrite0.memreplyout.keep[15:0]} top.test.nvmestorageunit0.gen03.nvmewrite0.memreplyout.keep[15] top.test.nvmestorageunit0.gen03.nvmewrite0.memreplyout.keep[14] top.test.nvmestorageunit0.gen03.nvmewrite0.memreplyout.keep[13] top.test.nvmestorageunit0.gen03.nvmewrite0.memreplyout.keep[12] top.test.nvmestorageunit0.gen03.nvmewrite0.memreplyout.keep[11] top.test.nvmestorageunit0.gen03.nvmewrite0.memreplyout.keep[10] top.test.nvmestorageunit0.gen03.nvmewrite0.memreplyout.keep[9] top.test.nvmestorageunit0.gen03.nvmewrite0.memreplyout.keep[8] top.test.nvmestorageunit0.gen03.nvmewrite0.memreplyout.keep[7] top.test.nvmestorageunit0.gen03.nvmewrite0.memreplyout.keep[6] top.test.nvmestorageunit0.gen03.nvmewrite0.memreplyout.keep[5] top.test.nvmestorageunit0.gen03.nvmewrite0.memreplyout.keep[4] top.test.nvmestorageunit0.gen03.nvmewrite0.memreplyout.keep[3] top.test.nvmestorageunit0.gen03.nvmewrite0.memreplyout.keep[2] top.test.nvmestorageunit0.gen03.nvmewrite0.memreplyout.keep[1] top.test.nvmestorageunit0.gen03.nvmewrite0.memreplyout.keep[0]
+#{top.test.nvmestorageunit0.gen03.nvmewrite0.memreplyout.data[127:0]} top.test.nvmestorageunit0.gen03.nvmewrite0.memreplyout.data[127] top.test.nvmestorageunit0.gen03.nvmewrite0.memreplyout.data[126] top.test.nvmestorageunit0.gen03.nvmewrite0.memreplyout.data[125] top.test.nvmestorageunit0.gen03.nvmewrite0.memreplyout.data[124] top.test.nvmestorageunit0.gen03.nvmewrite0.memreplyout.data[123] top.test.nvmestorageunit0.gen03.nvmewrite0.memreplyout.data[122] top.test.nvmestorageunit0.gen03.nvmewrite0.memreplyout.data[121] top.test.nvmestorageunit0.gen03.nvmewrite0.memreplyout.data[120] top.test.nvmestorageunit0.gen03.nvmewrite0.memreplyout.data[119] top.test.nvmestorageunit0.gen03.nvmewrite0.memreplyout.data[118] top.test.nvmestorageunit0.gen03.nvmewrite0.memreplyout.data[117] top.test.nvmestorageunit0.gen03.nvmewrite0.memreplyout.data[116] top.test.nvmestorageunit0.gen03.nvmewrite0.memreplyout.data[115] top.test.nvmestorageunit0.gen03.nvmewrite0.memreplyout.data[114] top.test.nvmestorageunit0.gen03.nvmewrite0.memreplyout.data[113] top.test.nvmestorageunit0.gen03.nvmewrite0.memreplyout.data[112] top.test.nvmestorageunit0.gen03.nvmewrite0.memreplyout.data[111] top.test.nvmestorageunit0.gen03.nvmewrite0.memreplyout.data[110] top.test.nvmestorageunit0.gen03.nvmewrite0.memreplyout.data[109] top.test.nvmestorageunit0.gen03.nvmewrite0.memreplyout.data[108] top.test.nvmestorageunit0.gen03.nvmewrite0.memreplyout.data[107] top.test.nvmestorageunit0.gen03.nvmewrite0.memreplyout.data[106] top.test.nvmestorageunit0.gen03.nvmewrite0.memreplyout.data[105] top.test.nvmestorageunit0.gen03.nvmewrite0.memreplyout.data[104] top.test.nvmestorageunit0.gen03.nvmewrite0.memreplyout.data[103] top.test.nvmestorageunit0.gen03.nvmewrite0.memreplyout.data[102] top.test.nvmestorageunit0.gen03.nvmewrite0.memreplyout.data[101] top.test.nvmestorageunit0.gen03.nvmewrite0.memreplyout.data[100] top.test.nvmestorageunit0.gen03.nvmewrite0.memreplyout.data[99] top.test.nvmestorageunit0.gen03.nvmewrite0.memreplyout.data[98] top.test.nvmestorageunit0.gen03.nvmewrite0.memreplyout.data[97] top.test.nvmestorageunit0.gen03.nvmewrite0.memreplyout.data[96] top.test.nvmestorageunit0.gen03.nvmewrite0.memreplyout.data[95] top.test.nvmestorageunit0.gen03.nvmewrite0.memreplyout.data[94] top.test.nvmestorageunit0.gen03.nvmewrite0.memreplyout.data[93] top.test.nvmestorageunit0.gen03.nvmewrite0.memreplyout.data[92] top.test.nvmestorageunit0.gen03.nvmewrite0.memreplyout.data[91] top.test.nvmestorageunit0.gen03.nvmewrite0.memreplyout.data[90] top.test.nvmestorageunit0.gen03.nvmewrite0.memreplyout.data[89] top.test.nvmestorageunit0.gen03.nvmewrite0.memreplyout.data[88] top.test.nvmestorageunit0.gen03.nvmewrite0.memreplyout.data[87] top.test.nvmestorageunit0.gen03.nvmewrite0.memreplyout.data[86] top.test.nvmestorageunit0.gen03.nvmewrite0.memreplyout.data[85] top.test.nvmestorageunit0.gen03.nvmewrite0.memreplyout.data[84] top.test.nvmestorageunit0.gen03.nvmewrite0.memreplyout.data[83] top.test.nvmestorageunit0.gen03.nvmewrite0.memreplyout.data[82] top.test.nvmestorageunit0.gen03.nvmewrite0.memreplyout.data[81] top.test.nvmestorageunit0.gen03.nvmewrite0.memreplyout.data[80] top.test.nvmestorageunit0.gen03.nvmewrite0.memreplyout.data[79] top.test.nvmestorageunit0.gen03.nvmewrite0.memreplyout.data[78] top.test.nvmestorageunit0.gen03.nvmewrite0.memreplyout.data[77] top.test.nvmestorageunit0.gen03.nvmewrite0.memreplyout.data[76] top.test.nvmestorageunit0.gen03.nvmewrite0.memreplyout.data[75] top.test.nvmestorageunit0.gen03.nvmewrite0.memreplyout.data[74] top.test.nvmestorageunit0.gen03.nvmewrite0.memreplyout.data[73] top.test.nvmestorageunit0.gen03.nvmewrite0.memreplyout.data[72] top.test.nvmestorageunit0.gen03.nvmewrite0.memreplyout.data[71] top.test.nvmestorageunit0.gen03.nvmewrite0.memreplyout.data[70] top.test.nvmestorageunit0.gen03.nvmewrite0.memreplyout.data[69] top.test.nvmestorageunit0.gen03.nvmewrite0.memreplyout.data[68] top.test.nvmestorageunit0.gen03.nvmewrite0.memreplyout.data[67] top.test.nvmestorageunit0.gen03.nvmewrite0.memreplyout.data[66] top.test.nvmestorageunit0.gen03.nvmewrite0.memreplyout.data[65] top.test.nvmestorageunit0.gen03.nvmewrite0.memreplyout.data[64] top.test.nvmestorageunit0.gen03.nvmewrite0.memreplyout.data[63] top.test.nvmestorageunit0.gen03.nvmewrite0.memreplyout.data[62] top.test.nvmestorageunit0.gen03.nvmewrite0.memreplyout.data[61] top.test.nvmestorageunit0.gen03.nvmewrite0.memreplyout.data[60] top.test.nvmestorageunit0.gen03.nvmewrite0.memreplyout.data[59] top.test.nvmestorageunit0.gen03.nvmewrite0.memreplyout.data[58] top.test.nvmestorageunit0.gen03.nvmewrite0.memreplyout.data[57] top.test.nvmestorageunit0.gen03.nvmewrite0.memreplyout.data[56] top.test.nvmestorageunit0.gen03.nvmewrite0.memreplyout.data[55] top.test.nvmestorageunit0.gen03.nvmewrite0.memreplyout.data[54] top.test.nvmestorageunit0.gen03.nvmewrite0.memreplyout.data[53] top.test.nvmestorageunit0.gen03.nvmewrite0.memreplyout.data[52] top.test.nvmestorageunit0.gen03.nvmewrite0.memreplyout.data[51] top.test.nvmestorageunit0.gen03.nvmewrite0.memreplyout.data[50] top.test.nvmestorageunit0.gen03.nvmewrite0.memreplyout.data[49] top.test.nvmestorageunit0.gen03.nvmewrite0.memreplyout.data[48] top.test.nvmestorageunit0.gen03.nvmewrite0.memreplyout.data[47] top.test.nvmestorageunit0.gen03.nvmewrite0.memreplyout.data[46] top.test.nvmestorageunit0.gen03.nvmewrite0.memreplyout.data[45] top.test.nvmestorageunit0.gen03.nvmewrite0.memreplyout.data[44] top.test.nvmestorageunit0.gen03.nvmewrite0.memreplyout.data[43] top.test.nvmestorageunit0.gen03.nvmewrite0.memreplyout.data[42] top.test.nvmestorageunit0.gen03.nvmewrite0.memreplyout.data[41] top.test.nvmestorageunit0.gen03.nvmewrite0.memreplyout.data[40] top.test.nvmestorageunit0.gen03.nvmewrite0.memreplyout.data[39] top.test.nvmestorageunit0.gen03.nvmewrite0.memreplyout.data[38] top.test.nvmestorageunit0.gen03.nvmewrite0.memreplyout.data[37] top.test.nvmestorageunit0.gen03.nvmewrite0.memreplyout.data[36] top.test.nvmestorageunit0.gen03.nvmewrite0.memreplyout.data[35] top.test.nvmestorageunit0.gen03.nvmewrite0.memreplyout.data[34] top.test.nvmestorageunit0.gen03.nvmewrite0.memreplyout.data[33] top.test.nvmestorageunit0.gen03.nvmewrite0.memreplyout.data[32] top.test.nvmestorageunit0.gen03.nvmewrite0.memreplyout.data[31] top.test.nvmestorageunit0.gen03.nvmewrite0.memreplyout.data[30] top.test.nvmestorageunit0.gen03.nvmewrite0.memreplyout.data[29] top.test.nvmestorageunit0.gen03.nvmewrite0.memreplyout.data[28] top.test.nvmestorageunit0.gen03.nvmewrite0.memreplyout.data[27] top.test.nvmestorageunit0.gen03.nvmewrite0.memreplyout.data[26] top.test.nvmestorageunit0.gen03.nvmewrite0.memreplyout.data[25] top.test.nvmestorageunit0.gen03.nvmewrite0.memreplyout.data[24] top.test.nvmestorageunit0.gen03.nvmewrite0.memreplyout.data[23] top.test.nvmestorageunit0.gen03.nvmewrite0.memreplyout.data[22] top.test.nvmestorageunit0.gen03.nvmewrite0.memreplyout.data[21] top.test.nvmestorageunit0.gen03.nvmewrite0.memreplyout.data[20] top.test.nvmestorageunit0.gen03.nvmewrite0.memreplyout.data[19] top.test.nvmestorageunit0.gen03.nvmewrite0.memreplyout.data[18] top.test.nvmestorageunit0.gen03.nvmewrite0.memreplyout.data[17] top.test.nvmestorageunit0.gen03.nvmewrite0.memreplyout.data[16] top.test.nvmestorageunit0.gen03.nvmewrite0.memreplyout.data[15] top.test.nvmestorageunit0.gen03.nvmewrite0.memreplyout.data[14] top.test.nvmestorageunit0.gen03.nvmewrite0.memreplyout.data[13] top.test.nvmestorageunit0.gen03.nvmewrite0.memreplyout.data[12] top.test.nvmestorageunit0.gen03.nvmewrite0.memreplyout.data[11] top.test.nvmestorageunit0.gen03.nvmewrite0.memreplyout.data[10] top.test.nvmestorageunit0.gen03.nvmewrite0.memreplyout.data[9] top.test.nvmestorageunit0.gen03.nvmewrite0.memreplyout.data[8] top.test.nvmestorageunit0.gen03.nvmewrite0.memreplyout.data[7] top.test.nvmestorageunit0.gen03.nvmewrite0.memreplyout.data[6] top.test.nvmestorageunit0.gen03.nvmewrite0.memreplyout.data[5] top.test.nvmestorageunit0.gen03.nvmewrite0.memreplyout.data[4] top.test.nvmestorageunit0.gen03.nvmewrite0.memreplyout.data[3] top.test.nvmestorageunit0.gen03.nvmewrite0.memreplyout.data[2] top.test.nvmestorageunit0.gen03.nvmewrite0.memreplyout.data[1] top.test.nvmestorageunit0.gen03.nvmewrite0.memreplyout.data[0]
+@1000200
+-NvmeWrite
+@c00200
+-NvmeSim
+@420
+top.test.nvmestorageunit0.sim.nvmesim0.state
+@28
+top.test.nvmestorageunit0.sim.nvmesim0.waitingforreply
+@22
+#{top.test.nvmestorageunit0.sim.nvmesim0.count[10:0]} top.test.nvmestorageunit0.sim.nvmesim0.count[10] top.test.nvmestorageunit0.sim.nvmesim0.count[9] top.test.nvmestorageunit0.sim.nvmesim0.count[8] top.test.nvmestorageunit0.sim.nvmesim0.count[7] top.test.nvmestorageunit0.sim.nvmesim0.count[6] top.test.nvmestorageunit0.sim.nvmesim0.count[5] top.test.nvmestorageunit0.sim.nvmesim0.count[4] top.test.nvmestorageunit0.sim.nvmesim0.count[3] top.test.nvmestorageunit0.sim.nvmesim0.count[2] top.test.nvmestorageunit0.sim.nvmesim0.count[1] top.test.nvmestorageunit0.sim.nvmesim0.count[0]
+@28
+top.test.nvmestorageunit0.sim.nvmesim0.hostreq.ready
+top.test.nvmestorageunit0.sim.nvmesim0.hostreq.valid
+top.test.nvmestorageunit0.sim.nvmesim0.hostreq.last
+@22
+#{top.test.nvmestorageunit0.sim.nvmesim0.hostreq.data[127:0]} top.test.nvmestorageunit0.sim.nvmesim0.hostreq.data[127] top.test.nvmestorageunit0.sim.nvmesim0.hostreq.data[126] top.test.nvmestorageunit0.sim.nvmesim0.hostreq.data[125] top.test.nvmestorageunit0.sim.nvmesim0.hostreq.data[124] top.test.nvmestorageunit0.sim.nvmesim0.hostreq.data[123] top.test.nvmestorageunit0.sim.nvmesim0.hostreq.data[122] top.test.nvmestorageunit0.sim.nvmesim0.hostreq.data[121] top.test.nvmestorageunit0.sim.nvmesim0.hostreq.data[120] top.test.nvmestorageunit0.sim.nvmesim0.hostreq.data[119] top.test.nvmestorageunit0.sim.nvmesim0.hostreq.data[118] top.test.nvmestorageunit0.sim.nvmesim0.hostreq.data[117] top.test.nvmestorageunit0.sim.nvmesim0.hostreq.data[116] top.test.nvmestorageunit0.sim.nvmesim0.hostreq.data[115] top.test.nvmestorageunit0.sim.nvmesim0.hostreq.data[114] top.test.nvmestorageunit0.sim.nvmesim0.hostreq.data[113] top.test.nvmestorageunit0.sim.nvmesim0.hostreq.data[112] top.test.nvmestorageunit0.sim.nvmesim0.hostreq.data[111] top.test.nvmestorageunit0.sim.nvmesim0.hostreq.data[110] top.test.nvmestorageunit0.sim.nvmesim0.hostreq.data[109] top.test.nvmestorageunit0.sim.nvmesim0.hostreq.data[108] top.test.nvmestorageunit0.sim.nvmesim0.hostreq.data[107] top.test.nvmestorageunit0.sim.nvmesim0.hostreq.data[106] top.test.nvmestorageunit0.sim.nvmesim0.hostreq.data[105] top.test.nvmestorageunit0.sim.nvmesim0.hostreq.data[104] top.test.nvmestorageunit0.sim.nvmesim0.hostreq.data[103] top.test.nvmestorageunit0.sim.nvmesim0.hostreq.data[102] top.test.nvmestorageunit0.sim.nvmesim0.hostreq.data[101] top.test.nvmestorageunit0.sim.nvmesim0.hostreq.data[100] top.test.nvmestorageunit0.sim.nvmesim0.hostreq.data[99] top.test.nvmestorageunit0.sim.nvmesim0.hostreq.data[98] top.test.nvmestorageunit0.sim.nvmesim0.hostreq.data[97] top.test.nvmestorageunit0.sim.nvmesim0.hostreq.data[96] top.test.nvmestorageunit0.sim.nvmesim0.hostreq.data[95] top.test.nvmestorageunit0.sim.nvmesim0.hostreq.data[94] top.test.nvmestorageunit0.sim.nvmesim0.hostreq.data[93] top.test.nvmestorageunit0.sim.nvmesim0.hostreq.data[92] top.test.nvmestorageunit0.sim.nvmesim0.hostreq.data[91] top.test.nvmestorageunit0.sim.nvmesim0.hostreq.data[90] top.test.nvmestorageunit0.sim.nvmesim0.hostreq.data[89] top.test.nvmestorageunit0.sim.nvmesim0.hostreq.data[88] top.test.nvmestorageunit0.sim.nvmesim0.hostreq.data[87] top.test.nvmestorageunit0.sim.nvmesim0.hostreq.data[86] top.test.nvmestorageunit0.sim.nvmesim0.hostreq.data[85] top.test.nvmestorageunit0.sim.nvmesim0.hostreq.data[84] top.test.nvmestorageunit0.sim.nvmesim0.hostreq.data[83] top.test.nvmestorageunit0.sim.nvmesim0.hostreq.data[82] top.test.nvmestorageunit0.sim.nvmesim0.hostreq.data[81] top.test.nvmestorageunit0.sim.nvmesim0.hostreq.data[80] top.test.nvmestorageunit0.sim.nvmesim0.hostreq.data[79] top.test.nvmestorageunit0.sim.nvmesim0.hostreq.data[78] top.test.nvmestorageunit0.sim.nvmesim0.hostreq.data[77] top.test.nvmestorageunit0.sim.nvmesim0.hostreq.data[76] top.test.nvmestorageunit0.sim.nvmesim0.hostreq.data[75] top.test.nvmestorageunit0.sim.nvmesim0.hostreq.data[74] top.test.nvmestorageunit0.sim.nvmesim0.hostreq.data[73] top.test.nvmestorageunit0.sim.nvmesim0.hostreq.data[72] top.test.nvmestorageunit0.sim.nvmesim0.hostreq.data[71] top.test.nvmestorageunit0.sim.nvmesim0.hostreq.data[70] top.test.nvmestorageunit0.sim.nvmesim0.hostreq.data[69] top.test.nvmestorageunit0.sim.nvmesim0.hostreq.data[68] top.test.nvmestorageunit0.sim.nvmesim0.hostreq.data[67] top.test.nvmestorageunit0.sim.nvmesim0.hostreq.data[66] top.test.nvmestorageunit0.sim.nvmesim0.hostreq.data[65] top.test.nvmestorageunit0.sim.nvmesim0.hostreq.data[64] top.test.nvmestorageunit0.sim.nvmesim0.hostreq.data[63] top.test.nvmestorageunit0.sim.nvmesim0.hostreq.data[62] top.test.nvmestorageunit0.sim.nvmesim0.hostreq.data[61] top.test.nvmestorageunit0.sim.nvmesim0.hostreq.data[60] top.test.nvmestorageunit0.sim.nvmesim0.hostreq.data[59] top.test.nvmestorageunit0.sim.nvmesim0.hostreq.data[58] top.test.nvmestorageunit0.sim.nvmesim0.hostreq.data[57] top.test.nvmestorageunit0.sim.nvmesim0.hostreq.data[56] top.test.nvmestorageunit0.sim.nvmesim0.hostreq.data[55] top.test.nvmestorageunit0.sim.nvmesim0.hostreq.data[54] top.test.nvmestorageunit0.sim.nvmesim0.hostreq.data[53] top.test.nvmestorageunit0.sim.nvmesim0.hostreq.data[52] top.test.nvmestorageunit0.sim.nvmesim0.hostreq.data[51] top.test.nvmestorageunit0.sim.nvmesim0.hostreq.data[50] top.test.nvmestorageunit0.sim.nvmesim0.hostreq.data[49] top.test.nvmestorageunit0.sim.nvmesim0.hostreq.data[48] top.test.nvmestorageunit0.sim.nvmesim0.hostreq.data[47] top.test.nvmestorageunit0.sim.nvmesim0.hostreq.data[46] top.test.nvmestorageunit0.sim.nvmesim0.hostreq.data[45] top.test.nvmestorageunit0.sim.nvmesim0.hostreq.data[44] top.test.nvmestorageunit0.sim.nvmesim0.hostreq.data[43] top.test.nvmestorageunit0.sim.nvmesim0.hostreq.data[42] top.test.nvmestorageunit0.sim.nvmesim0.hostreq.data[41] top.test.nvmestorageunit0.sim.nvmesim0.hostreq.data[40] top.test.nvmestorageunit0.sim.nvmesim0.hostreq.data[39] top.test.nvmestorageunit0.sim.nvmesim0.hostreq.data[38] top.test.nvmestorageunit0.sim.nvmesim0.hostreq.data[37] top.test.nvmestorageunit0.sim.nvmesim0.hostreq.data[36] top.test.nvmestorageunit0.sim.nvmesim0.hostreq.data[35] top.test.nvmestorageunit0.sim.nvmesim0.hostreq.data[34] top.test.nvmestorageunit0.sim.nvmesim0.hostreq.data[33] top.test.nvmestorageunit0.sim.nvmesim0.hostreq.data[32] top.test.nvmestorageunit0.sim.nvmesim0.hostreq.data[31] top.test.nvmestorageunit0.sim.nvmesim0.hostreq.data[30] top.test.nvmestorageunit0.sim.nvmesim0.hostreq.data[29] top.test.nvmestorageunit0.sim.nvmesim0.hostreq.data[28] top.test.nvmestorageunit0.sim.nvmesim0.hostreq.data[27] top.test.nvmestorageunit0.sim.nvmesim0.hostreq.data[26] top.test.nvmestorageunit0.sim.nvmesim0.hostreq.data[25] top.test.nvmestorageunit0.sim.nvmesim0.hostreq.data[24] top.test.nvmestorageunit0.sim.nvmesim0.hostreq.data[23] top.test.nvmestorageunit0.sim.nvmesim0.hostreq.data[22] top.test.nvmestorageunit0.sim.nvmesim0.hostreq.data[21] top.test.nvmestorageunit0.sim.nvmesim0.hostreq.data[20] top.test.nvmestorageunit0.sim.nvmesim0.hostreq.data[19] top.test.nvmestorageunit0.sim.nvmesim0.hostreq.data[18] top.test.nvmestorageunit0.sim.nvmesim0.hostreq.data[17] top.test.nvmestorageunit0.sim.nvmesim0.hostreq.data[16] top.test.nvmestorageunit0.sim.nvmesim0.hostreq.data[15] top.test.nvmestorageunit0.sim.nvmesim0.hostreq.data[14] top.test.nvmestorageunit0.sim.nvmesim0.hostreq.data[13] top.test.nvmestorageunit0.sim.nvmesim0.hostreq.data[12] top.test.nvmestorageunit0.sim.nvmesim0.hostreq.data[11] top.test.nvmestorageunit0.sim.nvmesim0.hostreq.data[10] top.test.nvmestorageunit0.sim.nvmesim0.hostreq.data[9] top.test.nvmestorageunit0.sim.nvmesim0.hostreq.data[8] top.test.nvmestorageunit0.sim.nvmesim0.hostreq.data[7] top.test.nvmestorageunit0.sim.nvmesim0.hostreq.data[6] top.test.nvmestorageunit0.sim.nvmesim0.hostreq.data[5] top.test.nvmestorageunit0.sim.nvmesim0.hostreq.data[4] top.test.nvmestorageunit0.sim.nvmesim0.hostreq.data[3] top.test.nvmestorageunit0.sim.nvmesim0.hostreq.data[2] top.test.nvmestorageunit0.sim.nvmesim0.hostreq.data[1] top.test.nvmestorageunit0.sim.nvmesim0.hostreq.data[0]
+@28
+top.test.nvmestorageunit0.sim.nvmesim0.hostreply.ready
+top.test.nvmestorageunit0.sim.nvmesim0.hostreply.valid
+top.test.nvmestorageunit0.sim.nvmesim0.hostreply.last
+@22
+#{top.test.nvmestorageunit0.sim.nvmesim0.hostreply.data[127:0]} top.test.nvmestorageunit0.sim.nvmesim0.hostreply.data[127] top.test.nvmestorageunit0.sim.nvmesim0.hostreply.data[126] top.test.nvmestorageunit0.sim.nvmesim0.hostreply.data[125] top.test.nvmestorageunit0.sim.nvmesim0.hostreply.data[124] top.test.nvmestorageunit0.sim.nvmesim0.hostreply.data[123] top.test.nvmestorageunit0.sim.nvmesim0.hostreply.data[122] top.test.nvmestorageunit0.sim.nvmesim0.hostreply.data[121] top.test.nvmestorageunit0.sim.nvmesim0.hostreply.data[120] top.test.nvmestorageunit0.sim.nvmesim0.hostreply.data[119] top.test.nvmestorageunit0.sim.nvmesim0.hostreply.data[118] top.test.nvmestorageunit0.sim.nvmesim0.hostreply.data[117] top.test.nvmestorageunit0.sim.nvmesim0.hostreply.data[116] top.test.nvmestorageunit0.sim.nvmesim0.hostreply.data[115] top.test.nvmestorageunit0.sim.nvmesim0.hostreply.data[114] top.test.nvmestorageunit0.sim.nvmesim0.hostreply.data[113] top.test.nvmestorageunit0.sim.nvmesim0.hostreply.data[112] top.test.nvmestorageunit0.sim.nvmesim0.hostreply.data[111] top.test.nvmestorageunit0.sim.nvmesim0.hostreply.data[110] top.test.nvmestorageunit0.sim.nvmesim0.hostreply.data[109] top.test.nvmestorageunit0.sim.nvmesim0.hostreply.data[108] top.test.nvmestorageunit0.sim.nvmesim0.hostreply.data[107] top.test.nvmestorageunit0.sim.nvmesim0.hostreply.data[106] top.test.nvmestorageunit0.sim.nvmesim0.hostreply.data[105] top.test.nvmestorageunit0.sim.nvmesim0.hostreply.data[104] top.test.nvmestorageunit0.sim.nvmesim0.hostreply.data[103] top.test.nvmestorageunit0.sim.nvmesim0.hostreply.data[102] top.test.nvmestorageunit0.sim.nvmesim0.hostreply.data[101] top.test.nvmestorageunit0.sim.nvmesim0.hostreply.data[100] top.test.nvmestorageunit0.sim.nvmesim0.hostreply.data[99] top.test.nvmestorageunit0.sim.nvmesim0.hostreply.data[98] top.test.nvmestorageunit0.sim.nvmesim0.hostreply.data[97] top.test.nvmestorageunit0.sim.nvmesim0.hostreply.data[96] top.test.nvmestorageunit0.sim.nvmesim0.hostreply.data[95] top.test.nvmestorageunit0.sim.nvmesim0.hostreply.data[94] top.test.nvmestorageunit0.sim.nvmesim0.hostreply.data[93] top.test.nvmestorageunit0.sim.nvmesim0.hostreply.data[92] top.test.nvmestorageunit0.sim.nvmesim0.hostreply.data[91] top.test.nvmestorageunit0.sim.nvmesim0.hostreply.data[90] top.test.nvmestorageunit0.sim.nvmesim0.hostreply.data[89] top.test.nvmestorageunit0.sim.nvmesim0.hostreply.data[88] top.test.nvmestorageunit0.sim.nvmesim0.hostreply.data[87] top.test.nvmestorageunit0.sim.nvmesim0.hostreply.data[86] top.test.nvmestorageunit0.sim.nvmesim0.hostreply.data[85] top.test.nvmestorageunit0.sim.nvmesim0.hostreply.data[84] top.test.nvmestorageunit0.sim.nvmesim0.hostreply.data[83] top.test.nvmestorageunit0.sim.nvmesim0.hostreply.data[82] top.test.nvmestorageunit0.sim.nvmesim0.hostreply.data[81] top.test.nvmestorageunit0.sim.nvmesim0.hostreply.data[80] top.test.nvmestorageunit0.sim.nvmesim0.hostreply.data[79] top.test.nvmestorageunit0.sim.nvmesim0.hostreply.data[78] top.test.nvmestorageunit0.sim.nvmesim0.hostreply.data[77] top.test.nvmestorageunit0.sim.nvmesim0.hostreply.data[76] top.test.nvmestorageunit0.sim.nvmesim0.hostreply.data[75] top.test.nvmestorageunit0.sim.nvmesim0.hostreply.data[74] top.test.nvmestorageunit0.sim.nvmesim0.hostreply.data[73] top.test.nvmestorageunit0.sim.nvmesim0.hostreply.data[72] top.test.nvmestorageunit0.sim.nvmesim0.hostreply.data[71] top.test.nvmestorageunit0.sim.nvmesim0.hostreply.data[70] top.test.nvmestorageunit0.sim.nvmesim0.hostreply.data[69] top.test.nvmestorageunit0.sim.nvmesim0.hostreply.data[68] top.test.nvmestorageunit0.sim.nvmesim0.hostreply.data[67] top.test.nvmestorageunit0.sim.nvmesim0.hostreply.data[66] top.test.nvmestorageunit0.sim.nvmesim0.hostreply.data[65] top.test.nvmestorageunit0.sim.nvmesim0.hostreply.data[64] top.test.nvmestorageunit0.sim.nvmesim0.hostreply.data[63] top.test.nvmestorageunit0.sim.nvmesim0.hostreply.data[62] top.test.nvmestorageunit0.sim.nvmesim0.hostreply.data[61] top.test.nvmestorageunit0.sim.nvmesim0.hostreply.data[60] top.test.nvmestorageunit0.sim.nvmesim0.hostreply.data[59] top.test.nvmestorageunit0.sim.nvmesim0.hostreply.data[58] top.test.nvmestorageunit0.sim.nvmesim0.hostreply.data[57] top.test.nvmestorageunit0.sim.nvmesim0.hostreply.data[56] top.test.nvmestorageunit0.sim.nvmesim0.hostreply.data[55] top.test.nvmestorageunit0.sim.nvmesim0.hostreply.data[54] top.test.nvmestorageunit0.sim.nvmesim0.hostreply.data[53] top.test.nvmestorageunit0.sim.nvmesim0.hostreply.data[52] top.test.nvmestorageunit0.sim.nvmesim0.hostreply.data[51] top.test.nvmestorageunit0.sim.nvmesim0.hostreply.data[50] top.test.nvmestorageunit0.sim.nvmesim0.hostreply.data[49] top.test.nvmestorageunit0.sim.nvmesim0.hostreply.data[48] top.test.nvmestorageunit0.sim.nvmesim0.hostreply.data[47] top.test.nvmestorageunit0.sim.nvmesim0.hostreply.data[46] top.test.nvmestorageunit0.sim.nvmesim0.hostreply.data[45] top.test.nvmestorageunit0.sim.nvmesim0.hostreply.data[44] top.test.nvmestorageunit0.sim.nvmesim0.hostreply.data[43] top.test.nvmestorageunit0.sim.nvmesim0.hostreply.data[42] top.test.nvmestorageunit0.sim.nvmesim0.hostreply.data[41] top.test.nvmestorageunit0.sim.nvmesim0.hostreply.data[40] top.test.nvmestorageunit0.sim.nvmesim0.hostreply.data[39] top.test.nvmestorageunit0.sim.nvmesim0.hostreply.data[38] top.test.nvmestorageunit0.sim.nvmesim0.hostreply.data[37] top.test.nvmestorageunit0.sim.nvmesim0.hostreply.data[36] top.test.nvmestorageunit0.sim.nvmesim0.hostreply.data[35] top.test.nvmestorageunit0.sim.nvmesim0.hostreply.data[34] top.test.nvmestorageunit0.sim.nvmesim0.hostreply.data[33] top.test.nvmestorageunit0.sim.nvmesim0.hostreply.data[32] top.test.nvmestorageunit0.sim.nvmesim0.hostreply.data[31] top.test.nvmestorageunit0.sim.nvmesim0.hostreply.data[30] top.test.nvmestorageunit0.sim.nvmesim0.hostreply.data[29] top.test.nvmestorageunit0.sim.nvmesim0.hostreply.data[28] top.test.nvmestorageunit0.sim.nvmesim0.hostreply.data[27] top.test.nvmestorageunit0.sim.nvmesim0.hostreply.data[26] top.test.nvmestorageunit0.sim.nvmesim0.hostreply.data[25] top.test.nvmestorageunit0.sim.nvmesim0.hostreply.data[24] top.test.nvmestorageunit0.sim.nvmesim0.hostreply.data[23] top.test.nvmestorageunit0.sim.nvmesim0.hostreply.data[22] top.test.nvmestorageunit0.sim.nvmesim0.hostreply.data[21] top.test.nvmestorageunit0.sim.nvmesim0.hostreply.data[20] top.test.nvmestorageunit0.sim.nvmesim0.hostreply.data[19] top.test.nvmestorageunit0.sim.nvmesim0.hostreply.data[18] top.test.nvmestorageunit0.sim.nvmesim0.hostreply.data[17] top.test.nvmestorageunit0.sim.nvmesim0.hostreply.data[16] top.test.nvmestorageunit0.sim.nvmesim0.hostreply.data[15] top.test.nvmestorageunit0.sim.nvmesim0.hostreply.data[14] top.test.nvmestorageunit0.sim.nvmesim0.hostreply.data[13] top.test.nvmestorageunit0.sim.nvmesim0.hostreply.data[12] top.test.nvmestorageunit0.sim.nvmesim0.hostreply.data[11] top.test.nvmestorageunit0.sim.nvmesim0.hostreply.data[10] top.test.nvmestorageunit0.sim.nvmesim0.hostreply.data[9] top.test.nvmestorageunit0.sim.nvmesim0.hostreply.data[8] top.test.nvmestorageunit0.sim.nvmesim0.hostreply.data[7] top.test.nvmestorageunit0.sim.nvmesim0.hostreply.data[6] top.test.nvmestorageunit0.sim.nvmesim0.hostreply.data[5] top.test.nvmestorageunit0.sim.nvmesim0.hostreply.data[4] top.test.nvmestorageunit0.sim.nvmesim0.hostreply.data[3] top.test.nvmestorageunit0.sim.nvmesim0.hostreply.data[2] top.test.nvmestorageunit0.sim.nvmesim0.hostreply.data[1] top.test.nvmestorageunit0.sim.nvmesim0.hostreply.data[0]
+#{top.test.nvmestorageunit0.sim.nvmesim0.queue_pos[9:0]} top.test.nvmestorageunit0.sim.nvmesim0.queue_pos[2] top.test.nvmestorageunit0.sim.nvmesim0.queue_pos[1] top.test.nvmestorageunit0.sim.nvmesim0.queue_pos[0]
+#{top.test.nvmestorageunit0.sim.nvmesim0.reg_io1_queue[31:0]} top.test.nvmestorageunit0.sim.nvmesim0.reg_io1_queue[31] top.test.nvmestorageunit0.sim.nvmesim0.reg_io1_queue[30] top.test.nvmestorageunit0.sim.nvmesim0.reg_io1_queue[29] top.test.nvmestorageunit0.sim.nvmesim0.reg_io1_queue[28] top.test.nvmestorageunit0.sim.nvmesim0.reg_io1_queue[27] top.test.nvmestorageunit0.sim.nvmesim0.reg_io1_queue[26] top.test.nvmestorageunit0.sim.nvmesim0.reg_io1_queue[25] top.test.nvmestorageunit0.sim.nvmesim0.reg_io1_queue[24] top.test.nvmestorageunit0.sim.nvmesim0.reg_io1_queue[23] top.test.nvmestorageunit0.sim.nvmesim0.reg_io1_queue[22] top.test.nvmestorageunit0.sim.nvmesim0.reg_io1_queue[21] top.test.nvmestorageunit0.sim.nvmesim0.reg_io1_queue[20] top.test.nvmestorageunit0.sim.nvmesim0.reg_io1_queue[19] top.test.nvmestorageunit0.sim.nvmesim0.reg_io1_queue[18] top.test.nvmestorageunit0.sim.nvmesim0.reg_io1_queue[17] top.test.nvmestorageunit0.sim.nvmesim0.reg_io1_queue[16] top.test.nvmestorageunit0.sim.nvmesim0.reg_io1_queue[15] top.test.nvmestorageunit0.sim.nvmesim0.reg_io1_queue[14] top.test.nvmestorageunit0.sim.nvmesim0.reg_io1_queue[13] top.test.nvmestorageunit0.sim.nvmesim0.reg_io1_queue[12] top.test.nvmestorageunit0.sim.nvmesim0.reg_io1_queue[11] top.test.nvmestorageunit0.sim.nvmesim0.reg_io1_queue[10] top.test.nvmestorageunit0.sim.nvmesim0.reg_io1_queue[9] top.test.nvmestorageunit0.sim.nvmesim0.reg_io1_queue[8] top.test.nvmestorageunit0.sim.nvmesim0.reg_io1_queue[7] top.test.nvmestorageunit0.sim.nvmesim0.reg_io1_queue[6] top.test.nvmestorageunit0.sim.nvmesim0.reg_io1_queue[5] top.test.nvmestorageunit0.sim.nvmesim0.reg_io1_queue[4] top.test.nvmestorageunit0.sim.nvmesim0.reg_io1_queue[3] top.test.nvmestorageunit0.sim.nvmesim0.reg_io1_queue[2] top.test.nvmestorageunit0.sim.nvmesim0.reg_io1_queue[1] top.test.nvmestorageunit0.sim.nvmesim0.reg_io1_queue[0]
+@28
+top.test.nvmestorageunit0.sim.nvmesim0.nvmereq.ready
+top.test.nvmestorageunit0.sim.nvmesim0.nvmereq.valid
+top.test.nvmestorageunit0.sim.nvmesim0.nvmereq.last
+@22
+#{top.test.nvmestorageunit0.sim.nvmesim0.nvmereq.data[127:0]} top.test.nvmestorageunit0.sim.nvmesim0.nvmereq.data[127] top.test.nvmestorageunit0.sim.nvmesim0.nvmereq.data[126] top.test.nvmestorageunit0.sim.nvmesim0.nvmereq.data[125] top.test.nvmestorageunit0.sim.nvmesim0.nvmereq.data[124] top.test.nvmestorageunit0.sim.nvmesim0.nvmereq.data[123] top.test.nvmestorageunit0.sim.nvmesim0.nvmereq.data[122] top.test.nvmestorageunit0.sim.nvmesim0.nvmereq.data[121] top.test.nvmestorageunit0.sim.nvmesim0.nvmereq.data[120] top.test.nvmestorageunit0.sim.nvmesim0.nvmereq.data[119] top.test.nvmestorageunit0.sim.nvmesim0.nvmereq.data[118] top.test.nvmestorageunit0.sim.nvmesim0.nvmereq.data[117] top.test.nvmestorageunit0.sim.nvmesim0.nvmereq.data[116] top.test.nvmestorageunit0.sim.nvmesim0.nvmereq.data[115] top.test.nvmestorageunit0.sim.nvmesim0.nvmereq.data[114] top.test.nvmestorageunit0.sim.nvmesim0.nvmereq.data[113] top.test.nvmestorageunit0.sim.nvmesim0.nvmereq.data[112] top.test.nvmestorageunit0.sim.nvmesim0.nvmereq.data[111] top.test.nvmestorageunit0.sim.nvmesim0.nvmereq.data[110] top.test.nvmestorageunit0.sim.nvmesim0.nvmereq.data[109] top.test.nvmestorageunit0.sim.nvmesim0.nvmereq.data[108] top.test.nvmestorageunit0.sim.nvmesim0.nvmereq.data[107] top.test.nvmestorageunit0.sim.nvmesim0.nvmereq.data[106] top.test.nvmestorageunit0.sim.nvmesim0.nvmereq.data[105] top.test.nvmestorageunit0.sim.nvmesim0.nvmereq.data[104] top.test.nvmestorageunit0.sim.nvmesim0.nvmereq.data[103] top.test.nvmestorageunit0.sim.nvmesim0.nvmereq.data[102] top.test.nvmestorageunit0.sim.nvmesim0.nvmereq.data[101] top.test.nvmestorageunit0.sim.nvmesim0.nvmereq.data[100] top.test.nvmestorageunit0.sim.nvmesim0.nvmereq.data[99] top.test.nvmestorageunit0.sim.nvmesim0.nvmereq.data[98] top.test.nvmestorageunit0.sim.nvmesim0.nvmereq.data[97] top.test.nvmestorageunit0.sim.nvmesim0.nvmereq.data[96] top.test.nvmestorageunit0.sim.nvmesim0.nvmereq.data[95] top.test.nvmestorageunit0.sim.nvmesim0.nvmereq.data[94] top.test.nvmestorageunit0.sim.nvmesim0.nvmereq.data[93] top.test.nvmestorageunit0.sim.nvmesim0.nvmereq.data[92] top.test.nvmestorageunit0.sim.nvmesim0.nvmereq.data[91] top.test.nvmestorageunit0.sim.nvmesim0.nvmereq.data[90] top.test.nvmestorageunit0.sim.nvmesim0.nvmereq.data[89] top.test.nvmestorageunit0.sim.nvmesim0.nvmereq.data[88] top.test.nvmestorageunit0.sim.nvmesim0.nvmereq.data[87] top.test.nvmestorageunit0.sim.nvmesim0.nvmereq.data[86] top.test.nvmestorageunit0.sim.nvmesim0.nvmereq.data[85] top.test.nvmestorageunit0.sim.nvmesim0.nvmereq.data[84] top.test.nvmestorageunit0.sim.nvmesim0.nvmereq.data[83] top.test.nvmestorageunit0.sim.nvmesim0.nvmereq.data[82] top.test.nvmestorageunit0.sim.nvmesim0.nvmereq.data[81] top.test.nvmestorageunit0.sim.nvmesim0.nvmereq.data[80] top.test.nvmestorageunit0.sim.nvmesim0.nvmereq.data[79] top.test.nvmestorageunit0.sim.nvmesim0.nvmereq.data[78] top.test.nvmestorageunit0.sim.nvmesim0.nvmereq.data[77] top.test.nvmestorageunit0.sim.nvmesim0.nvmereq.data[76] top.test.nvmestorageunit0.sim.nvmesim0.nvmereq.data[75] top.test.nvmestorageunit0.sim.nvmesim0.nvmereq.data[74] top.test.nvmestorageunit0.sim.nvmesim0.nvmereq.data[73] top.test.nvmestorageunit0.sim.nvmesim0.nvmereq.data[72] top.test.nvmestorageunit0.sim.nvmesim0.nvmereq.data[71] top.test.nvmestorageunit0.sim.nvmesim0.nvmereq.data[70] top.test.nvmestorageunit0.sim.nvmesim0.nvmereq.data[69] top.test.nvmestorageunit0.sim.nvmesim0.nvmereq.data[68] top.test.nvmestorageunit0.sim.nvmesim0.nvmereq.data[67] top.test.nvmestorageunit0.sim.nvmesim0.nvmereq.data[66] top.test.nvmestorageunit0.sim.nvmesim0.nvmereq.data[65] top.test.nvmestorageunit0.sim.nvmesim0.nvmereq.data[64] top.test.nvmestorageunit0.sim.nvmesim0.nvmereq.data[63] top.test.nvmestorageunit0.sim.nvmesim0.nvmereq.data[62] top.test.nvmestorageunit0.sim.nvmesim0.nvmereq.data[61] top.test.nvmestorageunit0.sim.nvmesim0.nvmereq.data[60] top.test.nvmestorageunit0.sim.nvmesim0.nvmereq.data[59] top.test.nvmestorageunit0.sim.nvmesim0.nvmereq.data[58] top.test.nvmestorageunit0.sim.nvmesim0.nvmereq.data[57] top.test.nvmestorageunit0.sim.nvmesim0.nvmereq.data[56] top.test.nvmestorageunit0.sim.nvmesim0.nvmereq.data[55] top.test.nvmestorageunit0.sim.nvmesim0.nvmereq.data[54] top.test.nvmestorageunit0.sim.nvmesim0.nvmereq.data[53] top.test.nvmestorageunit0.sim.nvmesim0.nvmereq.data[52] top.test.nvmestorageunit0.sim.nvmesim0.nvmereq.data[51] top.test.nvmestorageunit0.sim.nvmesim0.nvmereq.data[50] top.test.nvmestorageunit0.sim.nvmesim0.nvmereq.data[49] top.test.nvmestorageunit0.sim.nvmesim0.nvmereq.data[48] top.test.nvmestorageunit0.sim.nvmesim0.nvmereq.data[47] top.test.nvmestorageunit0.sim.nvmesim0.nvmereq.data[46] top.test.nvmestorageunit0.sim.nvmesim0.nvmereq.data[45] top.test.nvmestorageunit0.sim.nvmesim0.nvmereq.data[44] top.test.nvmestorageunit0.sim.nvmesim0.nvmereq.data[43] top.test.nvmestorageunit0.sim.nvmesim0.nvmereq.data[42] top.test.nvmestorageunit0.sim.nvmesim0.nvmereq.data[41] top.test.nvmestorageunit0.sim.nvmesim0.nvmereq.data[40] top.test.nvmestorageunit0.sim.nvmesim0.nvmereq.data[39] top.test.nvmestorageunit0.sim.nvmesim0.nvmereq.data[38] top.test.nvmestorageunit0.sim.nvmesim0.nvmereq.data[37] top.test.nvmestorageunit0.sim.nvmesim0.nvmereq.data[36] top.test.nvmestorageunit0.sim.nvmesim0.nvmereq.data[35] top.test.nvmestorageunit0.sim.nvmesim0.nvmereq.data[34] top.test.nvmestorageunit0.sim.nvmesim0.nvmereq.data[33] top.test.nvmestorageunit0.sim.nvmesim0.nvmereq.data[32] top.test.nvmestorageunit0.sim.nvmesim0.nvmereq.data[31] top.test.nvmestorageunit0.sim.nvmesim0.nvmereq.data[30] top.test.nvmestorageunit0.sim.nvmesim0.nvmereq.data[29] top.test.nvmestorageunit0.sim.nvmesim0.nvmereq.data[28] top.test.nvmestorageunit0.sim.nvmesim0.nvmereq.data[27] top.test.nvmestorageunit0.sim.nvmesim0.nvmereq.data[26] top.test.nvmestorageunit0.sim.nvmesim0.nvmereq.data[25] top.test.nvmestorageunit0.sim.nvmesim0.nvmereq.data[24] top.test.nvmestorageunit0.sim.nvmesim0.nvmereq.data[23] top.test.nvmestorageunit0.sim.nvmesim0.nvmereq.data[22] top.test.nvmestorageunit0.sim.nvmesim0.nvmereq.data[21] top.test.nvmestorageunit0.sim.nvmesim0.nvmereq.data[20] top.test.nvmestorageunit0.sim.nvmesim0.nvmereq.data[19] top.test.nvmestorageunit0.sim.nvmesim0.nvmereq.data[18] top.test.nvmestorageunit0.sim.nvmesim0.nvmereq.data[17] top.test.nvmestorageunit0.sim.nvmesim0.nvmereq.data[16] top.test.nvmestorageunit0.sim.nvmesim0.nvmereq.data[15] top.test.nvmestorageunit0.sim.nvmesim0.nvmereq.data[14] top.test.nvmestorageunit0.sim.nvmesim0.nvmereq.data[13] top.test.nvmestorageunit0.sim.nvmesim0.nvmereq.data[12] top.test.nvmestorageunit0.sim.nvmesim0.nvmereq.data[11] top.test.nvmestorageunit0.sim.nvmesim0.nvmereq.data[10] top.test.nvmestorageunit0.sim.nvmesim0.nvmereq.data[9] top.test.nvmestorageunit0.sim.nvmesim0.nvmereq.data[8] top.test.nvmestorageunit0.sim.nvmesim0.nvmereq.data[7] top.test.nvmestorageunit0.sim.nvmesim0.nvmereq.data[6] top.test.nvmestorageunit0.sim.nvmesim0.nvmereq.data[5] top.test.nvmestorageunit0.sim.nvmesim0.nvmereq.data[4] top.test.nvmestorageunit0.sim.nvmesim0.nvmereq.data[3] top.test.nvmestorageunit0.sim.nvmesim0.nvmereq.data[2] top.test.nvmestorageunit0.sim.nvmesim0.nvmereq.data[1] top.test.nvmestorageunit0.sim.nvmesim0.nvmereq.data[0]
+#{top.test.nvmestorageunit0.sim.nvmesim0.queuerequest[0][127:0]} top.test.nvmestorageunit0.sim.nvmesim0.queuerequest[0][31] top.test.nvmestorageunit0.sim.nvmesim0.queuerequest[0][30] top.test.nvmestorageunit0.sim.nvmesim0.queuerequest[0][29] top.test.nvmestorageunit0.sim.nvmesim0.queuerequest[0][28] top.test.nvmestorageunit0.sim.nvmesim0.queuerequest[0][27] top.test.nvmestorageunit0.sim.nvmesim0.queuerequest[0][26] top.test.nvmestorageunit0.sim.nvmesim0.queuerequest[0][25] top.test.nvmestorageunit0.sim.nvmesim0.queuerequest[0][24] top.test.nvmestorageunit0.sim.nvmesim0.queuerequest[0][23] top.test.nvmestorageunit0.sim.nvmesim0.queuerequest[0][22] top.test.nvmestorageunit0.sim.nvmesim0.queuerequest[0][21] top.test.nvmestorageunit0.sim.nvmesim0.queuerequest[0][20] top.test.nvmestorageunit0.sim.nvmesim0.queuerequest[0][19] top.test.nvmestorageunit0.sim.nvmesim0.queuerequest[0][18] top.test.nvmestorageunit0.sim.nvmesim0.queuerequest[0][17] top.test.nvmestorageunit0.sim.nvmesim0.queuerequest[0][16] top.test.nvmestorageunit0.sim.nvmesim0.queuerequest[0][15] top.test.nvmestorageunit0.sim.nvmesim0.queuerequest[0][14] top.test.nvmestorageunit0.sim.nvmesim0.queuerequest[0][13] top.test.nvmestorageunit0.sim.nvmesim0.queuerequest[0][12] top.test.nvmestorageunit0.sim.nvmesim0.queuerequest[0][11] top.test.nvmestorageunit0.sim.nvmesim0.queuerequest[0][10] top.test.nvmestorageunit0.sim.nvmesim0.queuerequest[0][9] top.test.nvmestorageunit0.sim.nvmesim0.queuerequest[0][8] top.test.nvmestorageunit0.sim.nvmesim0.queuerequest[0][7] top.test.nvmestorageunit0.sim.nvmesim0.queuerequest[0][6] top.test.nvmestorageunit0.sim.nvmesim0.queuerequest[0][5] top.test.nvmestorageunit0.sim.nvmesim0.queuerequest[0][4] top.test.nvmestorageunit0.sim.nvmesim0.queuerequest[0][3] top.test.nvmestorageunit0.sim.nvmesim0.queuerequest[0][2] top.test.nvmestorageunit0.sim.nvmesim0.queuerequest[0][1] top.test.nvmestorageunit0.sim.nvmesim0.queuerequest[0][0]
+#{top.test.nvmestorageunit0.sim.nvmesim0.queuerequest[1][127:0]} top.test.nvmestorageunit0.sim.nvmesim0.queuerequest[1][31] top.test.nvmestorageunit0.sim.nvmesim0.queuerequest[1][30] top.test.nvmestorageunit0.sim.nvmesim0.queuerequest[1][29] top.test.nvmestorageunit0.sim.nvmesim0.queuerequest[1][28] top.test.nvmestorageunit0.sim.nvmesim0.queuerequest[1][27] top.test.nvmestorageunit0.sim.nvmesim0.queuerequest[1][26] top.test.nvmestorageunit0.sim.nvmesim0.queuerequest[1][25] top.test.nvmestorageunit0.sim.nvmesim0.queuerequest[1][24] top.test.nvmestorageunit0.sim.nvmesim0.queuerequest[1][23] top.test.nvmestorageunit0.sim.nvmesim0.queuerequest[1][22] top.test.nvmestorageunit0.sim.nvmesim0.queuerequest[1][21] top.test.nvmestorageunit0.sim.nvmesim0.queuerequest[1][20] top.test.nvmestorageunit0.sim.nvmesim0.queuerequest[1][19] top.test.nvmestorageunit0.sim.nvmesim0.queuerequest[1][18] top.test.nvmestorageunit0.sim.nvmesim0.queuerequest[1][17] top.test.nvmestorageunit0.sim.nvmesim0.queuerequest[1][16] top.test.nvmestorageunit0.sim.nvmesim0.queuerequest[1][15] top.test.nvmestorageunit0.sim.nvmesim0.queuerequest[1][14] top.test.nvmestorageunit0.sim.nvmesim0.queuerequest[1][13] top.test.nvmestorageunit0.sim.nvmesim0.queuerequest[1][12] top.test.nvmestorageunit0.sim.nvmesim0.queuerequest[1][11] top.test.nvmestorageunit0.sim.nvmesim0.queuerequest[1][10] top.test.nvmestorageunit0.sim.nvmesim0.queuerequest[1][9] top.test.nvmestorageunit0.sim.nvmesim0.queuerequest[1][8] top.test.nvmestorageunit0.sim.nvmesim0.queuerequest[1][7] top.test.nvmestorageunit0.sim.nvmesim0.queuerequest[1][6] top.test.nvmestorageunit0.sim.nvmesim0.queuerequest[1][5] top.test.nvmestorageunit0.sim.nvmesim0.queuerequest[1][4] top.test.nvmestorageunit0.sim.nvmesim0.queuerequest[1][3] top.test.nvmestorageunit0.sim.nvmesim0.queuerequest[1][2] top.test.nvmestorageunit0.sim.nvmesim0.queuerequest[1][1] top.test.nvmestorageunit0.sim.nvmesim0.queuerequest[1][0]
+#{top.test.nvmestorageunit0.sim.nvmesim0.queuerequest[6][31:0]} top.test.nvmestorageunit0.sim.nvmesim0.queuerequest[6][31] top.test.nvmestorageunit0.sim.nvmesim0.queuerequest[6][30] top.test.nvmestorageunit0.sim.nvmesim0.queuerequest[6][29] top.test.nvmestorageunit0.sim.nvmesim0.queuerequest[6][28] top.test.nvmestorageunit0.sim.nvmesim0.queuerequest[6][27] top.test.nvmestorageunit0.sim.nvmesim0.queuerequest[6][26] top.test.nvmestorageunit0.sim.nvmesim0.queuerequest[6][25] top.test.nvmestorageunit0.sim.nvmesim0.queuerequest[6][24] top.test.nvmestorageunit0.sim.nvmesim0.queuerequest[6][23] top.test.nvmestorageunit0.sim.nvmesim0.queuerequest[6][22] top.test.nvmestorageunit0.sim.nvmesim0.queuerequest[6][21] top.test.nvmestorageunit0.sim.nvmesim0.queuerequest[6][20] top.test.nvmestorageunit0.sim.nvmesim0.queuerequest[6][19] top.test.nvmestorageunit0.sim.nvmesim0.queuerequest[6][18] top.test.nvmestorageunit0.sim.nvmesim0.queuerequest[6][17] top.test.nvmestorageunit0.sim.nvmesim0.queuerequest[6][16] top.test.nvmestorageunit0.sim.nvmesim0.queuerequest[6][15] top.test.nvmestorageunit0.sim.nvmesim0.queuerequest[6][14] top.test.nvmestorageunit0.sim.nvmesim0.queuerequest[6][13] top.test.nvmestorageunit0.sim.nvmesim0.queuerequest[6][12] top.test.nvmestorageunit0.sim.nvmesim0.queuerequest[6][11] top.test.nvmestorageunit0.sim.nvmesim0.queuerequest[6][10] top.test.nvmestorageunit0.sim.nvmesim0.queuerequest[6][9] top.test.nvmestorageunit0.sim.nvmesim0.queuerequest[6][8] top.test.nvmestorageunit0.sim.nvmesim0.queuerequest[6][7] top.test.nvmestorageunit0.sim.nvmesim0.queuerequest[6][6] top.test.nvmestorageunit0.sim.nvmesim0.queuerequest[6][5] top.test.nvmestorageunit0.sim.nvmesim0.queuerequest[6][4] top.test.nvmestorageunit0.sim.nvmesim0.queuerequest[6][3] top.test.nvmestorageunit0.sim.nvmesim0.queuerequest[6][2] top.test.nvmestorageunit0.sim.nvmesim0.queuerequest[6][1] top.test.nvmestorageunit0.sim.nvmesim0.queuerequest[6][0]
+#{top.test.nvmestorageunit0.sim.nvmesim0.queuerequest[10][31:0]} top.test.nvmestorageunit0.sim.nvmesim0.queuerequest[10][31] top.test.nvmestorageunit0.sim.nvmesim0.queuerequest[10][30] top.test.nvmestorageunit0.sim.nvmesim0.queuerequest[10][29] top.test.nvmestorageunit0.sim.nvmesim0.queuerequest[10][28] top.test.nvmestorageunit0.sim.nvmesim0.queuerequest[10][27] top.test.nvmestorageunit0.sim.nvmesim0.queuerequest[10][26] top.test.nvmestorageunit0.sim.nvmesim0.queuerequest[10][25] top.test.nvmestorageunit0.sim.nvmesim0.queuerequest[10][24] top.test.nvmestorageunit0.sim.nvmesim0.queuerequest[10][23] top.test.nvmestorageunit0.sim.nvmesim0.queuerequest[10][22] top.test.nvmestorageunit0.sim.nvmesim0.queuerequest[10][21] top.test.nvmestorageunit0.sim.nvmesim0.queuerequest[10][20] top.test.nvmestorageunit0.sim.nvmesim0.queuerequest[10][19] top.test.nvmestorageunit0.sim.nvmesim0.queuerequest[10][18] top.test.nvmestorageunit0.sim.nvmesim0.queuerequest[10][17] top.test.nvmestorageunit0.sim.nvmesim0.queuerequest[10][16] top.test.nvmestorageunit0.sim.nvmesim0.queuerequest[10][15] top.test.nvmestorageunit0.sim.nvmesim0.queuerequest[10][14] top.test.nvmestorageunit0.sim.nvmesim0.queuerequest[10][13] top.test.nvmestorageunit0.sim.nvmesim0.queuerequest[10][12] top.test.nvmestorageunit0.sim.nvmesim0.queuerequest[10][11] top.test.nvmestorageunit0.sim.nvmesim0.queuerequest[10][10] top.test.nvmestorageunit0.sim.nvmesim0.queuerequest[10][9] top.test.nvmestorageunit0.sim.nvmesim0.queuerequest[10][8] top.test.nvmestorageunit0.sim.nvmesim0.queuerequest[10][7] top.test.nvmestorageunit0.sim.nvmesim0.queuerequest[10][6] top.test.nvmestorageunit0.sim.nvmesim0.queuerequest[10][5] top.test.nvmestorageunit0.sim.nvmesim0.queuerequest[10][4] top.test.nvmestorageunit0.sim.nvmesim0.queuerequest[10][3] top.test.nvmestorageunit0.sim.nvmesim0.queuerequest[10][2] top.test.nvmestorageunit0.sim.nvmesim0.queuerequest[10][1] top.test.nvmestorageunit0.sim.nvmesim0.queuerequest[10][0]
+#{top.test.nvmestorageunit0.sim.nvmesim0.queuerequest[11][31:0]} top.test.nvmestorageunit0.sim.nvmesim0.queuerequest[11][31] top.test.nvmestorageunit0.sim.nvmesim0.queuerequest[11][30] top.test.nvmestorageunit0.sim.nvmesim0.queuerequest[11][29] top.test.nvmestorageunit0.sim.nvmesim0.queuerequest[11][28] top.test.nvmestorageunit0.sim.nvmesim0.queuerequest[11][27] top.test.nvmestorageunit0.sim.nvmesim0.queuerequest[11][26] top.test.nvmestorageunit0.sim.nvmesim0.queuerequest[11][25] top.test.nvmestorageunit0.sim.nvmesim0.queuerequest[11][24] top.test.nvmestorageunit0.sim.nvmesim0.queuerequest[11][23] top.test.nvmestorageunit0.sim.nvmesim0.queuerequest[11][22] top.test.nvmestorageunit0.sim.nvmesim0.queuerequest[11][21] top.test.nvmestorageunit0.sim.nvmesim0.queuerequest[11][20] top.test.nvmestorageunit0.sim.nvmesim0.queuerequest[11][19] top.test.nvmestorageunit0.sim.nvmesim0.queuerequest[11][18] top.test.nvmestorageunit0.sim.nvmesim0.queuerequest[11][17] top.test.nvmestorageunit0.sim.nvmesim0.queuerequest[11][16] top.test.nvmestorageunit0.sim.nvmesim0.queuerequest[11][15] top.test.nvmestorageunit0.sim.nvmesim0.queuerequest[11][14] top.test.nvmestorageunit0.sim.nvmesim0.queuerequest[11][13] top.test.nvmestorageunit0.sim.nvmesim0.queuerequest[11][12] top.test.nvmestorageunit0.sim.nvmesim0.queuerequest[11][11] top.test.nvmestorageunit0.sim.nvmesim0.queuerequest[11][10] top.test.nvmestorageunit0.sim.nvmesim0.queuerequest[11][9] top.test.nvmestorageunit0.sim.nvmesim0.queuerequest[11][8] top.test.nvmestorageunit0.sim.nvmesim0.queuerequest[11][7] top.test.nvmestorageunit0.sim.nvmesim0.queuerequest[11][6] top.test.nvmestorageunit0.sim.nvmesim0.queuerequest[11][5] top.test.nvmestorageunit0.sim.nvmesim0.queuerequest[11][4] top.test.nvmestorageunit0.sim.nvmesim0.queuerequest[11][3] top.test.nvmestorageunit0.sim.nvmesim0.queuerequest[11][2] top.test.nvmestorageunit0.sim.nvmesim0.queuerequest[11][1] top.test.nvmestorageunit0.sim.nvmesim0.queuerequest[11][0]
+#{top.test.nvmestorageunit0.sim.nvmesim0.queuerequest[12][31:0]} top.test.nvmestorageunit0.sim.nvmesim0.queuerequest[12][31] top.test.nvmestorageunit0.sim.nvmesim0.queuerequest[12][30] top.test.nvmestorageunit0.sim.nvmesim0.queuerequest[12][29] top.test.nvmestorageunit0.sim.nvmesim0.queuerequest[12][28] top.test.nvmestorageunit0.sim.nvmesim0.queuerequest[12][27] top.test.nvmestorageunit0.sim.nvmesim0.queuerequest[12][26] top.test.nvmestorageunit0.sim.nvmesim0.queuerequest[12][25] top.test.nvmestorageunit0.sim.nvmesim0.queuerequest[12][24] top.test.nvmestorageunit0.sim.nvmesim0.queuerequest[12][23] top.test.nvmestorageunit0.sim.nvmesim0.queuerequest[12][22] top.test.nvmestorageunit0.sim.nvmesim0.queuerequest[12][21] top.test.nvmestorageunit0.sim.nvmesim0.queuerequest[12][20] top.test.nvmestorageunit0.sim.nvmesim0.queuerequest[12][19] top.test.nvmestorageunit0.sim.nvmesim0.queuerequest[12][18] top.test.nvmestorageunit0.sim.nvmesim0.queuerequest[12][17] top.test.nvmestorageunit0.sim.nvmesim0.queuerequest[12][16] top.test.nvmestorageunit0.sim.nvmesim0.queuerequest[12][15] top.test.nvmestorageunit0.sim.nvmesim0.queuerequest[12][14] top.test.nvmestorageunit0.sim.nvmesim0.queuerequest[12][13] top.test.nvmestorageunit0.sim.nvmesim0.queuerequest[12][12] top.test.nvmestorageunit0.sim.nvmesim0.queuerequest[12][11] top.test.nvmestorageunit0.sim.nvmesim0.queuerequest[12][10] top.test.nvmestorageunit0.sim.nvmesim0.queuerequest[12][9] top.test.nvmestorageunit0.sim.nvmesim0.queuerequest[12][8] top.test.nvmestorageunit0.sim.nvmesim0.queuerequest[12][7] top.test.nvmestorageunit0.sim.nvmesim0.queuerequest[12][6] top.test.nvmestorageunit0.sim.nvmesim0.queuerequest[12][5] top.test.nvmestorageunit0.sim.nvmesim0.queuerequest[12][4] top.test.nvmestorageunit0.sim.nvmesim0.queuerequest[12][3] top.test.nvmestorageunit0.sim.nvmesim0.queuerequest[12][2] top.test.nvmestorageunit0.sim.nvmesim0.queuerequest[12][1] top.test.nvmestorageunit0.sim.nvmesim0.queuerequest[12][0]
+@28
+top.test.nvmestorageunit0.sim.nvmesim0.nvmereply.ready
+top.test.nvmestorageunit0.sim.nvmesim0.nvmereply.valid
+top.test.nvmestorageunit0.sim.nvmesim0.nvmereply.last
+@22
+#{top.test.nvmestorageunit0.sim.nvmesim0.nvmereply.data[127:0]} top.test.nvmestorageunit0.sim.nvmesim0.nvmereply.data[127] top.test.nvmestorageunit0.sim.nvmesim0.nvmereply.data[126] top.test.nvmestorageunit0.sim.nvmesim0.nvmereply.data[125] top.test.nvmestorageunit0.sim.nvmesim0.nvmereply.data[124] top.test.nvmestorageunit0.sim.nvmesim0.nvmereply.data[123] top.test.nvmestorageunit0.sim.nvmesim0.nvmereply.data[122] top.test.nvmestorageunit0.sim.nvmesim0.nvmereply.data[121] top.test.nvmestorageunit0.sim.nvmesim0.nvmereply.data[120] top.test.nvmestorageunit0.sim.nvmesim0.nvmereply.data[119] top.test.nvmestorageunit0.sim.nvmesim0.nvmereply.data[118] top.test.nvmestorageunit0.sim.nvmesim0.nvmereply.data[117] top.test.nvmestorageunit0.sim.nvmesim0.nvmereply.data[116] top.test.nvmestorageunit0.sim.nvmesim0.nvmereply.data[115] top.test.nvmestorageunit0.sim.nvmesim0.nvmereply.data[114] top.test.nvmestorageunit0.sim.nvmesim0.nvmereply.data[113] top.test.nvmestorageunit0.sim.nvmesim0.nvmereply.data[112] top.test.nvmestorageunit0.sim.nvmesim0.nvmereply.data[111] top.test.nvmestorageunit0.sim.nvmesim0.nvmereply.data[110] top.test.nvmestorageunit0.sim.nvmesim0.nvmereply.data[109] top.test.nvmestorageunit0.sim.nvmesim0.nvmereply.data[108] top.test.nvmestorageunit0.sim.nvmesim0.nvmereply.data[107] top.test.nvmestorageunit0.sim.nvmesim0.nvmereply.data[106] top.test.nvmestorageunit0.sim.nvmesim0.nvmereply.data[105] top.test.nvmestorageunit0.sim.nvmesim0.nvmereply.data[104] top.test.nvmestorageunit0.sim.nvmesim0.nvmereply.data[103] top.test.nvmestorageunit0.sim.nvmesim0.nvmereply.data[102] top.test.nvmestorageunit0.sim.nvmesim0.nvmereply.data[101] top.test.nvmestorageunit0.sim.nvmesim0.nvmereply.data[100] top.test.nvmestorageunit0.sim.nvmesim0.nvmereply.data[99] top.test.nvmestorageunit0.sim.nvmesim0.nvmereply.data[98] top.test.nvmestorageunit0.sim.nvmesim0.nvmereply.data[97] top.test.nvmestorageunit0.sim.nvmesim0.nvmereply.data[96] top.test.nvmestorageunit0.sim.nvmesim0.nvmereply.data[95] top.test.nvmestorageunit0.sim.nvmesim0.nvmereply.data[94] top.test.nvmestorageunit0.sim.nvmesim0.nvmereply.data[93] top.test.nvmestorageunit0.sim.nvmesim0.nvmereply.data[92] top.test.nvmestorageunit0.sim.nvmesim0.nvmereply.data[91] top.test.nvmestorageunit0.sim.nvmesim0.nvmereply.data[90] top.test.nvmestorageunit0.sim.nvmesim0.nvmereply.data[89] top.test.nvmestorageunit0.sim.nvmesim0.nvmereply.data[88] top.test.nvmestorageunit0.sim.nvmesim0.nvmereply.data[87] top.test.nvmestorageunit0.sim.nvmesim0.nvmereply.data[86] top.test.nvmestorageunit0.sim.nvmesim0.nvmereply.data[85] top.test.nvmestorageunit0.sim.nvmesim0.nvmereply.data[84] top.test.nvmestorageunit0.sim.nvmesim0.nvmereply.data[83] top.test.nvmestorageunit0.sim.nvmesim0.nvmereply.data[82] top.test.nvmestorageunit0.sim.nvmesim0.nvmereply.data[81] top.test.nvmestorageunit0.sim.nvmesim0.nvmereply.data[80] top.test.nvmestorageunit0.sim.nvmesim0.nvmereply.data[79] top.test.nvmestorageunit0.sim.nvmesim0.nvmereply.data[78] top.test.nvmestorageunit0.sim.nvmesim0.nvmereply.data[77] top.test.nvmestorageunit0.sim.nvmesim0.nvmereply.data[76] top.test.nvmestorageunit0.sim.nvmesim0.nvmereply.data[75] top.test.nvmestorageunit0.sim.nvmesim0.nvmereply.data[74] top.test.nvmestorageunit0.sim.nvmesim0.nvmereply.data[73] top.test.nvmestorageunit0.sim.nvmesim0.nvmereply.data[72] top.test.nvmestorageunit0.sim.nvmesim0.nvmereply.data[71] top.test.nvmestorageunit0.sim.nvmesim0.nvmereply.data[70] top.test.nvmestorageunit0.sim.nvmesim0.nvmereply.data[69] top.test.nvmestorageunit0.sim.nvmesim0.nvmereply.data[68] top.test.nvmestorageunit0.sim.nvmesim0.nvmereply.data[67] top.test.nvmestorageunit0.sim.nvmesim0.nvmereply.data[66] top.test.nvmestorageunit0.sim.nvmesim0.nvmereply.data[65] top.test.nvmestorageunit0.sim.nvmesim0.nvmereply.data[64] top.test.nvmestorageunit0.sim.nvmesim0.nvmereply.data[63] top.test.nvmestorageunit0.sim.nvmesim0.nvmereply.data[62] top.test.nvmestorageunit0.sim.nvmesim0.nvmereply.data[61] top.test.nvmestorageunit0.sim.nvmesim0.nvmereply.data[60] top.test.nvmestorageunit0.sim.nvmesim0.nvmereply.data[59] top.test.nvmestorageunit0.sim.nvmesim0.nvmereply.data[58] top.test.nvmestorageunit0.sim.nvmesim0.nvmereply.data[57] top.test.nvmestorageunit0.sim.nvmesim0.nvmereply.data[56] top.test.nvmestorageunit0.sim.nvmesim0.nvmereply.data[55] top.test.nvmestorageunit0.sim.nvmesim0.nvmereply.data[54] top.test.nvmestorageunit0.sim.nvmesim0.nvmereply.data[53] top.test.nvmestorageunit0.sim.nvmesim0.nvmereply.data[52] top.test.nvmestorageunit0.sim.nvmesim0.nvmereply.data[51] top.test.nvmestorageunit0.sim.nvmesim0.nvmereply.data[50] top.test.nvmestorageunit0.sim.nvmesim0.nvmereply.data[49] top.test.nvmestorageunit0.sim.nvmesim0.nvmereply.data[48] top.test.nvmestorageunit0.sim.nvmesim0.nvmereply.data[47] top.test.nvmestorageunit0.sim.nvmesim0.nvmereply.data[46] top.test.nvmestorageunit0.sim.nvmesim0.nvmereply.data[45] top.test.nvmestorageunit0.sim.nvmesim0.nvmereply.data[44] top.test.nvmestorageunit0.sim.nvmesim0.nvmereply.data[43] top.test.nvmestorageunit0.sim.nvmesim0.nvmereply.data[42] top.test.nvmestorageunit0.sim.nvmesim0.nvmereply.data[41] top.test.nvmestorageunit0.sim.nvmesim0.nvmereply.data[40] top.test.nvmestorageunit0.sim.nvmesim0.nvmereply.data[39] top.test.nvmestorageunit0.sim.nvmesim0.nvmereply.data[38] top.test.nvmestorageunit0.sim.nvmesim0.nvmereply.data[37] top.test.nvmestorageunit0.sim.nvmesim0.nvmereply.data[36] top.test.nvmestorageunit0.sim.nvmesim0.nvmereply.data[35] top.test.nvmestorageunit0.sim.nvmesim0.nvmereply.data[34] top.test.nvmestorageunit0.sim.nvmesim0.nvmereply.data[33] top.test.nvmestorageunit0.sim.nvmesim0.nvmereply.data[32] top.test.nvmestorageunit0.sim.nvmesim0.nvmereply.data[31] top.test.nvmestorageunit0.sim.nvmesim0.nvmereply.data[30] top.test.nvmestorageunit0.sim.nvmesim0.nvmereply.data[29] top.test.nvmestorageunit0.sim.nvmesim0.nvmereply.data[28] top.test.nvmestorageunit0.sim.nvmesim0.nvmereply.data[27] top.test.nvmestorageunit0.sim.nvmesim0.nvmereply.data[26] top.test.nvmestorageunit0.sim.nvmesim0.nvmereply.data[25] top.test.nvmestorageunit0.sim.nvmesim0.nvmereply.data[24] top.test.nvmestorageunit0.sim.nvmesim0.nvmereply.data[23] top.test.nvmestorageunit0.sim.nvmesim0.nvmereply.data[22] top.test.nvmestorageunit0.sim.nvmesim0.nvmereply.data[21] top.test.nvmestorageunit0.sim.nvmesim0.nvmereply.data[20] top.test.nvmestorageunit0.sim.nvmesim0.nvmereply.data[19] top.test.nvmestorageunit0.sim.nvmesim0.nvmereply.data[18] top.test.nvmestorageunit0.sim.nvmesim0.nvmereply.data[17] top.test.nvmestorageunit0.sim.nvmesim0.nvmereply.data[16] top.test.nvmestorageunit0.sim.nvmesim0.nvmereply.data[15] top.test.nvmestorageunit0.sim.nvmesim0.nvmereply.data[14] top.test.nvmestorageunit0.sim.nvmesim0.nvmereply.data[13] top.test.nvmestorageunit0.sim.nvmesim0.nvmereply.data[12] top.test.nvmestorageunit0.sim.nvmesim0.nvmereply.data[11] top.test.nvmestorageunit0.sim.nvmesim0.nvmereply.data[10] top.test.nvmestorageunit0.sim.nvmesim0.nvmereply.data[9] top.test.nvmestorageunit0.sim.nvmesim0.nvmereply.data[8] top.test.nvmestorageunit0.sim.nvmesim0.nvmereply.data[7] top.test.nvmestorageunit0.sim.nvmesim0.nvmereply.data[6] top.test.nvmestorageunit0.sim.nvmesim0.nvmereply.data[5] top.test.nvmestorageunit0.sim.nvmesim0.nvmereply.data[4] top.test.nvmestorageunit0.sim.nvmesim0.nvmereply.data[3] top.test.nvmestorageunit0.sim.nvmesim0.nvmereply.data[2] top.test.nvmestorageunit0.sim.nvmesim0.nvmereply.data[1] top.test.nvmestorageunit0.sim.nvmesim0.nvmereply.data[0]
+@1401200
+-NvmeSim
+[pattern_trace] 1
+[pattern_trace] 0
diff --git a/source/DuneNvme/sim/testbench/test019-write.vhd b/source/DuneNvme/sim/testbench/test019-write.vhd
new file mode 100644 (file)
index 0000000..83244aa
--- /dev/null
@@ -0,0 +1,342 @@
+--------------------------------------------------------------------------------
+--     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;
+
+library work;
+use work.NvmeStoragePkg.all;
+use work.NvmeStorageIntPkg.all;
+use work.TestPkg.all;
+
+entity Test is
+end;
+
+architecture sim of Test is
+
+--constant BlockSize   : integer := 512;                       --! For simple testing should be 4096
+constant BlockSize     : integer := 4096;                      --! Proper block size
+
+component NvmeStorageUnit is
+generic(
+       Simulate        : boolean       := True;                --! Generate simulation core
+       ClockPeriod     : time          := 10 ms;               --! Clock period for timers (125 MHz)
+       BlockSize       : integer       := Blocksize
+);
+port (
+       clk             : in std_logic;                         --! The interface clock line
+       reset           : in std_logic;                         --! The active high reset line
+
+       -- Control and status interface
+       axilIn          : in AxilToSlaveType;                   --! Axil bus input signals
+       axilOut         : out AxilToMasterType;                 --! Axil bus output signals
+
+       -- From host to NVMe request/reply streams
+       hostSend        : inout AxisStreamType := AxisInput;    --! Host request stream
+       hostRecv        : inout AxisStreamType := AxisOutput;   --! Host reply stream
+
+       -- AXIS data stream input
+       dataEnabledOut  : out std_logic;                        --! Indicates that data ingest is enabled
+       dataIn          : inout AxisStreamType  := 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 TestData is
+generic(
+       BlockSize       : integer := BlockSize                  --! 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 AxisStreamType := AxisOutput    --! Output data stream
+);
+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 AxisStreamType := AxisInput;    --! Single multiplexed Input stream
+       stream1Out      : inout AxisStreamType := AxisOutput;   --! Single multiplexed Ouput stream
+
+       stream2In       : inout AxisStreamType := AxisInput;    --! Host Replies input stream
+       stream2Out      : inout AxisStreamType := AxisOutput;   --! Host Requests output stream
+
+       stream3In       : inout AxisStreamType := AxisInput;    --! Nvme Requests input stream
+       stream3Out      : inout AxisStreamType := 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            : AxilBusType;
+signal hostSend                : AxisStreamType := AxisOutput;
+signal hostRecv                : AxisStreamType := AxisInput;
+
+signal leds            : std_logic_vector(3 downto 0);
+
+signal hostReply       : AxisStreamType := AxisInput;
+signal hostReq         : AxisStreamType := AxisOutput;
+signal nvmeReq         : AxisStreamType := AxisInput;
+signal nvmeReply       : AxisStreamType := AxisOutput;
+signal dataIn          : AxisStreamType;
+
+type NvmeStateType is (NVME_STATE_IDLE, NVME_STATE_WRITEDATA, NVME_STATE_READHEAD, NVME_STATE_READDATA);
+signal nvmeState       : NvmeStateType := NVME_STATE_IDLE;
+signal nvmeRequestHead : PcieRequestHeadType;
+signal nvmeRequestHead1        : PcieRequestHeadType;
+signal nvmeReplyHead   : PcieReplyHeadType;
+signal nvmeCount       : unsigned(10 downto 0);                        -- DWord data send count
+signal nvmeChunkCount  : unsigned(10 downto 0);                        -- DWord data send within a chunk count
+signal nvmeData                : std_logic_vector(127 downto 0);
+signal nvmeData1       : std_logic_vector(127 downto 0);
+
+signal sendData                : std_logic := '0';
+
+begin
+       hostReply.ready <= '1';
+       
+       NvmeStorageUnit0 : NvmeStorageUnit
+       port map (
+               clk             => clk,
+               reset           => reset,
+
+               axilIn          => axil.toSlave,
+               axilOut         => axil.toMaster,
+
+               hostSend        => hostSend,
+               hostRecv        => hostRecv,
+               
+               dataIn          => dataIn,
+
+               -- 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';
+
+               -- Test NvmeWrite
+               wait for 100 ns;
+               sendData <= '1';
+
+               -- Write to NvmeStorage control register to start NvmeWrite processing
+               wait for 100 ns;
+               busWrite(clk, axil.toSlave, axil.toMaster, 4, 16#00000004#);
+
+               -- Read status registers
+               wait for 100 ns;
+               busRead(clk, axil.toSlave, axil.toMaster, 32);
+               busRead(clk, axil.toSlave, axil.toMaster, 36);
+
+               wait;           
+               
+               --wait for 1000 ns;
+               
+               -- Perform local reset
+               --busWrite(clk, axil.toSlave, axil.toMaster, 4, 16#00000001#);
+               --wait for 1000 ns;
+
+               -- Set PCIe configuration command register to 0x06
+               --pcieRequestWrite(clk, hostReq, 1, 10, 4, 16#44#, 1, 16#00100006#);
+               
+               -- Read PCIe configuration command register
+               --pcieRequestRead(clk, hostReq, 1, 8, 4, 16#55#, 1);
+               
+               -- Test Mux with Write to Nvmeregister 0
+               --pcieRequestWrite(clk, hostReq, 1, 1, 16#0000#, 16#22#, 1, 16#40#);
+
+               -- Write to AdminQueue doorbell register
+               --pcieRequestWrite(clk, hostReq, 1, 1, 16#1000#, 16#22#, 1, 16#40#);
+
+               -- Write to AdminQueue
+               pcieRequestWrite(clk, hostReq, 1, 1, 16#02000000#, 16#22#, 16, 16#00000010#);
+
+               -- Write to DataQueue
+               pcieRequestWrite(clk, hostReq, 1, 1, 16#02010000#, 16#22#, 16, 16#00000010#);
+
+               -- Perform NVMe data write
+               -- Write to DataWriteQueue doorbell register
+               --pcieRequestWrite(clk, hostReq, 1, 1, 16#1008#, 16#23#, 1, 16#40#);
+               wait;
+       end process;
+       
+       -- The test data interface
+       testData0 : TestData
+       port map (
+               clk             => clk,
+               reset           => reset,
+
+               enable          => sendData,
+
+               dataStream      => dataIn
+       );      
+
+
+       -- 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_PcieRequestHeadType(nvmeReq.data);
+       nvmeReply.data <= nvmeData(31 downto 0) & to_stl(nvmeReplyHead) when(nvmeState = NVME_STATE_READHEAD)
+               else nvmeData(31 downto 0) & nvmeData1(127 downto 32);
+       
+       requests : process(clk)
+       begin
+               if(rising_edge(clk)) then
+                       if(reset = '1') then
+                               nvmeReq.ready   <= '0';
+                               nvmeReply.valid <= '0';
+                               nvmeReply.last  <= '0';
+                               nvmeReply.keep  <= (others => '1');
+                               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;
+
+                                               if(nvmeRequestHead.request = 1) then
+                                                       nvmeState <= NVME_STATE_WRITEDATA;
+                                               elsif(nvmeRequestHead.request = 0) then
+                                                       nvmeState <= NVME_STATE_READHEAD;
+                                               end if;
+                                       else
+                                               nvmeReq.ready <= '1';
+                                       end if;
+
+                               when NVME_STATE_WRITEDATA =>
+                                       if((nvmeReq.ready = '1') and (nvmeReq.valid = '1') and (nvmeReq.last = '1')) then
+                                               nvmeState <= NVME_STATE_IDLE;
+                                       end if;
+                               
+                               
+                               when NVME_STATE_READHEAD =>
+                                       nvmeReq.ready                   <= '0';
+                                       nvmeReplyHead.byteCount         <= nvmeCount & "00";
+                                       nvmeReplyHead.address           <= nvmeRequestHead1.address(nvmeReplyHead.address'length - 1 downto 0);
+                                       nvmeReplyHead.error             <= (others => '0');
+                                       nvmeReplyHead.status            <= (others => '0');
+                                       nvmeReplyHead.tag               <= nvmeRequestHead1.tag;
+                                       nvmeReplyHead.requesterId       <= nvmeRequestHead1.requesterId;
+
+                                       if(nvmeCount > CHUNK_SIZE) then
+                                               nvmeReplyHead.count     <= to_unsigned(PcieMaxPayloadSize, nvmeReplyHead.count'length);
+                                               nvmeChunkCount          <= to_unsigned(PcieMaxPayloadSize, nvmeReplyHead.count'length);
+                                       else
+                                               nvmeReplyHead.count     <= nvmeCount;
+                                               nvmeChunkCount          <= nvmeCount;
+                                       end if;
+                                       
+                                       nvmeData1               <= nvmeData;
+                                       nvmeReply.keep          <= (others => '1');
+                                       nvmeReply.valid         <= '1';
+
+                                       if(nvmeReply.ready = '1' and nvmeReply.valid = '1') then
+                                               nvmeData        <= std_logic_vector(unsigned(nvmeData) + 1);
+                                               nvmeState       <= NVME_STATE_READDATA;
+                                       end if;
+
+                               when NVME_STATE_READDATA =>
+                                       if(nvmeReply.ready = '1' and nvmeReply.valid = '1') then
+                                               nvmeData1       <= nvmeData;
+                                               nvmeData        <= std_logic_vector(unsigned(nvmeData) + 1);
+
+                                               if(nvmeChunkCount = 4) then
+                                                       if(nvmeCount = 4) then
+                                                               nvmeReply.last  <= '0';
+                                                               nvmeReply.valid <= '0';
+                                                               nvmeState       <= NVME_STATE_IDLE;
+                                                       else
+                                                               nvmeReply.last  <= '0';
+                                                               nvmeReply.valid <= '0';
+                                                               nvmeState       <= NVME_STATE_READHEAD;
+                                                       end if;
+
+                                               elsif(nvmeChunkCount = 8) then
+                                                       nvmeReply.keep <= zeros(4) & ones(12);
+                                                       nvmeReply.last <= '1';
+
+                                               else
+                                                       nvmeReply.last <= '0';
+                                               end if;
+                                               
+                                               nvmeChunkCount                  <= nvmeChunkCount - 4;
+                                               nvmeCount                       <= nvmeCount - 4;
+                                               nvmeRequestHead1.address        <= nvmeRequestHead1.address + 4;
+                                       end if;
+                               end case;
+                       end if;
+               end if;
+       end process;
+
+       stop : process
+       begin
+               --wait for 2000 ns;
+               wait for 14000 ns;
+               assert false report "simulation ended ok" severity failure;
+       end process;
+end;
diff --git a/source/DuneNvme/src/DataBuffer.vhd b/source/DuneNvme/src/DataBuffer.vhd
new file mode 100644 (file)
index 0000000..63710b3
--- /dev/null
@@ -0,0 +1,87 @@
+--------------------------------------------------------------------------------
+--     DataBuffer.vhd NvmeStorage data input fifo
+--     T.Barnaby, Beam Ltd. 2020-04-07
+-------------------------------------------------------------------------------
+--!
+--! @class     DataBuffer
+--! @author    Terry Barnaby (terry.barnaby@beam.ltd.uk)
+--! @date      2020-04-07
+--! @version   0.0.1
+--!
+--! @brief
+--! This module provides a data input fifo for the NvmeWrite module.
+--!
+--! @details
+--! This FIFO will store a complete DataWiteChunk's worth of data, 32 kBytes.
+--! 
+--!
+--! @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 unisim;
+use unisim.vcomponents.all;
+
+library work;
+use work.NvmeStoragePkg.all;
+use work.NvmeStorageIntPkg.all;
+
+entity DataBuffer is
+generic (
+       Simulate        : boolean := False;                     --! Generate simulation core
+       Size            : integer := 4096;                      --! The Buffer size in 128 bit words
+       --AddressWidth  : integer := log2(Size)
+       AddressWidth    : integer := 13
+);
+port (
+       clk             : in std_logic;                         --! The interface clock line
+       reset           : in std_logic;                         --! The active high reset line
+
+       writeEnable     : in std_logic;
+       writeAddress    : in unsigned(AddressWidth-1 downto 0); 
+       writeData       : in std_logic_vector(127 downto 0);    
+
+       readEnable      : in std_logic;
+       readAddress     : in unsigned(AddressWidth-1 downto 0); 
+       readData        : out std_logic_vector(127 downto 0)    
+);
+end;
+
+architecture Behavioral of DataBuffer is
+
+constant TCQ           : time := 1 ns;
+
+-- Simple RAM buffer, will be implemented in BlockRam by inferance
+type RamType           is array(0 to Size-1) of std_logic_vector(127 downto 0);
+signal ram             : RamType := (others => zeros(128));
+
+attribute ram_style    : string;
+attribute ram_style    of ram : signal is "block";
+
+begin
+       -- Write to memory
+       write: process(clk)
+       begin
+               if(rising_edge(clk)) then
+                       if(writeEnable = '1') then
+                               ram(to_integer(writeAddress)) <= writeData;
+                       end if;
+                       if(readEnable = '1') then
+                               readData <= ram(to_integer(readAddress));
+                       end if;
+               end if;
+       end process;
+end;
index de6a1a1772eb5587cd0b325312024051cf7b896c..2a0c98303fb6054598f5b135e4ebed9951e40d2d 100644 (file)
@@ -176,7 +176,8 @@ end component;
 component NvmeStorageUnit is
 generic(
        Simulate        : boolean       := False;               --! Generate simulation core
-       ClockPeriod     : time          := 8 ns                 --! Clock period for timers (125 MHz)
+       ClockPeriod     : time          := 8 ns;                --! Clock period for timers (125 MHz)
+       BlockSize       : integer       := NvmeStorageBlockSize --! System block size
 );
 port (
        clk             : in std_logic;                         --! The interface clock line
@@ -210,7 +211,7 @@ end component;
 
 component TestData is
 generic(
-       BlockSize       : integer := 4096                       --! The block size in Bytes.
+       BlockSize       : integer := NvmeStorageBlockSize       --! The block size in Bytes.
 );
 port (
        clk             : in std_logic;                         --! The interface clock line
index 3d952e8750932bedc9ad4bbdc8891379e7863e31..63e0ddd085dd50d3bc75256e4394f7e208a4fcf4 100644 (file)
@@ -55,7 +55,8 @@ use work.NvmeStorageIntPkg.all;
 
 entity NvmeSim is
 generic(
-       Simulate        : boolean       := True
+       Simulate        : boolean := True;
+       BlockSize       : integer := NvmeStorageBlockSize       --! System block size
 );
 port (
        clk             : in std_logic;                                 --! The input clock
@@ -75,8 +76,7 @@ architecture Behavioral of NvmeSim is
 
 constant TCQ                   : time := 1 ns;
 constant RegWidth              : integer := 32;
---constant NumWordsRead                : integer := 1024;                      --! Normal 4k Block
-constant NumWordsRead          : integer := 64;                        --! Simulation short "block"
+constant NumWordsRead          : integer := BlockSize/4;               --! Number of 32bit Dwords in a block
 
 subtype RegDataType            is std_logic_vector(RegWidth-1 downto 0);
 type StateType                 is (STATE_IDLE, STATE_WRITE, STATE_REPLY, STATE_READ, STATE_READ_QUEUE_START, STATE_READ_QUEUE,
@@ -94,6 +94,7 @@ signal hostReplyHead1         : PcieReplyHeadType := set_PcieReplyHeadType(0, 0, 0, 0,
 signal nvmeRequestHead         : PcieRequestHeadType;
 signal nvmeReply1Head          : PcieReplyHeadType;
 signal reg_pci_command         : RegDataType := (others => '0');
+signal queue_pos               : unsigned(2 downto 0);                         -- Hardcoded for 8 queue entries
 signal reg_admin_queue         : RegDataType := (others => '0');
 signal reg_io1_queue           : RegDataType := (others => '0');
 signal reg_io2_queue           : RegDataType := (others => '0');
@@ -134,6 +135,7 @@ begin
                if(rising_edge(clk)) then
                        if(reset = '1') then
                                reg_pci_command <= (others => '0');
+                               queue_pos       <= (others => '0');
                                reg_admin_queue <= (others => '0');
                                reg_io1_queue   <= (others => '0');
                                reg_io2_queue   <= (others => '0');
@@ -169,14 +171,17 @@ begin
                                                        state <= STATE_REPLY;
                                                else 
                                                        if(hostRequestHead1.address = x"1000") then
+                                                               queue_pos       <= unsigned(hostReq.data(2 downto 0)) - 1;
                                                                reg_admin_queue <= hostReq.data(31 downto 0);
                                                                queue           <= 0;
                                                                state           <= STATE_READ_QUEUE_START;
                                                        elsif(hostRequestHead1.address = x"1008") then
+                                                               queue_pos       <= unsigned(hostReq.data(2 downto 0)) - 1;
                                                                reg_io1_queue   <= hostReq.data(31 downto 0);
                                                                queue           <= 1;
                                                                state           <= STATE_READ_QUEUE_START;
                                                        elsif(hostRequestHead1.address = x"1010") then
+                                                               queue_pos       <= unsigned(hostReq.data(2 downto 0)) - 1;
                                                                reg_io2_queue   <= hostReq.data(31 downto 0);
                                                                queue           <= 2;
                                                                state           <= STATE_READ_QUEUE_START;
@@ -222,7 +227,7 @@ begin
 
                                when STATE_READ_QUEUE_START =>
                                        -- Perform bus master read request for queue data
-                                       nvmeRequestHead.address <= x"020" & to_unsigned(queue, 4) & x"0000";
+                                       nvmeRequestHead.address <= x"020" & to_unsigned(queue, 4) & zeros(7) & queue_pos & zeros(6);
                                        nvmeRequestHead.tag     <= x"44";
                                        nvmeRequestHead.requesterId     <= to_unsigned(0, nvmeRequestHead.requesterId'length);
                                        nvmeRequestHead.request <= "0000";
@@ -267,6 +272,7 @@ begin
 
                                                        if(queue = 1) then
                                                                state           <= STATE_READ_DATA_START;
+                                                               --state         <= STATE_REPLY_QUEUE;           -- For testing, ignore actual reading of data across Pcie
                                                        elsif(queue = 2) then
                                                                state           <= STATE_READ_DATA_START;
                                                        else
@@ -300,8 +306,8 @@ begin
 
                                when STATE_READ_DATA_START =>
                                        -- Perform bus master read request for data to write to NVMe
-                                       -- Hardcoded to address 0x04000000
-                                       nvmeRequestHead.address <= to_unsigned(16#05000000#, nvmeRequestHead.address'length);
+                                       nvmeRequestHead.address <= unsigned(queueRequest(6));
+                                       --nvmeRequestHead.address       <= to_unsigned(16#05000000#, nvmeRequestHead.address'length);
                                        nvmeRequestHead.tag     <= x"44";
                                        nvmeRequestHead.request <= "0000";
                                        nvmeRequestHead.count   <= to_unsigned(NumWordsRead, nvmeRequestHead.count'length);                             -- Test size of 32 DWords
index bb1e855d08b5323666e6c5ec13959e1b47bff7a0..1dcc94c323d0c3892cd5d57a275a841931cbff37 100644 (file)
@@ -46,6 +46,7 @@ package NvmeStorageIntPkg is
        function log2(v: integer) return integer;
        function concat(v: std_logic; n: integer) return std_logic_vector;
        function zeros(n: integer) return std_logic_vector;
+       function zeros(n: integer) return unsigned;
        function ones(n: integer) return std_logic_vector;
        function truncate(v: unsigned; n: integer) return unsigned;
        function keepBits(numWords: unsigned) return std_logic_vector;
@@ -84,7 +85,7 @@ package NvmeStorageIntPkg is
        --! Nvme request queue entry
        type NvmeRequestHeadType is record
                opcode          : unsigned(15 downto 0);
-               id              : unsigned(15 downto 0);
+               cid             : unsigned(15 downto 0);
                namespace       : unsigned(31 downto 0);
                address         : unsigned(31 downto 0);
                cdw10           : unsigned(31 downto 0);
@@ -102,7 +103,7 @@ package NvmeStorageIntPkg is
                dw0             : unsigned(31 downto 0);
                sqptr           : unsigned(15 downto 0);
                sqid            : unsigned(15 downto 0);
-               cmd             : unsigned(15 downto 0);
+               cid             : unsigned(15 downto 0);
                status          : unsigned(14 downto 0);
        end record;
 
@@ -148,6 +149,11 @@ package body NvmeStorageIntPkg is
                return concat('0', n);
        end function;
 
+       function zeros(n: integer) return unsigned is
+       begin
+               return unsigned(concat('0', n));
+       end function;
+
        function ones(n: integer) return std_logic_vector is
        begin
                return concat('1', n);
@@ -254,6 +260,7 @@ package body NvmeStorageIntPkg is
 
        function to_stl(v: NvmeRequestHeadType; word: integer) return std_logic_vector is
        begin
+               --! *** Needs work ! ****
                return to_stl(0, 128);
        end function;
        
@@ -263,7 +270,7 @@ package body NvmeStorageIntPkg is
                ret.dw0 := unsigned(v(31 downto 0));
                ret.sqptr := unsigned(v(79 downto 64));
                ret.sqid := unsigned(v(95 downto 80));
-               ret.cmd := unsigned(v(111 downto 96));
+               ret.cid := unsigned(v(111 downto 96));
                ret.status := unsigned(v(127 downto 113));
                return ret;
        end;
index cc353e1d28a7dec6ee2e4a646cfce0d3209a8bba..8f340a0e26bf7c0ad3a0d22162d45090ec4784c6 100644 (file)
@@ -43,7 +43,8 @@ use work.NvmeStorageIntPkg.all;
 entity NvmeStorageUnit is
 generic(
        Simulate        : boolean       := False;               --! Generate simulation core
-       ClockPeriod     : time          := 8 ns                 --! Clock period for timers (125 MHz)
+       ClockPeriod     : time          := 8 ns;                --! Clock period for timers (125 MHz)
+       BlockSize       : integer       := NvmeStorageBlockSize --! System block size
 );
 port (
        clk             : in std_logic;                         --! The interface clock line
@@ -265,7 +266,8 @@ end component;
 
 component NvmeSim is
 generic(
-       Simulate        : boolean       := True
+       Simulate        : boolean := True;
+       BlockSize       : integer := BlockSize                  --! System block size
 );
 port (
        clk             : in std_logic;
@@ -296,7 +298,8 @@ end component;
 
 component NvmeWrite is
 generic(
-       Simulate        : boolean := Simulate                   --! Generate simulation core
+       Simulate        : boolean := Simulate;                  --! Generate simulation core
+       BlockSize       : integer := BlockSize                  --! System block size
 );
 port (
        clk             : in std_logic;                         --! The interface clock line
index 519df846cd9bb203e21f41bb27ad49aa54dbb1f1..826d7ea3fb8720df9840545cfc51168a8bcd22da 100644 (file)
@@ -40,7 +40,8 @@ use work.NvmeStorageIntPkg.all;
 
 entity NvmeWrite is
 generic(
-       Simulate        : boolean := False                      --! Generate simulation core
+       Simulate        : boolean := False;                     --! Generate simulation core
+       BlockSize       : integer := NvmeStorageBlockSize       --! System block size
 );
 port (
        clk             : in std_logic;                         --! The interface clock line
@@ -71,42 +72,78 @@ begin
 end function;
 
 constant TCQ           : time := 1 ns;
+constant SimDelay      : boolean := False;                     --! Input data delay after each packet for simulation tests
 --constant NumBlocksRun        : integer := 2;                         --! The total number of blocks in a run
 constant NumBlocksRun  : integer := 262144;                    --! The total number of blocks in a run
-constant NvmeBlocks    : integer := NvmeStorageBlockSize / 512;--! The number of Nvme blocks per NvmeStorage system block
 
-component DataFifo is
+constant NvmeBlocks    : integer := BlockSize / 512;           --! The number of Nvme blocks per NvmeStorage system block
+constant RamSize       : integer := (NvmeWriteQueueNum * BlockSize) / 16;      -- One block per write buffer
+constant AddressWidth  : integer := log2(RamSize);
+constant BlockSizeWidth        : integer := log2(BlockSize);
+
+component DataBuffer is
 generic(
        Simulate        : boolean := Simulate;                  --! Generate simulation core
-       FifoSize        : integer := NvmeStorageBlockSize/16    --! The Fifo size in 128 bit words
-       --FifoSize      : integer := 16                         --! The Fifo size for simple simulations
+       Size            : integer := RamSize;                   --! The Buffer size in 128 bit words
+       AddressWidth    : integer := AddressWidth
 );
 port (
        clk             : in std_logic;                         --! The interface clock line
        reset           : in std_logic;                         --! The active high reset line
 
-       full            : out std_logic;                        --! The fifo is full (Has Fifo size words)
-       empty           : out std_logic;                        --! The fifo is empty
+       writeEnable     : in std_logic;
+       writeAddress    : in unsigned(AddressWidth-1 downto 0); 
+       writeData       : in std_logic_vector(127 downto 0);    
 
-       dataIn          : inout AxisStreamType := AxisInput;    --! Input data stream
-       dataOut         : inout AxisStreamType := AxisOutput    --! Output data stream
+       readEnable      : in std_logic;
+       readAddress     : in unsigned(AddressWidth-1 downto 0); 
+       readData        : out std_logic_vector(127 downto 0)    
 );
 end component;
 
+--! Input buffer status
+type BufferType is record
+       inUse1          : std_logic;                            --! inUse1 and inUse2 are used to indicate buffer is in use when different
+       inUse2          : std_logic;
+       full            : std_logic;                            --! The buffer is full
+       process1        : std_logic;                            --! process1 and process2 are used to indicate buffer is being sent to Nvme
+       process2        : std_logic;
+       blockNumber     : unsigned(63 downto 0);                --! The first block number in the buffer
+end record;
+
+type BufferArrayType   is array (0 to NvmeWriteQueueNum-1) of BufferType;
+
+type InStateType       is (INSTATE_IDLE, INSTATE_INIT, INSTATE_CHOOSE, INSTATE_INPUT_BLOCK, INSTATE_DELAY);
 type StateType         is (STATE_IDLE, STATE_INIT, STATE_RUN, STATE_COMPLETE,
                                STATE_QUEUE_HEAD, STATE_QUEUE_0, STATE_QUEUE_1, STATE_QUEUE_2, STATE_QUEUE_3,
                                STATE_WAIT_REPLY);
-
 type ReplyStateType    is (REPLY_STATE_QUEUE_REPLY1, REPLY_STATE_QUEUE_REPLY2);
-signal replyState      : ReplyStateType := REPLY_STATE_QUEUE_REPLY1;
 
+signal inState         : InStateType := INSTATE_IDLE;
 signal state           : StateType := STATE_IDLE;
+signal replyState      : ReplyStateType := REPLY_STATE_QUEUE_REPLY1;
 
-signal fifo_full       : std_logic := '0';
-signal fifo_empty      : std_logic := '0';
-signal dataOut         : AxisStreamType;
 signal blockNumber     : unsigned(63 downto 0) := (others => '0');
+signal numIn           : integer := 0;
+signal num             : integer := 0;
+signal numReply                : integer := 0;
 
+
+-- Input buffers
+signal writeEnable     : std_logic := '0';
+signal writeAddress    : unsigned(AddressWidth-1 downto 0) := (others => '0');
+signal readEnable      : std_logic := '0';
+signal readAddress     : unsigned(AddressWidth-1 downto 0) := (others => '0');
+signal readData                : std_logic_vector(127 downto 0) := (others => '0');
+
+signal buffers         : BufferArrayType := (others => ('Z', 'Z', 'Z', 'Z', 'Z', (others => 'Z')));
+signal bufferInNum     : integer range 0 to NvmeWriteQueueNum-1 := 0;
+signal bufferInNumNext : integer range 0 to NvmeWriteQueueNum-1 := 0;
+signal bufferOutNum    : integer range 0 to NvmeWriteQueueNum-1 := 0;
+signal bufferOutNumNext        : integer range 0 to NvmeWriteQueueNum-1 := 0;
+
+
+-- Buffer read
 type MemStateType      is (MEMSTATE_IDLE, MEMSTATE_READHEAD, MEMSTATE_READDATA);
 signal memState                : MemStateType := MEMSTATE_IDLE;
 signal memRequestHead  : PcieRequestHeadType;
@@ -117,30 +154,136 @@ signal memCount          : unsigned(10 downto 0);                        -- DWord data send count
 signal memChunkCount   : unsigned(10 downto 0);                        -- DWord data send within a chunk count
 signal memData         : std_logic_vector(127 downto 0);
 
-signal num             : integer := 0;
-signal numReply                : integer := 0;
-signal cmdId           : unsigned(7 downto 0) := (others => '0');      -- The command Id
-
 -- Status information
 signal status          : unsigned(31 downto 0) := (others => '0');     -- The system status
 signal numBlocks       : unsigned(31 downto 0) := (others => '0');     -- The number of blocks written
 signal timeUs          : unsigned(31 downto 0) := (others => '0');     -- The time in us
 signal timeCounter     : integer range 0 to 125 := 0;
 
+function addPos(v: integer; a: integer) return integer is
+begin
+       if(v + a > NvmeWriteQueueNum-1) then
+               return v + a - NvmeWriteQueueNum;
+       else
+               return v + a;
+       end if;
+end;
+
+function bufferAddress(bufferNum: integer) return unsigned is
+begin
+       return to_unsigned(bufferNum, 3) & to_unsigned(0, AddressWidth-3);
+end;
+
+function pcieAddress(bufferNum: integer) return std_logic_vector is
+begin
+       return x"05" & zeros(32-8-3-(BlockSizeWidth)) & to_stl(bufferNum, 3) & zeros(BlockSizeWidth);
+end;
+
 begin
-       -- Input data FIFO's, one per WriteQueue entry. Just the one for now.
-       dataFifo0 : DataFifo
+       -- Input buffers in BlockRAM
+       dataBuffer0 : DataBuffer
        port map (
                clk             => clk,
                reset           => reset,
 
-               full            => fifo_full,
-               empty           => fifo_empty,
+               writeEnable     => writeEnable,
+               writeAddress    => writeAddress,
+               writeData       => dataIn.data,
 
-               dataIn          => dataIn,
-               dataOut         => dataOut
+               readEnable      => readEnable,
+               readAddress     => readAddress,
+               readData        => readData
        );
-       
+
+       -- Input data process. Accepts data from input stream and stores it into NvmeWriteQueueNum buffers
+       dataIn.ready <= writeEnable;
+
+       process(clk)
+       variable p: integer range 0 to NvmeWriteQueueNum-1;
+       variable c: integer;
+       begin
+               if(rising_edge(clk)) then
+                       if(reset = '1') then
+                               for i in 0 to NvmeWriteQueueNum-1 loop
+                                       buffers(i).inUse1 <= '0';
+                                       buffers(i).full <= '0';
+                                       buffers(i).blockNumber <= (others => '0');
+                               end loop;
+
+                               blockNumber     <= (others => '0');
+                               writeEnable     <= '0';
+                               numIn           <= 0;
+                               inState         <= INSTATE_IDLE;
+                       else
+                               case(inState) is
+                               when INSTATE_IDLE =>
+                                       if(enable = '1') then
+                                               inState <= INSTATE_INIT;
+                                       end if;
+
+                               when INSTATE_INIT =>
+                                       -- Initialise for next run
+                                       for i in 0 to NvmeWriteQueueNum-1 loop
+                                               buffers(i).inUse1 <= '0';
+                                               buffers(i).full <= '0';
+                                       end loop;
+
+                                       blockNumber     <= (others => '0');
+                                       writeEnable     <= '0';
+                                       numIn           <= 0;
+                                       inState         <= INSTATE_CHOOSE;
+
+                               when INSTATE_CHOOSE =>
+                                       if(enable = '1') then
+                                               -- Decide on which buffer to use based on inuse state.
+                                               for i in 0 to NvmeWriteQueueNum-1 loop
+                                                       p := addPos(bufferInNumNext, i);
+                                                       if(buffers(p).inUse1 = buffers(p).inUse2) then
+                                                               bufferInNum             <= p;
+                                                               bufferInNumNext         <= addPos(p, 1);
+                                                               buffers(p).blockNumber  <= blockNumber;
+                                                               buffers(p).full         <= '0';
+                                                               buffers(p).inUse1       <= not buffers(p).inUse2;
+                                                               writeAddress            <= bufferAddress(p);
+                                                               writeEnable             <= '1';
+                                                               numIn                   <= numIn + 1;
+                                                               inState                 <= INSTATE_INPUT_BLOCK;
+                                                               exit;
+                                                       end if;
+                                               end loop;
+                                       else
+                                               inState <= INSTATE_IDLE;
+                                       end if;
+
+                               when INSTATE_INPUT_BLOCK =>
+                                       -- Could check for buffer full status here ...
+                                       if((dataIn.valid = '1') and (dataIn.ready = '1')) then
+                                               if(dataIn.last = '1') then
+                                                       writeEnable                     <= '0';
+                                                       buffers(bufferInNum).full       <= '1';
+                                                       blockNumber                     <= blockNumber + NvmeBlocks;
+                                                       if(SimDelay) then
+                                                               c       := 400;
+                                                               inState <= INSTATE_DELAY;
+                                                       else
+                                                               inState <= INSTATE_CHOOSE;
+                                                       end if;
+                                               else
+                                                       writeAddress <= writeAddress + 1;
+                                               end if;
+                                       end if;
+
+                               when INSTATE_DELAY =>
+                                       c := c - 1;
+                                       if(numIn = numReply) then
+                                       --if(c = 0) then
+                                               inState                         <= INSTATE_CHOOSE;
+                                       end if;
+                               end case;
+                       end if;
+               end if;
+       end process;
+
        -- Regsiter access
        regData <= std_logic_vector(status) when(regAddress = 0)
                        else std_logic_vector(numBlocks) when(regAddress = 1)
@@ -148,19 +291,23 @@ begin
        
        nvmeReplyHead <= to_NvmeReplyHeadType(replyIn.data);
        
-       -- Process data input
+       -- Process data write. This takes the input buffers and sends a write request to the Nvme for each one that is full.
+       -- It waits for replices if there are more than NvmeWriteQueueNum-1 writes in progress.
        process(clk)
+       variable p: integer range 0 to NvmeWriteQueueNum-1;
        begin
                if(rising_edge(clk)) then
                        if(reset = '1') then
                                requestOut.valid        <= '0';
                                requestOut.last         <= '0';
                                requestOut.keep         <= (others => '1');
-                               blockNumber             <= (others => '0');
                                timeUs                  <= (others => '0');
                                timeCounter             <= 0;
+                               bufferOutNum            <= 0;
                                num                     <= 0;
-                               cmdId                   <= (others => '0');
+                               for i in 0 to NvmeWriteQueueNum-1 loop
+                                       buffers(i).process1 <= '0';
+                               end loop;
                                state                   <= STATE_IDLE;
                        else
                                case(state) is
@@ -171,22 +318,33 @@ begin
                                
                                when STATE_INIT =>
                                        -- Initialise for next run
-                                       blockNumber     <= (others => '0');
                                        timeUs          <= (others => '0');
                                        timeCounter     <= 0;
                                        num             <= 0;
-                                       cmdId           <= (others => '0');
+                                       for i in 0 to NvmeWriteQueueNum-1 loop
+                                               buffers(i).process1 <= '0';
+                                       end loop;
                                        state           <= STATE_RUN;
                                        
                                when STATE_RUN =>
                                        if(enable = '1') then
                                                if(num >= NumBlocksRun) then
                                                        state <= STATE_COMPLETE;
-
-                                               elsif(fifo_full = '1') then
-                                                       requestOut.data         <= setHeader(1, 16#02010000#, 16, 0);
-                                                       requestOut.valid        <= '1';
-                                                       state                   <= STATE_QUEUE_HEAD;
+                                               
+                                               else
+                                                       -- Decide on which buffer to output
+                                                       for i in 0 to NvmeWriteQueueNum-1 loop
+                                                               p := addPos(bufferOutNumNext, i);
+                                                               if((buffers(p).full = '1') and (buffers(p).inUse1 /= buffers(p).inUse2) and (buffers(p).process1 = buffers(p).process2)) then
+                                                                       buffers(p).process1     <= not buffers(p).process2;
+                                                                       bufferOutNum            <= p;
+                                                                       bufferOutNumNext        <= addPos(p, 1);
+                                                                       requestOut.data         <= setHeader(1, 16#02010000#, 16, 0);
+                                                                       requestOut.valid        <= '1';
+                                                                       state                   <= STATE_QUEUE_HEAD;
+                                                                       exit;
+                                                               end if;
+                                                       end loop;
                                                end if;
                                        else
                                                state <= STATE_COMPLETE;
@@ -199,20 +357,21 @@ begin
 
                                when STATE_QUEUE_HEAD =>
                                        if(requestOut.valid = '1' and requestOut.ready = '1') then
-                                               requestOut.data <= zeros(64) & x"00000001" & x"04" & to_stl(cmdId) & x"0001";   -- Namespace 1, From stream4, opcode 1
+                                               requestOut.data <= zeros(64) & x"00000001" & x"04" & to_stl(bufferOutNum, 8) & x"0001"; -- Namespace 1, From stream4, opcode 1
                                                state           <= STATE_QUEUE_0;
                                        end if;
 
                                when STATE_QUEUE_0 =>
                                        if(requestOut.valid = '1' and requestOut.ready = '1') then
-                                               requestOut.data <= zeros(32) & x"05000000" & zeros(64); -- Data source address
+                                               requestOut.data <= zeros(32) & pcieAddress(bufferOutNum) & zeros(64);
+                                               --requestOut.data       <= zeros(32) & x"05000000" & zeros(64); -- Data source address
                                                --requestOut.data       <= zeros(32) & x"01800000" & zeros(64); -- Data source address
                                                state           <= STATE_QUEUE_1;
                                        end if;
 
                                when STATE_QUEUE_1 =>
                                        if(requestOut.valid = '1' and requestOut.ready = '1') then
-                                               requestOut.data <= std_logic_vector(blockNumber) & zeros(64);
+                                               requestOut.data <= std_logic_vector(buffers(bufferOutNum).blockNumber) & zeros(64);
                                                state           <= STATE_QUEUE_2;
                                        end if;
 
@@ -220,6 +379,7 @@ begin
                                        if(requestOut.valid = '1' and requestOut.ready = '1') then
                                                requestOut.data <= zeros(96) & to_stl(NvmeBlocks-1, 32);        -- WriteMethod, NumBlocks (0 is 1 block)
                                                requestOut.last <= '1';
+                                               num             <= num + 1;
                                                state           <= STATE_QUEUE_3;
                                        end if;
 
@@ -227,10 +387,7 @@ begin
                                        if(requestOut.valid = '1' and requestOut.ready = '1') then
                                                requestOut.last         <= '0';
                                                requestOut.valid        <= '0';
-                                               blockNumber             <= blockNumber + NvmeBlocks;
-                                               num                     <= num + 1;
-                                               cmdId                   <= cmdId + 1;
-                                               if(num > numReply + 4) then
+                                               if(num > (numReply + 4)) then
                                                        state <= STATE_WAIT_REPLY;
                                                else
                                                        state <= STATE_RUN;
@@ -238,7 +395,7 @@ begin
                                        end if;
 
                                when STATE_WAIT_REPLY =>
-                                       if(num > numReply + 4) then
+                                       if(num > (numReply + 4)) then
                                                state <= STATE_WAIT_REPLY;
                                        else
                                                state <= STATE_RUN;
@@ -258,8 +415,9 @@ begin
                end if;
        end process;
        
-       -- Process replies
+       -- Process replies. This accepts Write request replies from the Nvme storing any errors and marking the buffer as free.
        process(clk)
+       variable p: integer range 0 to NvmeWriteQueueNum-1;
        begin
                if(rising_edge(clk)) then
                        if(reset = '1') then
@@ -267,6 +425,10 @@ begin
                                numBlocks               <= (others => '0');
                                status                  <= (others => '0');
                                numReply                <= 0;
+                               for i in 0 to NvmeWriteQueueNum-1 loop
+                                       buffers(i).inUse2       <= '0';
+                                       buffers(i).process2     <= '0';
+                               end loop;
                                replyState              <= REPLY_STATE_QUEUE_REPLY1;
                        else
                                case(replyState) is
@@ -290,6 +452,10 @@ begin
                                                status(31 downto 16)    <= status(31 downto 16) + 1;
                                                numBlocks               <= numBlocks + 1;
                                                numReply                <= numReply + 1;
+                                               p                       := to_integer(nvmeReplyHead.cid(2 downto 0));
+                                               buffers(p).inUse2       <= buffers(p).inUse1;
+                                               buffers(p).process2     <= buffers(p).process1;
+
                                                replyState              <= REPLY_STATE_QUEUE_REPLY1;
                                        end if;
                                
@@ -299,10 +465,12 @@ begin
        end process;
        
        -- Process Nvme read data requests
-       dataOut.ready <= memReplyOut.ready and not memReplyOut.last when((memState = MEMSTATE_READHEAD) or (memState = MEMSTATE_READDATA)) else '0';
+       -- The processes Nvme Pcie memory read requests for the data buffers memory.
+       readEnable <= '1';
+       -- readEnable <= memReplyOut.ready and not memReplyOut.last when((memState = MEMSTATE_READHEAD) or (memState = MEMSTATE_READDATA)) else '0';
        memRequestHead  <= to_PcieRequestHeadType(memReqIn.data);
-       memReplyOut.data <= dataOut.data(31 downto 0) & to_stl(memReplyHead) when(memState = MEMSTATE_READHEAD)
-               else dataOut.data(31 downto 0) & memData(127 downto 32);
+       memReplyOut.data <= memData(31 downto 0) & to_stl(memReplyHead) when(memState = MEMSTATE_READHEAD)
+               else readData(31 downto 0) & memData(127 downto 32);
 
        process(clk)
        begin
@@ -318,6 +486,7 @@ begin
                                                memCount        <= memRequestHead.count;
 
                                                if(memRequestHead.request = 0) then
+                                                       readAddress     <= memRequestHead.address(AddressWidth+3 downto 4);
                                                        memReqIn.ready  <= '0';
                                                        memState        <= MEMSTATE_READHEAD;
                                                end if;
@@ -326,7 +495,7 @@ begin
                                        end if;
 
                                when MEMSTATE_READHEAD =>
-                                       if(dataOut.valid = '1') then
+                                       if(memReplyOut.valid = '0') then
                                                memReplyHead.byteCount          <= memCount & "00";
                                                memReplyHead.address            <= memRequestHead1.address(memReplyHead.address'length - 1 downto 0);
                                                memReplyHead.error              <= (others => '0');
@@ -342,19 +511,21 @@ begin
                                                        memChunkCount           <= memCount;
                                                end if;
 
-                                               memData                 <= dataOut.data;
-                                               memReplyOut.keep        <= (others => '1');
                                                memReplyOut.valid       <= '1';
+                                               memData                 <= readData;
+                                               readAddress             <= readAddress + 1;
+                                       else
+                                               memReplyOut.keep        <= (others => '1');
 
                                                if(memReplyOut.ready = '1' and memReplyOut.valid = '1') then
+                                                       readAddress     <= readAddress + 1;
                                                        memState        <= MEMSTATE_READDATA;
                                                end if;
                                        end if;
                                
                                when MEMSTATE_READDATA =>
                                        if(memReplyOut.ready = '1' and memReplyOut.valid = '1') then
-                                               -- Should we also check dataOut.valid ?
-                                               memData         <= dataOut.data;
+                                               memData         <= readData;
 
                                                if(memChunkCount = 4) then
                                                        if(memCount = 4) then
@@ -372,7 +543,8 @@ begin
                                                        memReplyOut.last <= '1';
 
                                                else
-                                                       memReplyOut.last <= '0';
+                                                       readAddress             <= readAddress + 1;
+                                                       memReplyOut.last        <= '0';
                                                end if;
 
                                                memChunkCount           <= memChunkCount - 4;
diff --git a/source/DuneNvme/src/NvmeWriteBasic.vhd b/source/DuneNvme/src/NvmeWriteBasic.vhd
new file mode 100644 (file)
index 0000000..1afe170
--- /dev/null
@@ -0,0 +1,387 @@
+--------------------------------------------------------------------------------
+--     NvmeWrite.vhd Nvme Write data module
+--     T.Barnaby, Beam Ltd. 2020-02-28
+-------------------------------------------------------------------------------
+--!
+--! @class     NvmeWrite
+--! @author    Terry Barnaby (terry.barnaby@beam.ltd.uk)
+--! @date      2020-04-14
+--! @version   0.0.1
+--!
+--! @brief
+--! This module performs the Nvme write data functionality.
+--!
+--! @details
+--! TBD.
+--!
+--! @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 unisim;
+use unisim.vcomponents.all;
+
+library work;
+use work.NvmeStoragePkg.all;
+use work.NvmeStorageIntPkg.all;
+
+entity NvmeWrite is
+generic(
+       Simulate        : boolean := False                      --! Generate simulation core
+);
+port (
+       clk             : in std_logic;                         --! The interface clock line
+       reset           : in std_logic;                         --! The active high reset line
+
+       enable          : in std_logic;                         --! Enable the data writing process
+       dataIn          : inout AxisStreamType := AxisInput;    --! Raw data to save stream
+
+       -- To Nvme Request/reply streams
+       requestOut      : inout AxisStreamType := AxisOutput;   --! To Nvme request stream (3)
+       replyIn         : inout AxisStreamType := AxisInput;    --! from Nvme reply stream
+
+       -- From Nvme Request/reply streams
+       memReqIn        : inout AxisStreamType := AxisInput;    --! From Nvme request stream (4)
+       memReplyOut     : inout AxisStreamType := AxisOutput;   --! To Nvme reply stream
+       
+       regAddress      : in unsigned(1 downto 0);              --! Status register to read
+       regData         : out std_logic_vector(31 downto 0)     --! Status register contents
+);
+end;
+
+architecture Behavioral of NvmeWrite is
+
+--! Set the fields in the PCIe TLP header
+function setHeader(request: integer; address: integer; count: integer; tag: integer) return std_logic_vector is
+begin
+       return to_stl(set_PcieRequestHeadType(3, request, address, count, tag));
+end function;
+
+constant TCQ           : time := 1 ns;
+--constant NumBlocksRun        : integer := 2;                         --! The total number of blocks in a run
+constant NumBlocksRun  : integer := 262144;                    --! The total number of blocks in a run
+constant NvmeBlocks    : integer := NvmeStorageBlockSize / 512;--! The number of Nvme blocks per NvmeStorage system block
+
+component DataFifo is
+generic(
+       Simulate        : boolean := Simulate;                  --! Generate simulation core
+       FifoSize        : integer := NvmeStorageBlockSize/16    --! The Fifo size in 128 bit words
+       --FifoSize      : integer := 16                         --! The Fifo size for simple simulations
+);
+port (
+       clk             : in std_logic;                         --! The interface clock line
+       reset           : in std_logic;                         --! The active high reset line
+
+       full            : out std_logic;                        --! The fifo is full (Has Fifo size words)
+       empty           : out std_logic;                        --! The fifo is empty
+
+       dataIn          : inout AxisStreamType := AxisInput;    --! Input data stream
+       dataOut         : inout AxisStreamType := AxisOutput    --! Output data stream
+);
+end component;
+
+type StateType         is (STATE_IDLE, STATE_INIT, STATE_RUN, STATE_COMPLETE,
+                               STATE_QUEUE_HEAD, STATE_QUEUE_0, STATE_QUEUE_1, STATE_QUEUE_2, STATE_QUEUE_3,
+                               STATE_WAIT_REPLY);
+
+type ReplyStateType    is (REPLY_STATE_QUEUE_REPLY1, REPLY_STATE_QUEUE_REPLY2);
+signal replyState      : ReplyStateType := REPLY_STATE_QUEUE_REPLY1;
+
+signal state           : StateType := STATE_IDLE;
+
+signal fifo_full       : std_logic := '0';
+signal fifo_empty      : std_logic := '0';
+signal dataOut         : AxisStreamType;
+signal blockNumber     : unsigned(63 downto 0) := (others => '0');
+
+type MemStateType      is (MEMSTATE_IDLE, MEMSTATE_READHEAD, MEMSTATE_READDATA);
+signal memState                : MemStateType := MEMSTATE_IDLE;
+signal memRequestHead  : PcieRequestHeadType;
+signal memRequestHead1 : PcieRequestHeadType;
+signal memReplyHead    : PcieReplyHeadType;
+signal nvmeReplyHead   : NvmeReplyHeadType;
+signal memCount                : unsigned(10 downto 0);                        -- DWord data send count
+signal memChunkCount   : unsigned(10 downto 0);                        -- DWord data send within a chunk count
+signal memData         : std_logic_vector(127 downto 0);
+
+signal num             : integer := 0;
+signal numReply                : integer := 0;
+signal cmdId           : unsigned(7 downto 0) := (others => '0');      -- The command Id
+
+-- Status information
+signal status          : unsigned(31 downto 0) := (others => '0');     -- The system status
+signal numBlocks       : unsigned(31 downto 0) := (others => '0');     -- The number of blocks written
+signal timeUs          : unsigned(31 downto 0) := (others => '0');     -- The time in us
+signal timeCounter     : integer range 0 to 125 := 0;
+
+begin
+       -- Input data FIFO's, one per WriteQueue entry. Just the one for now.
+       dataFifo0 : DataFifo
+       port map (
+               clk             => clk,
+               reset           => reset,
+
+               full            => fifo_full,
+               empty           => fifo_empty,
+
+               dataIn          => dataIn,
+               dataOut         => dataOut
+       );
+       
+       -- Regsiter access
+       regData <= std_logic_vector(status) when(regAddress = 0)
+                       else std_logic_vector(numBlocks) when(regAddress = 1)
+                       else std_logic_vector(timeUs);
+       
+       nvmeReplyHead <= to_NvmeReplyHeadType(replyIn.data);
+       
+       -- Process data input
+       process(clk)
+       begin
+               if(rising_edge(clk)) then
+                       if(reset = '1') then
+                               requestOut.valid        <= '0';
+                               requestOut.last         <= '0';
+                               requestOut.keep         <= (others => '1');
+                               blockNumber             <= (others => '0');
+                               timeUs                  <= (others => '0');
+                               timeCounter             <= 0;
+                               num                     <= 0;
+                               cmdId                   <= (others => '0');
+                               state                   <= STATE_IDLE;
+                       else
+                               case(state) is
+                               when STATE_IDLE =>
+                                       if(enable = '1') then
+                                               state <= STATE_INIT;
+                                       end if;
+                               
+                               when STATE_INIT =>
+                                       -- Initialise for next run
+                                       blockNumber     <= (others => '0');
+                                       timeUs          <= (others => '0');
+                                       timeCounter     <= 0;
+                                       num             <= 0;
+                                       cmdId           <= (others => '0');
+                                       state           <= STATE_RUN;
+                                       
+                               when STATE_RUN =>
+                                       if(enable = '1') then
+                                               if(num >= NumBlocksRun) then
+                                                       state <= STATE_COMPLETE;
+
+                                               elsif(fifo_full = '1') then
+                                                       requestOut.data         <= setHeader(1, 16#02010000#, 16, 0);
+                                                       requestOut.valid        <= '1';
+                                                       state                   <= STATE_QUEUE_HEAD;
+                                               end if;
+                                       else
+                                               state <= STATE_COMPLETE;
+                                       end if;
+                               
+                               when STATE_COMPLETE =>
+                                       if(enable = '0') then
+                                               state <= STATE_IDLE;
+                                       end if;
+
+                               when STATE_QUEUE_HEAD =>
+                                       if(requestOut.valid = '1' and requestOut.ready = '1') then
+                                               requestOut.data <= zeros(64) & x"00000001" & x"04" & to_stl(cmdId) & x"0001";   -- Namespace 1, From stream4, opcode 1
+                                               state           <= STATE_QUEUE_0;
+                                       end if;
+
+                               when STATE_QUEUE_0 =>
+                                       if(requestOut.valid = '1' and requestOut.ready = '1') then
+                                               requestOut.data <= zeros(32) & x"05000000" & zeros(64); -- Data source address
+                                               --requestOut.data       <= zeros(32) & x"01800000" & zeros(64); -- Data source address
+                                               state           <= STATE_QUEUE_1;
+                                       end if;
+
+                               when STATE_QUEUE_1 =>
+                                       if(requestOut.valid = '1' and requestOut.ready = '1') then
+                                               requestOut.data <= std_logic_vector(blockNumber) & zeros(64);
+                                               state           <= STATE_QUEUE_2;
+                                       end if;
+
+                               when STATE_QUEUE_2 =>
+                                       if(requestOut.valid = '1' and requestOut.ready = '1') then
+                                               requestOut.data <= zeros(96) & to_stl(NvmeBlocks-1, 32);        -- WriteMethod, NumBlocks (0 is 1 block)
+                                               requestOut.last <= '1';
+                                               state           <= STATE_QUEUE_3;
+                                       end if;
+
+                               when STATE_QUEUE_3 =>
+                                       if(requestOut.valid = '1' and requestOut.ready = '1') then
+                                               requestOut.last         <= '0';
+                                               requestOut.valid        <= '0';
+                                               blockNumber             <= blockNumber + NvmeBlocks;
+                                               num                     <= num + 1;
+                                               cmdId                   <= cmdId + 1;
+                                               if(num >= numReply + 4) then
+                                                       state <= STATE_WAIT_REPLY;
+                                               else
+                                                       state <= STATE_RUN;
+                                               end if;
+                                       end if;
+
+                               when STATE_WAIT_REPLY =>
+                                       if(num >= numReply + 4) then
+                                               state <= STATE_WAIT_REPLY;
+                                       else
+                                               state <= STATE_RUN;
+                                       end if;
+
+                               end case;
+                               
+                               if(timeCounter = 125) then
+                                       if(state /= STATE_COMPLETE) then
+                                               timeUs <= timeUs + 1;
+                                       end if;
+                                       timeCounter <= 0;
+                               else
+                                       timeCounter <= timeCounter + 1;
+                               end if;
+                       end if;
+               end if;
+       end process;
+       
+       -- Process replies
+       process(clk)
+       begin
+               if(rising_edge(clk)) then
+                       if(reset = '1') then
+                               replyIn.ready           <= '1';
+                               numBlocks               <= (others => '0');
+                               status                  <= (others => '0');
+                               numReply                <= 0;
+                               replyState              <= REPLY_STATE_QUEUE_REPLY1;
+                       else
+                               case(replyState) is
+                               when REPLY_STATE_QUEUE_REPLY1 =>
+                                       if(state = STATE_INIT) then
+                                               numBlocks       <= (others => '0');
+                                               status          <= (others => '0');
+                                               numReply        <= 0;
+                                       end if;
+                                       
+                                       if(replyIn.valid = '1' and replyIn.ready = '1') then
+                                               replyState <= REPLY_STATE_QUEUE_REPLY2;
+                                       end if;
+
+                               when REPLY_STATE_QUEUE_REPLY2 =>
+                                       if(replyIn.valid = '1' and replyIn.ready = '1') then
+                                               if(status = 0) then
+                                                       status(15 downto 0) <= '0' & nvmeReplyHead.status;
+                                               end if;
+
+                                               status(31 downto 16)    <= status(31 downto 16) + 1;
+                                               numBlocks               <= numBlocks + 1;
+                                               numReply                <= numReply + 1;
+                                               replyState              <= REPLY_STATE_QUEUE_REPLY1;
+                                       end if;
+                               
+                               end case;
+                       end if;
+               end if;
+       end process;
+       
+       -- Process Nvme read data requests
+       dataOut.ready <= memReplyOut.ready and not memReplyOut.last when((memState = MEMSTATE_READHEAD) or (memState = MEMSTATE_READDATA)) else '0';
+       memRequestHead  <= to_PcieRequestHeadType(memReqIn.data);
+       memReplyOut.data <= dataOut.data(31 downto 0) & to_stl(memReplyHead) when(memState = MEMSTATE_READHEAD)
+               else dataOut.data(31 downto 0) & memData(127 downto 32);
+
+       process(clk)
+       begin
+               if(rising_edge(clk)) then
+                       if(reset = '1') then
+                               memReqIn.ready  <= '0';
+                               memState        <= MEMSTATE_IDLE;
+                       else
+                               case(MEMSTATE) is
+                               when MEMSTATE_IDLE =>
+                                       if((memReqIn.ready = '1') and (memReqIn.valid = '1')) then
+                                               memRequestHead1 <= memRequestHead;
+                                               memCount        <= memRequestHead.count;
+
+                                               if(memRequestHead.request = 0) then
+                                                       memReqIn.ready  <= '0';
+                                                       memState        <= MEMSTATE_READHEAD;
+                                               end if;
+                                       else
+                                               memReqIn.ready <= '1';
+                                       end if;
+
+                               when MEMSTATE_READHEAD =>
+                                       if(dataOut.valid = '1') then
+                                               memReplyHead.byteCount          <= memCount & "00";
+                                               memReplyHead.address            <= memRequestHead1.address(memReplyHead.address'length - 1 downto 0);
+                                               memReplyHead.error              <= (others => '0');
+                                               memReplyHead.status             <= (others => '0');
+                                               memReplyHead.tag                <= memRequestHead1.tag;
+                                               memReplyHead.requesterId        <= memRequestHead1.requesterId;
+
+                                               if(memCount > PcieMaxPayloadSize) then
+                                                       memReplyHead.count      <= to_unsigned(PcieMaxPayloadSize, memReplyHead.count'length);
+                                                       memChunkCount           <= to_unsigned(PcieMaxPayloadSize, memReplyHead.count'length);
+                                               else
+                                                       memReplyHead.count      <= memCount;
+                                                       memChunkCount           <= memCount;
+                                               end if;
+
+                                               memData                 <= dataOut.data;
+                                               memReplyOut.keep        <= (others => '1');
+                                               memReplyOut.valid       <= '1';
+
+                                               if(memReplyOut.ready = '1' and memReplyOut.valid = '1') then
+                                                       memState        <= MEMSTATE_READDATA;
+                                               end if;
+                                       end if;
+                               
+                               when MEMSTATE_READDATA =>
+                                       if(memReplyOut.ready = '1' and memReplyOut.valid = '1') then
+                                               -- Should we also check dataOut.valid ?
+                                               memData         <= dataOut.data;
+
+                                               if(memChunkCount = 4) then
+                                                       if(memCount = 4) then
+                                                               memReplyOut.last        <= '0';
+                                                               memReplyOut.valid       <= '0';
+                                                               memState                <= MEMSTATE_IDLE;
+                                                       else
+                                                               memReplyOut.last        <= '0';
+                                                               memReplyOut.valid       <= '0';
+                                                               memState                <= MEMSTATE_READHEAD;
+                                                       end if;
+
+                                               elsif(memChunkCount = 8) then
+                                                       memReplyOut.keep <= zeros(4) & ones(12);
+                                                       memReplyOut.last <= '1';
+
+                                               else
+                                                       memReplyOut.last <= '0';
+                                               end if;
+
+                                               memChunkCount           <= memChunkCount - 4;
+                                               memCount                <= memCount - 4;
+                                               memRequestHead1.address <= memRequestHead1.address + 16;
+                                       end if;
+
+                               end case;
+                       end if;
+               end if;
+       end process;
+end;
index 47e5f83ce9f53d83bae33ccc2180e275b094f94a..16dcb52e26e776a1000085b9c71cb78e63312d2c 100644 (file)
@@ -41,7 +41,7 @@ use work.NvmeStorageIntPkg.all;
 
 entity TestData is
 generic(
-       BlockSize       : integer := 4096                       --! The block size in Bytes.
+       BlockSize       : integer := NvmeStorageBlockSize       --! The block size in Bytes.
 );
 port (
        clk             : in std_logic;                         --! The interface clock line
index 5c8aa11e0392936b27a2e3cad3b591b1f7e49033..fc52940cda52ead94ed3783c33f6bccbd747e7b6 100644 (file)
@@ -11,7 +11,7 @@ obj-m := bfpga.o
 
 TARGET                 = 
 KERNELVERSION          ?= $(shell uname -r)
-KERNELVERSION          ?= 5.5.15-200.fc31.x86_64
+#KERNELVERSION         ?= 5.5.15-200.fc31.x86_64
 
 ifeq ("$(TARGET)", "")
 DEST_DIR               =
index 330d9a9b2d24caaf1c4b4ae3f5aab1945b0f8248..be08fbb840665b6a81112a0c2fd05732901e61ed 100644 (file)
@@ -607,7 +607,7 @@ static int map_region(struct pci_dev* pdev, int region, MemMap* map){
        }
 
        dl1printk("map_region: %d address: %llx len: %d\n", region, map->physAddress, map->len);
-       map->address = ioremap_nocache(map->physAddress, map->len);
+       map->address = ioremap(map->physAddress, map->len);
        if(!map->address){
                printk(KERN_ERR NAME_PREFIX "Cannot map PCI Region: %d Address: 0x%llx: Len: %u\n", region, map->physAddress, map->len);
                release_mem_region(map->physAddress, map->len);
index 154dc3ced76127698b184acc71765cc209975aac..3c970b26a1e993e0d9fcf3a8e87eab751e6950fb 100644 (file)
@@ -66,6 +66,7 @@ public:
        int             test5();                                ///< Run test5
        int             test6();                                ///< Run test6
        int             test7();                                ///< Run test7
+       int             test8();                                ///< Run test8
 
        int             test_misc();                            ///< Collection of misc tests
 
@@ -382,7 +383,7 @@ int Control::test6(){
        printf("\nStart NvmeWrite engine\n");
        writeNvmeStorageReg(4, 0x00000004);
 
-#ifdef ZAP     
+#ifndef ZAP    
        ts = getTime();
        n = 0;
        while(n != 262144){
@@ -445,6 +446,37 @@ int Control::test7(){
        return 0;
 }
 
+int Control::test8(){
+       int     e;
+       int     a;
+       BUInt32 v;
+       BUInt32 i;
+       int     n;
+       int     numBlocks = 1000;
+       
+       printf("Test8: Validate 4k blocks\n");
+       
+       if(e = configureNvme())
+               return e;
+
+       v = 0;
+       for(n = 0; n < numBlocks; n++){
+               printf("Test Block: %u\n", n);
+               memset(odataBlockMem, 0x01, sizeof(odataBlockMem));
+               nvmeRequest(1, 0x02, 0x01800000, n * 8, 0x00000000, 7); // Perform read
+               usleep(100000);
+
+               for(a = 0; a < 4096 / 4; a++, v++){
+                       if(odataBlockMem[a] != v){
+                               printf("Error in Block: %u\n", n);
+                               bhd32a(odataBlockMem, 8*512/4);
+                               exit(1);
+                       }
+               }
+       }
+       
+       return 0;
+}
 
 int Control::test_misc(){
        BUInt32 address = 0;
@@ -590,6 +622,9 @@ int main(int argc, char** argv){
                else if(!strcmp(test, "test7")){
                        err = control.test7();
                }
+               else if(!strcmp(test, "test8")){
+                       err = control.test8();
+               }
                else if(!strcmp(test, "test_misc")){
                        err = control.test_misc();
                }
index e5292d403b57339fbc2baf7b6cca861bc2d58fae..4e29ccb4121f5c7929f96abc04a33be28a9b457a 100644 (file)
@@ -30,6 +30,7 @@ SYN_FILES     += ../src/NvmeStorageUnit.vhd
 SYN_FILES      += ../src/DuneNvmeTestTop.vhd
 SYN_FILES      += ../src/TestData.vhd ../src/DataFifo.vhd ../src/NvmeWrite.vhd
 SYN_FILES      += ../src/NvmeSim.vhd
+SYN_FILES      += ../src/DataBuffer.vhd
 
 # IP cores
 XCI_FILES      = ../src/ip/Clk_core.xci
@@ -37,9 +38,9 @@ XCI_FILES     += ../src/ip/Pcie_host.xci
 XCI_FILES      += ../src/ip/Axil_clock_converter.xci
 XCI_FILES      += ../src/ip/Axis_clock_converter.xci
 XCI_FILES      += ../src/ip/Pcie_nvme0.xci
-XCI_FILES      += ../src/ip/Fifo32k.xci
-XCI_FILES      += ../src/ip/Fifo4k.xci
-XCI_FILES      += ../src/ip/blk_mem_gen_0.xci
+#XCI_FILES     += ../src/ip/Fifo32k.xci
+#XCI_FILES     += ../src/ip/Fifo4k.xci
+#XCI_FILES     += ../src/ip/blk_mem_gen_0.xci
 
 # XDC files
 XDC_FILES      = ../src/DuneNvmeTestTop.xdc