Go to file
Liam Beguin 887ffac0ed
scripts: Parallel build with pattern rules (#1202)
Drop shell for loops in favor of makefile pattern rules,
so make can run targets in parallel using -j.
This doesn't affect Vivado's own settings.

As a benchmark, 12th Gen Intel(R) Core(TM) i9-12900H 5GHz(max):
	$ make -C projects/adrv9009/zcu102/ clean-all
	$ time make -C projects/adrv9009/zcu102/ -j$CORES lib
CORES=1:
	real    9m27.223s
	user    9m2.556s
	sys     0m32.358s
CORES=8:
	real    1m54.639s
	user    16m26.512s
	sys     1m2.317s
i.e. about 5 times faster to build IP core dependencies.

Signed-off-by: Liam Beguin <liambeguin@gmail.com>
Signed-off-by: Jorge Marques <jorge.marques@analog.com>
2023-12-14 17:27:23 +00:00
.github .github/workflows: Rename branch name for GitHub actions 2023-11-17 12:56:26 +02:00
docs docs: Add component diagram generator 2023-12-13 10:38:29 -03:00
library scripts: Parallel build with pattern rules (#1202) 2023-12-14 17:27:23 +00:00
projects scripts: Parallel build with pattern rules (#1202) 2023-12-14 17:27:23 +00:00
scripts adi_env.tcl: Update Quartus Pro version to 23.2.0 2023-11-20 11:28:39 +02:00
.gitattributes Update .gitattributes 2016-02-12 14:27:35 +02:00
.gitignore docs: update link roles, .gitignore 2023-09-27 14:36:34 -03:00
LICENSE LICENSE_*: Update the year and format of the copyright 2023-07-11 15:12:28 +03:00
LICENSE_ADIBSD LICENSE_ADIBSD: Add short identifier 2023-09-07 10:45:49 +03:00
LICENSE_ADIJESD204 Add LICENSE_ADIJESD204. Delete jesd204/README.md 2023-09-07 10:45:49 +03:00
LICENSE_BSD-1-Clause LICENSE_*: Update the year and format of the copyright 2023-07-11 15:12:28 +03:00
LICENSE_GPL2 license: Add top level license files 2017-05-29 09:57:39 +03:00
LICENSE_LGPL License: Update LGPL to version 2.1 2020-03-06 16:07:18 +02:00
Makefile Makefiles: Update header with the appropriate license 2021-09-16 16:50:53 +03:00
README.md docs: Update README, misspelings, and improvements 2023-10-06 09:23:50 -03:00
quiet.mk scripts: Parallel build with pattern rules (#1202) 2023-12-14 17:27:23 +00:00

README.md

ADI HDL Logo

Build Status Build Status

GitHub Pages EngineerZone Analog Wiki


HDL Reference Designs

Analog Devices Inc. HDL libraries and projects for various reference design and prototyping systems. This repository contains HDL code (Verilog or VHDL) and the required Tcl scripts to create and build a specific FPGA example design using Xilinx and/or Intel tool chain.

Support

The HDL is provided "AS IS", support is only provided on EngineerZone.

If you feel you can not, or do not want to ask questions on EngineerZone, you should not use or look at the HDL found in this repository. Just like you have the freedom and rights to use this software in your products (with the obligations found in individual licenses) and get support on EngineerZone, you have the freedom and rights not to use this software and get datasheet level support from traditional ADI contacts that you may have.

There is no free replacement for consulting services. If you have questions that are best handed one-on-one engagement, and are time sensitive, consider hiring a consultant. If you want to find a consultant who is familiar with the HDL found in this repository - ask on EngineerZone.

Getting started

This repository supports reference designs for different Analog Devices boards based on Intel and Xilinx FPGA development boards or standalone.

Building documentation

Install the documentation tools.

(cd docs ; pip install -r requirements.txt)

Build the libraries (recommended).

(cd library ; make)

Build the documentation with Sphinx.

(cd docs ; make html)

The generated documentation will be available at docs/_build/html.

Prerequisites

or

Please make sure that you have the required tool version.

How to build a project

For building a project (generate a bitstream), 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?

Use already built files

You can download already built files and use them as they are. They are available on this link.
The files are built from master branch whenever there are new commits in HDL or Linux repositories.

⚠️ Pay attention when using already built files, since they are not tested in HW!

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.