DuneNvme.git
2 weeks agoUpdates for first release 1.0.0. master release-1.0.0
Terry Barnaby [Tue, 16 Jun 2020 10:32:19 +0000 (11:32 +0100)]
Updates for first release 1.0.0.

2 weeks agoOspero board support updates.
Terry Barnaby [Tue, 16 Jun 2020 07:23:16 +0000 (08:23 +0100)]
Ospero board support updates.
NvmeWrite: Added complete status bit to status register.

3 weeks agoDocumentation updates.
Terry Barnaby [Sun, 14 Jun 2020 08:24:22 +0000 (09:24 +0100)]
Documentation updates.

3 weeks agoRelease notes added.
Terry Barnaby [Sun, 14 Jun 2020 08:21:26 +0000 (09:21 +0100)]
Release notes added.

3 weeks agoDocumentation updates.
Terry Barnaby [Sun, 14 Jun 2020 08:00:06 +0000 (09:00 +0100)]
Documentation updates.

3 weeks agoBuild system changes for multiple FPGA targets.
Terry Barnaby [Sun, 14 Jun 2020 07:46:32 +0000 (08:46 +0100)]
Build system changes for multiple FPGA targets.
Build system changes for release.

3 weeks agoDocumentation updates.
Terry Barnaby [Sat, 13 Jun 2020 09:07:32 +0000 (10:07 +0100)]
Documentation updates.

3 weeks agoAdded support for the Ospero OP47 NVMe board. This is untested as yet.
Terry Barnaby [Sat, 13 Jun 2020 08:37:43 +0000 (09:37 +0100)]
Added support for the Ospero OP47 NVMe board. This is untested as yet.
Test software: Improvements and script changes for testing Samsung 570 Pro.

3 weeks agoTest software: Added DataSet management trim and info commands and scripts for deallo...
Terry Barnaby [Sat, 13 Jun 2020 05:07:33 +0000 (06:07 +0100)]
Test software: Added DataSet management trim and info commands and scripts for deallocate performance testing.

3 weeks agoNvmeStorage: Fixed an issue that caused registers to be read wrong occassionaly.
Terry Barnaby [Wed, 10 Jun 2020 15:15:33 +0000 (16:15 +0100)]
NvmeStorage: Fixed an issue that caused registers to be read wrong occassionaly.
Test: Added extra performance testing code including deallocate performance.

3 weeks agoDocumentation updates.
Terry Barnaby [Wed, 10 Jun 2020 10:41:16 +0000 (11:41 +0100)]
Documentation updates.

3 weeks agoDoucmnetation updates.
Terry Barnaby [Wed, 10 Jun 2020 07:48:04 +0000 (08:48 +0100)]
Doucmnetation updates.
Default parameter update.

3 weeks agoDocumentation updates.
Terry Barnaby [Wed, 10 Jun 2020 07:35:52 +0000 (08:35 +0100)]
Documentation updates.

3 weeks agoDoucumentation updates.
Terry Barnaby [Wed, 10 Jun 2020 06:34:13 +0000 (07:34 +0100)]
Doucumentation updates.

3 weeks agoCode tidy ups.
Terry Barnaby [Wed, 10 Jun 2020 05:15:20 +0000 (06:15 +0100)]
Code tidy ups.

3 weeks agoTest software additions.
Terry Barnaby [Tue, 9 Jun 2020 18:40:50 +0000 (19:40 +0100)]
Test software additions.
Fixed an issue where the first 512 Byte block had incorrect data if a new capture was started without a reset.

3 weeks agoFifo: Use BlockRAM implementation for portability.
Terry Barnaby [Tue, 9 Jun 2020 15:16:38 +0000 (16:16 +0100)]
Fifo: Use BlockRAM implementation for portability.
Fixes for continuous operation.
Test: Improvements to test software.

4 weeks agoOccassionaly blocks were being divered to the incorrect Nvme. Fixed.
Terry Barnaby [Sun, 7 Jun 2020 06:26:12 +0000 (07:26 +0100)]
Occassionaly blocks were being divered to the incorrect Nvme. Fixed.

4 weeks agoSet default available blocks to 400G.
Terry Barnaby [Sat, 6 Jun 2020 10:05:36 +0000 (11:05 +0100)]
Set default available blocks to 400G.
Test software added captureRepeat test.
Code tidy ups.

4 weeks agoFifo updated to more recent version to allow use of BlockRAM/FIFO hard blocks.
Terry Barnaby [Sat, 6 Jun 2020 09:01:33 +0000 (10:01 +0100)]
Fifo updated to more recent version to allow use of BlockRAM/FIFO hard blocks.

4 weeks agoNvmeConfig: Updated to use latest NvmeQueue engine.
Terry Barnaby [Sat, 6 Jun 2020 07:27:06 +0000 (08:27 +0100)]
NvmeConfig: Updated to use latest NvmeQueue engine.
Test software updated for latest nvmeConfig.

4 weeks agoNvmeRead: Initial basic bandwidth management support. Currently stops reads while...
Terry Barnaby [Fri, 5 Jun 2020 14:11:08 +0000 (15:11 +0100)]
NvmeRead: Initial basic bandwidth management support. Currently stops reads while writes happening.

4 weeks agoTest software: Added file write.
Terry Barnaby [Fri, 5 Jun 2020 12:40:26 +0000 (13:40 +0100)]
Test software: Added file write.

4 weeks agoDocumentation updates.
Terry Barnaby [Fri, 5 Jun 2020 12:26:46 +0000 (13:26 +0100)]
Documentation updates.

4 weeks agoDocumentation updates.
Terry Barnaby [Fri, 5 Jun 2020 12:25:32 +0000 (13:25 +0100)]
Documentation updates.

4 weeks agoImprovements to test software. Includes a tidy up, better comments and new captureAnd...
Terry Barnaby [Fri, 5 Jun 2020 10:48:18 +0000 (11:48 +0100)]
Improvements to test software. Includes a tidy up, better comments and new captureAndRead test.

4 weeks agoAdded Fifo.vhd as it was missing from git.
Terry Barnaby [Fri, 5 Jun 2020 05:31:33 +0000 (06:31 +0100)]
Added Fifo.vhd as it was missing from git.

4 weeks agoNvmwWrite: Fixed an ocassional data value write error within a packet.
Terry Barnaby [Fri, 5 Jun 2020 04:43:48 +0000 (05:43 +0100)]
NvmwWrite: Fixed an ocassional data value write error within a packet.
Test software improved.
bfpga driver improvements.

4 weeks agoNvmeStreamMux: Improvements.
Terry Barnaby [Tue, 2 Jun 2020 08:05:52 +0000 (09:05 +0100)]
NvmeStreamMux: Improvements.
Large modifications to test software.

4 weeks agoVersion update to 1.0.0 was premature.
Terry Barnaby [Mon, 1 Jun 2020 08:22:00 +0000 (09:22 +0100)]
Version update to 1.0.0 was premature.

4 weeks agoDocumentation updates in VHDL.
Terry Barnaby [Mon, 1 Jun 2020 08:16:27 +0000 (09:16 +0100)]
Documentation updates in VHDL.
Improved PcieStreamMux implementation.

5 weeks agobfpga device driver performance imporvements.
Terry Barnaby [Fri, 29 May 2020 17:09:21 +0000 (18:09 +0100)]
bfpga device driver performance imporvements.

5 weeks agoMore timing constraints tidy ups.
Terry Barnaby [Wed, 27 May 2020 16:28:06 +0000 (17:28 +0100)]
More timing constraints tidy ups.

5 weeks agoTiming and CDC improvements.
Terry Barnaby [Wed, 27 May 2020 16:09:18 +0000 (17:09 +0100)]
Timing and CDC improvements.

5 weeks agoMove to 250 Mhz by default.
Terry Barnaby [Wed, 27 May 2020 10:38:26 +0000 (11:38 +0100)]
Move to 250 Mhz by default.
Fix pcie_nvme[01] timing issues (Use registered PcieStreamMux)
Fix peakLatency timing issue.
Add max number of blocks to capture bound.
Move Nvme parameters to generics of NvmeStorage.
Tidy up timing constraints (more needed).

5 weeks agoMove to 250 MHz operation and improve timing.
Terry Barnaby [Tue, 26 May 2020 05:28:18 +0000 (06:28 +0100)]
Move to 250 MHz operation and improve timing.

6 weeks agoDocumentation updates.
Terry Barnaby [Fri, 22 May 2020 07:46:36 +0000 (08:46 +0100)]
Documentation updates.

6 weeks agoDocumentation updates.
Terry Barnaby [Fri, 22 May 2020 07:30:50 +0000 (08:30 +0100)]
Documentation updates.

6 weeks agoDocumentation updates.
Terry Barnaby [Thu, 21 May 2020 15:05:41 +0000 (16:05 +0100)]
Documentation updates.

6 weeks agoDocumentation updates.
Terry Barnaby [Thu, 21 May 2020 13:44:44 +0000 (14:44 +0100)]
Documentation updates.

6 weeks agoDocumentation changes.
Terry Barnaby [Thu, 21 May 2020 11:47:18 +0000 (12:47 +0100)]
Documentation changes.

6 weeks agoDocumentation updates.
Terry Barnaby [Thu, 21 May 2020 11:41:25 +0000 (12:41 +0100)]
Documentation updates.
Added "Project" parameter.
Build system changes.

6 weeks agoDocumentation changes.
Terry Barnaby [Thu, 21 May 2020 10:42:58 +0000 (11:42 +0100)]
Documentation changes.

6 weeks agoNow supports multiple NVMe clock inputs.
Terry Barnaby [Thu, 21 May 2020 09:28:48 +0000 (10:28 +0100)]
Now supports multiple NVMe clock inputs.
Some tidy ups.

6 weeks agoAdded parameter to enable Nvme configuration at reset.
Terry Barnaby [Thu, 21 May 2020 07:21:21 +0000 (08:21 +0100)]
Added parameter to enable Nvme configuration at reset.
Some name changes.

6 weeks agoAdded dataDropBlock functionality.
Terry Barnaby [Thu, 21 May 2020 06:33:44 +0000 (07:33 +0100)]
Added dataDropBlock functionality.
Changed some signal names.

6 weeks agoAdded Nvme trim/deallocate functionality.
Terry Barnaby [Wed, 20 May 2020 15:38:39 +0000 (16:38 +0100)]
Added Nvme trim/deallocate functionality.
Added dataDropBlocks signal (doesn't do anything yet).
NvmeSim: Improved simulation of Nvme.

6 weeks agoNvme's reset line wasn't driven in the dual Nvme mode.
Terry Barnaby [Wed, 20 May 2020 12:58:13 +0000 (13:58 +0100)]
Nvme's reset line wasn't driven in the dual Nvme mode.

6 weeks agoNvmeRead: Improved system. Now working with Pcie address tracking block numbers.
Terry Barnaby [Wed, 20 May 2020 11:07:49 +0000 (12:07 +0100)]
NvmeRead: Improved system. Now working with Pcie address tracking block numbers.

6 weeks agoInitial NvmeRead additions.
Terry Barnaby [Wed, 20 May 2020 07:17:26 +0000 (08:17 +0100)]
Initial NvmeRead additions.

6 weeks agoRegister CDC improvements.
Terry Barnaby [Tue, 19 May 2020 10:46:33 +0000 (11:46 +0100)]
Register CDC improvements.

6 weeks agoRegister access: Added delay on read to handle clock domain crossing latency.
Terry Barnaby [Tue, 19 May 2020 08:28:29 +0000 (09:28 +0100)]
Register access: Added delay on read to handle clock domain crossing latency.
Some tidy ups.

6 weeks agoDual Nvme, IP changes and comment changes.
Terry Barnaby [Tue, 19 May 2020 07:36:03 +0000 (08:36 +0100)]
Dual Nvme, IP changes and comment changes.

6 weeks agoChanges to support true dual Nvme mode.
Terry Barnaby [Mon, 18 May 2020 13:47:07 +0000 (14:47 +0100)]
Changes to support true dual Nvme mode.
Note this works but still needs some work especially timing constaints.

7 weeks agoDocumentation updates.
Terry Barnaby [Thu, 14 May 2020 09:22:20 +0000 (10:22 +0100)]
Documentation updates.

7 weeks agoVersion number update.
Terry Barnaby [Wed, 13 May 2020 15:28:20 +0000 (16:28 +0100)]
Version number update.

7 weeks agoFirst support for dual Nvme devices. This includes two Nvme devices but only the... first-dual-nvme-support
Terry Barnaby [Wed, 13 May 2020 15:24:12 +0000 (16:24 +0100)]
First support for dual Nvme devices. This includes two Nvme devices but only the first
one is accessed at the moment. It does have the overal changes needed to support the dual Nvme
system though.

7 weeks agoCode comment tidy.
Terry Barnaby [Tue, 12 May 2020 09:48:50 +0000 (10:48 +0100)]
Code comment tidy.

7 weeks agoMajor changes to new top level API. New-top-level-api
Terry Barnaby [Tue, 12 May 2020 09:27:39 +0000 (10:27 +0100)]
Major changes to new top level API.
Various code tidy ups.
Tidy Axis naming.
Modify to use 4 keep bits for DWord only transfers within NvmeStorage.

7 weeks agoDuneNvmeStorageManual updates for new API.
Terry Barnaby [Mon, 11 May 2020 16:56:57 +0000 (17:56 +0100)]
DuneNvmeStorageManual updates for new API.
Started on modifying code for new API.
Build system updates.

7 weeks agoBuild system changes.
Terry Barnaby [Mon, 11 May 2020 12:36:28 +0000 (13:36 +0100)]
Build system changes.

7 weeks agoBuild system changes.
Terry Barnaby [Mon, 11 May 2020 10:51:40 +0000 (11:51 +0100)]
Build system changes.

7 weeks agoTidy up of source tree for new Git tree layout.
Terry Barnaby [Mon, 11 May 2020 10:48:10 +0000 (11:48 +0100)]
Tidy up of source tree for new Git tree layout.

7 weeks agoMajor change to GIT source tree layout, simplifying it. git-tree-layout-change
Terry Barnaby [Mon, 11 May 2020 09:38:19 +0000 (10:38 +0100)]
Major change to GIT source tree layout, simplifying it.

7 weeks agoNvmeQueues: Modified to use Blockram for queue storage. NvmeQueues-in-blockram
Terry Barnaby [Mon, 11 May 2020 08:54:32 +0000 (09:54 +0100)]
NvmeQueues: Modified to use Blockram for queue storage.
NvmeWrite: Implemented block process queue so that blocknumbers are written in order.
General improvements.

8 weeks agoNvmeWrite now using 8 simultaineous writes. Multiple-write-buffers-working
Terry Barnaby [Sat, 9 May 2020 06:07:45 +0000 (07:07 +0100)]
NvmeWrite now using 8 simultaineous writes.
General improvements.

8 weeks agoNvmeWrite: Implemented multiple write buffers. Multiple-write-buffers
Terry Barnaby [Thu, 7 May 2020 12:56:55 +0000 (13:56 +0100)]
NvmeWrite: Implemented multiple write buffers.
General tidyups.

8 weeks agoUpdated DuneNvmeTest to match current main DumeNvme source.
Terry Barnaby [Wed, 6 May 2020 09:37:51 +0000 (10:37 +0100)]
Updated DuneNvmeTest to match current main DumeNvme source.

8 weeks agoNvmeWrite: Added initial multiple write buffer system.
Terry Barnaby [Wed, 6 May 2020 09:25:49 +0000 (10:25 +0100)]
NvmeWrite: Added initial multiple write buffer system.
bfpga_driver: Updated for latest Linux kernels.
General updates:

2 months agoDocumentation updates to fix WebSys menus being hidden on doxygen pages.
Terry Barnaby [Mon, 4 May 2020 10:56:40 +0000 (11:56 +0100)]
Documentation updates to fix WebSys menus being hidden on doxygen pages.

2 months agoReadme update.
Terry Barnaby [Mon, 4 May 2020 09:45:46 +0000 (10:45 +0100)]
Readme update.

2 months agoNvmeWrite: Added ability to write multiple blocks concurently in a simplistic way...
Terry Barnaby [Mon, 4 May 2020 09:42:09 +0000 (10:42 +0100)]
NvmeWrite: Added ability to write multiple blocks concurently in a simplistic way for an initial performance test.
NvmeSim: Added ability to set actual read block data size for easier Simulation as well as full block size for performance testing without Nvme.
General code tidy ups.

2 months agoAdded NvmwWrite functionality. The system can now write a stream to the Nvme.
Terry Barnaby [Fri, 1 May 2020 06:57:15 +0000 (07:57 +0100)]
Added NvmwWrite functionality. The system can now write a stream to the Nvme.
Lots of misc changes.

2 months agoAdded initial NvmeWrite functionality.
Terry Barnaby [Wed, 29 Apr 2020 08:40:13 +0000 (09:40 +0100)]
Added initial NvmeWrite functionality.
Many changes to the system including changing the stream numbers and addresses of things.
This code will perform FPGA driven writes to the Nvme (3 x 512 Byte blocks).

2 months agoDocuments added and updated.
Terry Barnaby [Mon, 27 Apr 2020 06:16:35 +0000 (07:16 +0100)]
Documents added and updated.

2 months agoAdded docsrc
Terry Barnaby [Mon, 27 Apr 2020 05:45:25 +0000 (06:45 +0100)]
Added docsrc

2 months agoDuneNvme: First import of file set.
Terry Barnaby [Sun, 26 Apr 2020 10:08:38 +0000 (11:08 +0100)]
DuneNvme: First import of file set.

2 months agoAdded host software documentation.
Terry Barnaby [Sun, 12 Apr 2020 08:36:32 +0000 (09:36 +0100)]
Added host software documentation.

2 months agoAdded Readme.pdf to git. v0.1.0
Terry Barnaby [Sun, 12 Apr 2020 07:53:02 +0000 (08:53 +0100)]
Added Readme.pdf to git.

2 months agoUpdated test example to use a single bidirectional host to/from nvme DMA stream with...
Terry Barnaby [Sun, 12 Apr 2020 07:46:20 +0000 (08:46 +0100)]
Updated test example to use a single bidirectional host to/from nvme DMA stream with de-multiplexing and multiplexing.
Updated to closer match final code.
Test example split into files to make things clearer andf easier to experiment with.

2 months agotest_nvme.cpp: Added some doxygen comments. v0.0.1
Terry Barnaby [Tue, 7 Apr 2020 09:27:14 +0000 (10:27 +0100)]
test_nvme.cpp: Added some doxygen comments.

2 months agoFirst import.
Terry Barnaby [Tue, 7 Apr 2020 08:33:50 +0000 (09:33 +0100)]
First import.