Skip to content

Sylvia1609/AMD_AECG_Summer_School_Projects

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

34 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AMD_AECG_Summer_School_Projects

Easy: cordic, filter2d

Medium: fast, DFT

Hard: canny

HLS 任务

使用 HLS 设计和验证功能完整的IP内核。我们为您提供了一个可以使用的测试文件<*>_test.cpp,尽管该测试文件并未涵盖所有情况,但您的设计应该通过该tb的测试以验证功能准确性。您也可以写一个更完善的测试文件,以确保您的代码是正确的。

建议:

首先您可以使用浮点变量设计baseline。在有一个功能正确的设计后,您可以开始试验任意精度的数据类型。您可以使用新的 typedef定义变量的数据类型。使用大而复杂的数据类型(如浮点)通常是最准确的,但在性能和资源使用方面并不好。定点类型提供更好的性能和资源使用,但可能会降低结果的准确性。

通过(部分)展开for循环可以大幅提升的并行性。流水线化for循环会提高设计的吞吐量。

您可以将数据流视为任务级别或功能级别的流水线。它使用函数(具有有限的变量范围,以及明确定义的输入和输出)将一些任务与其他任务并行化。因此,粗略地说,你调用的函数越多越好。或者换一种说法,分解你的代码,这样功能不会改变,但你的代码更加模块化:会有更多的函数调用发生,因此会有更多的函数级流水线机会。

PYNQ 演示任务

您需要使用 PYNQ 将IP内核集成到可编程逻辑 (PL) 上。您需要自己设计Jupyter Notebook代码。Notebook代码应将数据传递给IP,启动进程,读取结果,并将其与 Python 中计算的结果在Jupter环境中以图形化的可视方式进行比较。

在Notebook中您也可以进行创新,例如结合自己的研究方向搭建自己的应用等。

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 72.8%
  • Tcl 21.9%
  • C 5.3%