Xilinx FPGA AI开发工具AIE(8)—创建一个包含PL/PS/AIE的Vitis工程(1)-Xilinx-AMD社区-FPGA CPLD-ChipDebug

Xilinx FPGA AI开发工具AIE(8)—创建一个包含PL/PS/AIE的Vitis工程(1)

 

 

图片[1]-Xilinx FPGA AI开发工具AIE(8)—创建一个包含PL/PS/AIE的Vitis工程(1)-Xilinx-AMD社区-FPGA CPLD-ChipDebug
打开Vitis例子工程
 

首先,按照下述步骤打开Vitis例子工程:

第一步:

打开Vitis 2021.2,设置好workspace

第二步:

Welcome页面,选择File>New>Application Project

第三步:

Platform设置页面,选择xilinx_vck190_base_202120_1

第四步:

创建新的应用工程,命名为full_system_app,这个应用工程运行在AIE

 
图片[2]-Xilinx FPGA AI开发工具AIE(8)—创建一个包含PL/PS/AIE的Vitis工程(1)-Xilinx-AMD社区-FPGA CPLD-ChipDebug

第五步:在Template页面,进行如下选择:

图片[3]-Xilinx FPGA AI开发工具AIE(8)—创建一个包含PL/PS/AIE的Vitis工程(1)-Xilinx-AMD社区-FPGA CPLD-ChipDebug
设计分析
 
Vitis Explorer窗口可以看到如下图所示界面,相比于仅仅有AIE domain的工程而言,增加了full_system_app_kernels(这是包含RTL Kernels的目录)、full_system_app_system_hw_link(最终的三个domain相连接的系统将包含在这个目录下)和full_system_app(运行在PS上)。
 
图片[4]-Xilinx FPGA AI开发工具AIE(8)—创建一个包含PL/PS/AIE的Vitis工程(1)-Xilinx-AMD社区-FPGA CPLD-ChipDebug
AIE domain设计
 
这里我们重点看一下graph的描述,如下图所示。
 
图片[5]-Xilinx FPGA AI开发工具AIE(8)—创建一个包含PL/PS/AIE的Vitis工程(1)-Xilinx-AMD社区-FPGA CPLD-ChipDebug

在此基础上可得到graphkernel以及kernelgraph输入/输出端口的连接关系,如下图所示。

图片[6]-Xilinx FPGA AI开发工具AIE(8)—创建一个包含PL/PS/AIE的Vitis工程(1)-Xilinx-AMD社区-FPGA CPLD-ChipDebug

再来看AIE设计顶层文件,如下图所示。

 

图片[7]-Xilinx FPGA AI开发工具AIE(8)—创建一个包含PL/PS/AIE的Vitis工程(1)-Xilinx-AMD社区-FPGA CPLD-ChipDebug

在此基础上,可得到platformgraph的连接关系,如下图所示。

图片[8]-Xilinx FPGA AI开发工具AIE(8)—创建一个包含PL/PS/AIE的Vitis工程(1)-Xilinx-AMD社区-FPGA CPLD-ChipDebug

RTL Kernels

 

接下来,我们看一下RTL Kernels。打开文件full_system_app_kernels.prj,如下图所示。可以看到Hardware Functions下有3个函数,它们将在PL Domain运行。

 

图片[9]-Xilinx FPGA AI开发工具AIE(8)—创建一个包含PL/PS/AIE的Vitis工程(1)-Xilinx-AMD社区-FPGA CPLD-ChipDebug

在此基础上,结合AIE设计部分,我们可以得到下面这张图。

 

图片[10]-Xilinx FPGA AI开发工具AIE(8)—创建一个包含PL/PS/AIE的Vitis工程(1)-Xilinx-AMD社区-FPGA CPLD-ChipDebug
Hardware link Application
 
那么AIEPL之间究竟如何连接呢?这就要看HW Link部分。
 
图片[11]-Xilinx FPGA AI开发工具AIE(8)—创建一个包含PL/PS/AIE的Vitis工程(1)-Xilinx-AMD社区-FPGA CPLD-ChipDebug
图片[12]-Xilinx FPGA AI开发工具AIE(8)—创建一个包含PL/PS/AIE的Vitis工程(1)-Xilinx-AMD社区-FPGA CPLD-ChipDebug

最终的连接关系可在这里看到。这里需用明确kernel在此的命名方式:kernel_数字。

图片[13]-Xilinx FPGA AI开发工具AIE(8)—创建一个包含PL/PS/AIE的Vitis工程(1)-Xilinx-AMD社区-FPGA CPLD-ChipDebug

至此,我们就可以明确AIEPL的连接关系,如下图所示。

图片[14]-Xilinx FPGA AI开发工具AIE(8)—创建一个包含PL/PS/AIE的Vitis工程(1)-Xilinx-AMD社区-FPGA CPLD-ChipDebug
请登录后发表评论

    没有回复内容