最近的工作主要是围绕vitis平台,持续开发了将近半年多的时间,从sdx的2018.3到目前的vitis 2019.2. 中间也历经了3个版本,从内部版本到最终的vitis面世,也看到了软件的非常多的进步。
现在的工作是要将内部的RTL kernel要作为Vitis的库发布,整个的开发过程中也的确遇到了好多问题,对于一个新手来说尤其是只会软件或者只会FPGA的开发人员来说的确会比较麻烦,整个过程比较繁杂,涉及的面很广,既有软件的又有fpga的,方方面面,这边文章只是做个总序后面会慢慢展开来讲。
Vitis是最近面试的,对于熟悉Xilinx工具的人,肯定会知道SDAccel和SDSoc,一个是面向x86的,一个是面向嵌入式端的,好消息是以后二者统一了,如果你对这两个工具都比较熟悉,那么恭喜你,你能很快上手Vitis,以后一个工具可以支持两套环境了,没有在切换的痛苦了。
Vitis可以支持RTL,C/C++,OPencl等多种语言,同时又支持很多的Xilinx内部开发好的库,比如Xfopencv,等都是非常好用。
本人的主要工作是把RTL kernel移植到Vitis上,包括软件端的初步验证。
主要的移植过程
(1)修改RTL kernel的接口,满足Vitis的要求,熟悉HLS的人,应该会比较清楚
(2)在Vitis上验证Kernel。
后面我将一个Vadd的例子作为介绍,详细介绍整个移植过程以及验证工作。
(1)如何写符合规范的Vadd RTL Kernel例子
(2)如果用xrt 验证 Vadd kernel的正确性
(3)zcu102 platfrom hw部分的制作
(4)zcu102 platform sw部分的制作
然后我会介绍如果将rtl kernel 和xfopencv结合,制作工程。