/axidmacheck

AXI DMA Check: A utility to measure DMA speeds in simulation

Primary LanguageVerilog

AXI DMA Check

This is a basic AutoFPGA connected design for the purpose of testing various open source data mover solutions.

The data movers, together with the AXI interconnect and the various AXI bus bridges and helpers, can be found in the wb2axip project. (Expect this to become a submodule to this project, since it needs to be downloaded into the main directory.)

Reconfigure

To reconfigure the project, adjust the AutoFPGA scripts listed in autodata/Makefile, and run make autodata. You will need AutoFPGA built and installed somewhere in your path. Note: Only the dev branch of AutoFPGA currently contains AXI support.)

Simulation

To build the design, run make rtl; make sim. You will need to have Verilator installed. Running the simulation is as easy as cd sim/; ./main_tb. There's not much to see, however, unless you run ./main_tb -d instead to produce a VCD file. There's also a GTKWave file which you can use when viewing the VCD file to help get some clarity to what's going on early on.

You can also run the simulation using make test. A similar main directory make coverage will build a set of HTML files which can be used to evaluate test coverage.

License

This design is licensed under the GPL. It is not intended to be an end user design--the RAM core consists of a large block RAM, the streams are quite void of any useful information, etc. Indeed, this design makes a better example of what can be done using Verilator rather than an end design in itself, and so the GPL license (a primarily software license) seems to fit a simulation only project the best.

The core and guts of this project come from the WB2AXIP project which is (currently) available under an Apache license. AutoFPGA is licensed under GPL, although the designs created with it are free for licensing as you see fit.