Xilinx-FPGA-HLS-PYNQ-ALVEO-Flow
所属分类:VHDL/FPGA/Verilog
开发工具:Jupyter Notebook
文件大小:27KB
下载次数:1
上传日期:2020-04-28 12:38:00
上 传 者:
sh-1993
说明: FPGA设计的简单示例,使用Vivado HLS进行高级合成,Vivado生成比特流。
(Simple examples for FPGA design using Vivado HLS for high level synthesis and Vivado for bitstream generation.)
文件列表:
ALVEO - ARRAY INPUTS - DOT - OPTIMIZATIONS (0, 2020-04-28)
ALVEO - ARRAY INPUTS - DOT - OPTIMIZATIONS\.ipynb_checkpoints (0, 2020-04-28)
ALVEO - ARRAY INPUTS - DOT - OPTIMIZATIONS\.ipynb_checkpoints\DOT-ALVEO-checkpoint.ipynb (4155, 2020-04-28)
ALVEO - ARRAY INPUTS - DOT - OPTIMIZATIONS\dot_matrix_alveo_HLS (0, 2020-04-28)
ALVEO - ARRAY INPUTS - DOT - OPTIMIZATIONS\dot_matrix_alveo_HLS\apc (0, 2020-04-28)
ALVEO - ARRAY INPUTS - DOT - OPTIMIZATIONS\dot_matrix_alveo_HLS\apc\src (0, 2020-04-28)
ALVEO - ARRAY INPUTS - DOT - OPTIMIZATIONS\dot_matrix_alveo_HLS\apc\src\dot_matrix.cpp (1029, 2020-04-28)
ALVEO - ARRAY INPUTS - DOT - OPTIMIZATIONS\dot_matrix_alveo_HLS\apc\tb (0, 2020-04-28)
ALVEO - ARRAY INPUTS - DOT - OPTIMIZATIONS\dot_matrix_alveo_HLS\apc\tb\main.cpp (646, 2020-04-28)
ALVEO - ARRAY INPUTS - DOT - OPTIMIZATIONS\jupyter notebooks (0, 2020-04-28)
ALVEO - ARRAY INPUTS - DOT - OPTIMIZATIONS\jupyter notebooks\DOT-ALVEO.ipynb (4168, 2020-04-28)
ARRAY INPUTS - DOT - OPTIMIZATIONS (0, 2020-04-28)
ARRAY INPUTS - DOT - OPTIMIZATIONS\dot_matrix_pynqZ2_HLS (0, 2020-04-28)
ARRAY INPUTS - DOT - OPTIMIZATIONS\dot_matrix_pynqZ2_HLS\apc (0, 2020-04-28)
ARRAY INPUTS - DOT - OPTIMIZATIONS\dot_matrix_pynqZ2_HLS\apc\src (0, 2020-04-28)
ARRAY INPUTS - DOT - OPTIMIZATIONS\dot_matrix_pynqZ2_HLS\apc\src\dot_matrix.cpp (1029, 2020-04-28)
ARRAY INPUTS - DOT - OPTIMIZATIONS\dot_matrix_pynqZ2_HLS\apc\tb (0, 2020-04-28)
ARRAY INPUTS - DOT - OPTIMIZATIONS\dot_matrix_pynqZ2_HLS\apc\tb\main.cpp (646, 2020-04-28)
ARRAY INPUTS - DOT - OPTIMIZATIONS\jupyter notebooks (0, 2020-04-28)
ARRAY INPUTS - DOT - OPTIMIZATIONS\jupyter notebooks\test_dot_matrix.ipynb (5747, 2020-04-28)
ARRAY INPUTS - DOT (0, 2020-04-28)
ARRAY INPUTS - DOT\dot_matrix_pynqZ2_HLS (0, 2020-04-28)
ARRAY INPUTS - DOT\dot_matrix_pynqZ2_HLS\apc (0, 2020-04-28)
ARRAY INPUTS - DOT\dot_matrix_pynqZ2_HLS\apc\src (0, 2020-04-28)
ARRAY INPUTS - DOT\dot_matrix_pynqZ2_HLS\apc\src\dot_matrix.cpp (895, 2020-04-28)
ARRAY INPUTS - DOT\dot_matrix_pynqZ2_HLS\apc\tb (0, 2020-04-28)
ARRAY INPUTS - DOT\dot_matrix_pynqZ2_HLS\apc\tb\main.cpp (646, 2020-04-28)
ARRAY INPUTS - DOT\jupyter notebooks (0, 2020-04-28)
ARRAY INPUTS - DOT\jupyter notebooks\test_dot_matrix.ipynb (5718, 2020-04-28)
ARRAY INPUTS - MUL - OPTIMIZATIONS (0, 2020-04-28)
ARRAY INPUTS - MUL - OPTIMIZATIONS\jupyter notebooks (0, 2020-04-28)
ARRAY INPUTS - MUL - OPTIMIZATIONS\jupyter notebooks\test_mul_matrix.ipynb (5772, 2020-04-28)
ARRAY INPUTS - MUL - OPTIMIZATIONS\mul_matrix_pynqZ2_HLS (0, 2020-04-28)
ARRAY INPUTS - MUL - OPTIMIZATIONS\mul_matrix_pynqZ2_HLS\apc (0, 2020-04-28)
ARRAY INPUTS - MUL - OPTIMIZATIONS\mul_matrix_pynqZ2_HLS\apc\src (0, 2020-04-28)
ARRAY INPUTS - MUL - OPTIMIZATIONS\mul_matrix_pynqZ2_HLS\apc\src\mul_matrix.cpp (1094, 2020-04-28)
ARRAY INPUTS - MUL - OPTIMIZATIONS\mul_matrix_pynqZ2_HLS\apc\tb (0, 2020-04-28)
ARRAY INPUTS - MUL - OPTIMIZATIONS\mul_matrix_pynqZ2_HLS\apc\tb\main.cpp (554, 2020-04-28)
... ...
# HLS Flow for Alveo and MPSoC boards using Vivado HLS, Vivado and PYNQ
![MakarenaLabs](https://www.makarenalabs.com/wp-content/uploads/2018/12/logo.png)
[![Build Status](https://travis-ci.org/joemccann/dillinger.svg?branch=master)](https://travis-ci.org/joemccann/dillinger)
# Table of contents
- [Get Started with videos on YouTube](#get-started-with-videos-on-youtube)
- [Download PYNQ-Z2 Board File](#download-pynq-z2-board-file)
- [Example structure](#example-structure)
- [Todos](#todos)
# Get Started with videos on YouTube
These two links are example videos which will teach you how to create an IP module (*from zero to hero*) and using it with **PYNQ** on both **MPSoC** and **Alveo** boards:
- ```MPSoC```: https://www.youtube.com/watch?v=mkUhYrmlX0k
- ```ALVEO```: https://www.youtube.com/watch?v=MuBzr28tUTM
The videos will show you how to create and build projects **Vivado HLS**, **Vivado** for **MPSoC** boards and how to export kernel from **Vivado HLS** for **SDx** or **SDAccel** environments in order to perform high level synthesis for **Alveo** boards.
Every example is created to be used with **PYNQ** (http://www.pynq.io/).
Tested on **PYNQ Z2** (http://www.tul.com.tw/ProductsPYNQ-Z2.html) and **Alveo U250** board but is compatible with every **MPSoC** board that support **PYNQ** framework (e.g. ZCU104, ZCU102, Ultra96 etc.).
Boot images are downloaded from the official site of the board (http://www.tul.com.tw/ProductsPYNQ-Z2.html)
### [Download PYNQ-Z2 Board File](https://d2m32eurp10079.cloudfront.net/Download/pynq-z2.zip)
# Example structure
This is the structure of every example dir:
```bash
EXAMPLE_DIR
├──
_HLS
│ └── apc
│ ├── src
│ │ └── .cpp
│ └── tb
│ └── main.cpp
└── jupyter notebooks
└── test_.ipynb
5 directories, 3 files
```
The directory of every example contais two sub-dirs:
- ```_HLS```: contains a sub-dir called ```apc```, which includes two sud-dirs:
- ```src```: contains the file with the declaration of the function that is to be accelerated;
- ```tb```: contains a testbench file, used to test if the previous function is correct.
- ```jupyter notebooks```: contains the notebook file format to test previous files.
The examples in this repo are:
- ```ARRAY INPUTS - DOT```: example to accelerate a dot product between two matrices. Each entry in the product matrix is the dot product of a row in the first matrix and a column in the second matrix;
- ```ARRAY INPUTS - DOT - OPTIMIZATIONS```: example to optimize the previous acceleration;
- ```ARRAY INPUTS - MUL```: example to accelerate a multiplication between two matrices element by element. Each entry in the product matrix is the product of the first matrix element and the second matrix element;
- ```ARRAY INPUTS - MUL - OPTIMIZATIONS```: example to optimize the previous acceleration;
### Todos
- examples using stream bus (HLS and Vivado)
- examples for benchmark against numpy
- examples on Vitis
License
----
MIT
Copyright 2020 MakarenaLabs
近期下载者:
相关文件:
收藏者: