804c57aabc
The DMAC has the requirement that the length of the transfer is aligned to the widest interface width. E.g. if the widest interface is 256 bit or 32 bytes the length of the transfer needs to be a multiple of 32. This restriction can be relaxed for the memory mapped interfaces. This is done by partially ignoring data of a beat from/to the MM interface. For write access the stb bits are used to mask out bytes that do not contain valid data. For read access a full beat is read but part of the data is discarded. This works fine as long as the read access is side effect free. I.e. this method should not be used to access data from memory mapped peripherals like a FIFO. This means that for example the length alignment requirement of a DMA configured for a 64-bit memory and a 16-bit streaming interface is now only 2 bytes instead of 8 bytes as before. Note that the address alignment requirement is not affected by this. The address still needs to be aligned to the width of the MM interface that it belongs to. Signed-off-by: Lars-Peter Clausen <lars@metafoo.de> |
||
---|---|---|
library | ||
projects | ||
.gitattributes | ||
.gitignore | ||
LICENSE | ||
LICENSE_ADIBSD | ||
LICENSE_GPL2 | ||
LICENSE_LGPL | ||
Makefile | ||
README.md | ||
quiet.mk |
README.md
HDL Reference Designs
Analog Devices Inc. HDL libraries and projects.
Getting started
This repository supports reference designs for different Analog Devices boards based on Intel and Xilinx FPGA development boards or standalone.
Prerequisites
or
Please make sure that you have the required tool version.
How to build a project
For building a projects, you have to use the GNU Make tool. If you're a Windows user please checkout this page, to see how you can install this tool.
To build a project, checkout the latest release, after that just cd to the project that you want to build and run make:
[~]cd projects/fmcomms2/zc706
[~]make
A more comprehensive build guide can be found under the following link: https://wiki.analog.com/resources/fpga/docs/build
Software
In general all the projects have no-OS (baremetal) and a Linux support. See no-OS or Linux for more information.
Which branch should I use?
-
If you want to use the most stable code base, always use the latest release branch.
-
If you want to use the greatest and latest, check out the master branch.
License
In this HDL repository, there are many different and unique modules, consisting of various HDL (Verilog or VHDL) components. The individual modules are developed independently, and may be accompanied by separate and unique license terms.
The user should read each of these license terms, and understand the freedoms and responsibilities that he or she has by using this source/core.
See LICENSE for more details. The separate license files cab be found here:
Comprehensive user guide
See HDL User Guide for a more detailed guide.
Support
Feel free to ask any question at EngineerZone.