AIE(4)—AIE编译器和X86模拟器-Xilinx-AMD社区-FPGA CPLD-ChipDebug

AIE(4)—AIE编译器和X86模拟器

在之前的文章中,我们介绍了如何在Vitis下创建一个AIE工程以及AIE工程中的graphkernel等基本概念,回顾一下,我们可以看到AIE工程的文件层次结构如下图所示。从这个结构中我们也能很清楚地知道在创建AIE工程之前我们要准备的一系列文件。这篇文章我们将介绍AIE编译器和x86模拟器。

图片[1]-AIE(4)—AIE编译器和X86模拟器-Xilinx-AMD社区-FPGA CPLD-ChipDebug

Explorer窗口中双击simple_application.prj文件,会显示如下界面。在界面的右上角有一个选项Active build configuration,该选项有3个可选值:Emulation-AIEEmulation-SWHardware。其中Emulation-SW是针对x86处理器进行编译,仅用于功能仿真(不是周期近似的)。Emulation-AIE是针对AIE进行编译,代码会使用AIESystemC模型进行仿真,可提供周期近似的仿真。Hardware:针对硬件平台进行编译。

图片[2]-AIE(4)—AIE编译器和X86模拟器-Xilinx-AMD社区-FPGA CPLD-ChipDebug

一旦选择Emulation-SW,相应的Target也将变为x86 Simulation

图片[3]-AIE(4)—AIE编译器和X86模拟器-Xilinx-AMD社区-FPGA CPLD-ChipDebug
接下来按下图所示的两个步骤即可对工程进行编译。在Vitis Console窗口中,我们可以看到相应的命令。
图片[4]-AIE(4)—AIE编译器和X86模拟器-Xilinx-AMD社区-FPGA CPLD-ChipDebug
图片[5]-AIE(4)—AIE编译器和X86模拟器-Xilinx-AMD社区-FPGA CPLD-ChipDebug
图片[6]-AIE(4)—AIE编译器和X86模拟器-Xilinx-AMD社区-FPGA CPLD-ChipDebug
-v:将AIE编译器设置为verbose模式
-include:指明工程中用的头文件、源文件和数据文件的位置
-target=x86sim:指明是针对x86处理器进行编译
-platform:指明xpfm所在位置(这里就是VCK190xpfm文件所在位置)
-wordir:指明顶层仿真文件.cpp所在工作目录
工程编译完毕会在Console窗口中显示Compilation Complete,同时,我们可以在Explorer窗口中看到生成了一个新的文件目录:Emulation-SW
 
图片[7]-AIE(4)—AIE编译器和X86模拟器-Xilinx-AMD社区-FPGA CPLD-ChipDebug
图片[8]-AIE(4)—AIE编译器和X86模拟器-Xilinx-AMD社区-FPGA CPLD-ChipDebug

接下来,我们就可以执行x86仿真,如下图所示,依次执行123步骤。如果没有任何错误,仿真结束时在Console窗口中也会看到提升信息。

图片[9]-AIE(4)—AIE编译器和X86模拟器-Xilinx-AMD社区-FPGA CPLD-ChipDebug
图片[10]-AIE(4)—AIE编译器和X86模拟器-Xilinx-AMD社区-FPGA CPLD-ChipDebug

仿真结束后,在Emulation-SW目录下会生成一个新的目录x86simulatior_output,该目录下data文件夹内的output.txt即为输出结果。之所以输出文件是output.txt是因为在project.cpp中指定了输出文件名和位置。最后,我们可以对输出数据和参考输出数据进行对比,依次执行下图中的1234步骤。

图片[11]-AIE(4)—AIE编译器和X86模拟器-Xilinx-AMD社区-FPGA CPLD-ChipDebug
图片[12]-AIE(4)—AIE编译器和X86模拟器-Xilinx-AMD社区-FPGA CPLD-ChipDebug
图片[13]-AIE(4)—AIE编译器和X86模拟器-Xilinx-AMD社区-FPGA CPLD-ChipDebug
请登录后发表评论

    没有回复内容