博客
本文以XC7A35TFGG484-2这款芯片为例,采用米联客FPGA开发板,用MIG核驱动DDR3内存。FPGA外接的晶振大小为50MHz,DDR3内存的驱动频率(ddr3_ck_p和ddr3_ck_n)为400MHz。选用的DDR3内存型号为MT41K128M16,内存容量为256MB。
在Vitis下运行DNNDK例程时,(例程地址https://github.com/Xilinx/Vitis-In-Depth-Tutorial/blob/2020.1/Vitis_Pla…)运行到编译时,(20 Right click the hello_dpu project folder and select Build Project)一直出如下错误
Vitis统一软件平台将Xilinx各种软件统一,即支持Vitis嵌入式软件开发流程,又支持Vitis应用软件加速开发流程。本文介绍Vitis嵌入式软件中的linux应用程序开发流程。
PYNQ结合了Zynq与Python的优势,是机器学习/人工智能、边缘计算、大数据处理等算法加速的优秀平台。PYNQ这个名字来自于Python productivity for Zynq,PYNQ使用Python语言简化了Zynq应用程序开发过程。
Vitis官方文档主要有两个ug1400和ug1393 ,ug1400主要针对嵌入式软件设计,ug1393针对应用加速设计。本文结合以上两个文档,主要针对Zynq®-7000 SoC,和Zynq® UltraScale+™ MPSoCs应用加速开发流程进行简要介绍。
布局规划是为设计增加布局布线约束的过程。一个大型高速设计的布局规划是实现时序收敛的关键。好的布局规划可以大大提高设计性能,并确保设计结果的质量。差的布局规划具有相反的效果,使其无法满足时序约束,并导致设计结果与预期不符
Xilinx工具最新版本已经更新到2020.2,我之所以安装2020.1主要是因为PYNQ最新版本V2.6支持2020.1,今年会做一些PYNQ相关的开发。
在文章中如何将zcu106例程移植到自定义单板,描述了如何在自定义单板平台构建硬件平台、软件系统添加配方,运行zcu106例程。实现过程很复杂。zcu106单板的bsp不能直接用在习惯单板上呢?下面是我做的一些试点,大家可以参考。
软硬件系统构建好之后,VCU可以正常工作了。可以在VCU软件堆栈的不同层次上对VCU进行编解码,下面介绍一下使用VCU控制软件如何进行编解码。
硬件设计主要包括PS设置和VCU设置,VCU参考了pg252和zcu106例程,如下图所示。FZU5输入25MHz时钟,通过PLL产生33MHz和300MHz时钟输入到VCU。此外,PL部分还需要产生风扇控制信号,控制单板风扇。
yolo是目前目标检测落地到硬件中比较常用的AI模型,因为yolo标准版模型参数和计算量太大,所以目前暂时在zynq020上移植的是tiny版本,这里选用yolov3-tiny来移植,输入模型的图像源320x320@15Hz,模型各层如下(其中C是训练时的类别)

