AIE(1)—创建一个简单的AIE工程-Xilinx-AMD社区-FPGA CPLD-ChipDebug

AIE(1)—创建一个简单的AIE工程

对于Versal,我们从系统角度看,可将其分为3DomainAIEPSPL,如下图所示。如果要运行一个AIE的应用,绝大多数情况下,这3Domain我们都会用到,使其协同工作。这里我们仅关注AIE Domain,将介绍如何使用Vitis 2021.2创建AIE应用工程。

 

图片[1]-AIE(1)—创建一个简单的AIE工程-Xilinx-AMD社区-FPGA CPLD-ChipDebug

第1步:打开Vitis,在Welcome页面选择Create Application Project,或者点击菜单栏File->New->Application Project。因为这里我们创建的是AIE的应用工程,所以要选择Application Project

 

图片[2]-AIE(1)—创建一个简单的AIE工程-Xilinx-AMD社区-FPGA CPLD-ChipDebug
图片[3]-AIE(1)—创建一个简单的AIE工程-Xilinx-AMD社区-FPGA CPLD-ChipDebug

2步:这一步并不需要任何操作,只需点击Next,但这一步的页面信息很有用。可以看到从1~44句话,其实就是告诉我们创建一个应用工程需用的4个步骤。这4个步骤在其后的过程中都会遇到。

图片[4]-AIE(1)—创建一个简单的AIE工程-Xilinx-AMD社区-FPGA CPLD-ChipDebug

3步:选择Platform,这里我们选择VCK190,如下图所示。可以看到该平台有两个DomainAIE DomainARM Cortex-A72PSDomain

图片[5]-AIE(1)—创建一个简单的AIE工程-Xilinx-AMD社区-FPGA CPLD-ChipDebug

4步:创建工程名,选择Processor,如下图所示。

 

图片[6]-AIE(1)—创建一个简单的AIE工程-Xilinx-AMD社区-FPGA CPLD-ChipDebug

5步:选择Domain,这里只能选择aiengine,如下图所示。

图片[7]-AIE(1)—创建一个简单的AIE工程-Xilinx-AMD社区-FPGA CPLD-ChipDebug

6:选择模板,这里我们选择Simple,如下图所示。

图片[8]-AIE(1)—创建一个简单的AIE工程-Xilinx-AMD社区-FPGA CPLD-ChipDebug

至此,工程创建完毕,形成如下图所示的工程目录。图中标记1simple_application将是我们在AIE上运行的工程。标记2:文件夹data,这里存放了仿真需用的输入文件input.txt和输出参考文件golden.txt。标记3:文件夹src,这里存放了设计需用的各种源文件,还包括一个子目录标记4Kernels,用于存放描述Kernel的源文件。

 

图片[9]-AIE(1)—创建一个简单的AIE工程-Xilinx-AMD社区-FPGA CPLD-ChipDebug

描述KernelsC文件内容如下图所示。通常会用到AIE的一些Intrinsics采用向量化编程方式以充分利用AIE的并行性。

 

图片[10]-AIE(1)—创建一个简单的AIE工程-Xilinx-AMD社区-FPGA CPLD-ChipDebug

project.h创建了一个类simpleGraph。代码第10行和第11行声明了两个Kernel,第13行和第14行声明了输入端口和输出端口。第17行和第18行创建Kernel,第19行至第21行描述了Kernel之间的互连关系。第23行和第24行指明Kernel对应的源文件,也就确定了Kernel的功能。第26行和第27行指明KernelRuntime。每个Kernel都要有一个RuntimeRuntime是执行一次Kernel所用的周期数与预算周期数的比值。

图片[11]-AIE(1)—创建一个简单的AIE工程-Xilinx-AMD社区-FPGA CPLD-ChipDebug

project.cpp是整个设计的顶层文件,如下图所示。代码的9行对simpleGraph实例化。第10行创建仿真平台,并指明输入源文件和输出文件位置。第11行和第12行描述了输入数据、Graph和输出数据之间的连接关系。第14行至第19行则是仿真过程。其中第16行用于指定仿真迭代次数。
图片[12]-AIE(1)—创建一个简单的AIE工程-Xilinx-AMD社区-FPGA CPLD-ChipDebug
实际上,仿真平台与graph之间的连接关系可用下图表述。
 
图片[13]-AIE(1)—创建一个简单的AIE工程-Xilinx-AMD社区-FPGA CPLD-ChipDebug

在工程的设置界面也可以看到顶层文件project.cpp,如下图所示。

 

图片[14]-AIE(1)—创建一个简单的AIE工程-Xilinx-AMD社区-FPGA CPLD-ChipDebug

 

 

 

 

请登录后发表评论

    没有回复内容