Skip to content

This is a project integrating HLS IP and CortexA9 on Zynq. This CPU-FPGA project, for a Matrix Multiplication Dataflow, is implemented with dataflow and DDR3 access with HLS. The Cortex A9 will print the result via UART and check the result by comparing the data with the one from CPU compuation

Notifications You must be signed in to change notification settings

zslwyuan/Zynq_HLS_DDR_Dataflow_kernel_2mm

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Zynq_HLS_DDR_Dataflow_kernel_2mm

This is a project integrating HLS IP and CortexA9 on Zynq. This CPU-FPGA project, for a Matrix Multiplication Dataflow, is implemented with dataflow and DDR3 access with HLS. The Cortex A9 will print the result via UART and check the result by comparing the data with the one from CPU compuation. Compared with the DDR test implemented in here, this project implements a practical project for Matrix Multiplication, including data generation, FPGA acceleration and result checking.

If this blog is useful for you, a STAR will be encouragement to me. LOL

VivadoHLS part:

  1. Please firsr import the HLS projects (HLSTimer and 2mm) via VivadoHLS (2mmDataflow, the source code can be found here and HLSTimer, the source code can be found here)
  2. Synthesis them and export them as IPs

Vivado part:

  1. Please import the Vivado project (ZedBoard_HLS_kernel_2mm.hw)
  2. Add IP repository which includes the exported HLS IPs and refresh IP catalog
  3. Generated the bitstream and export the hardware to local project
  4. Launch SDK via Vivado

Xilinx SDK part:

  1. please refer to ug871-vivado-high-level-synthesis-tutorial.pdf (Chapter 10)
  2. you can find the source code for Cortex A9 in the directory (Zynq_HLS_DDR_Dataflow_kernel_2mm/tree/master/ZedBoard_HLS_kernel_2mm/ZedBoard_HLS_kernel_2mm.sdk/2mm_0/src). The main function is in the file helloworld.c. More details are described in the comments in the source code.

Very Detailed Instruction:

please refer to ug871-vivado-high-level-synthesis-tutorial.pdf (Chapter 10)

About

This is a project integrating HLS IP and CortexA9 on Zynq. This CPU-FPGA project, for a Matrix Multiplication Dataflow, is implemented with dataflow and DDR3 access with HLS. The Cortex A9 will print the result via UART and check the result by comparing the data with the one from CPU compuation

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published