Skip to content

Maxwellhyh/AMD_AECG_Summer_School_Projects

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

35 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