取消
显示结果 
搜索替代 
您的意思是: 
Highlighted
Observer
Observer
1,184 次查看
注册日期: ‎08-26-2019

Vivado 2019.1实现ZCU102 DPU TRD工程无法满足时序要求。

Hello。

我下载了最新的Xilinx DPU TRD参考设计

zcu102-dpu-trd-2019-1-190809.zip

并运行了tcl脚本源./trd_prj.tcl(在pl / scripts文件夹中),除了我将trd_prj.tcl第75行更改为:

dict set dict_prj dict_param DPU_NUM {3},因为我想在自己的项目中部署三个DPU内核。

然后启动Vivado 2019.1并开始综合和实现过程。对每个过程分别使用策略“ Flow_PerfOptimized_high”和“ Performance_ExplorePostRoutePhysOpt”。结果是时序不满足,大约2k个端点不满足时序要求。

不知道有没有人成功使用这个TRD定义三个DPU内核,跑出一个可用的逻辑版本。

另外,AI Hub上提供下载的系统镜像

petalinux-user-image-zcu102-zynqmp-sd-20190802.img.gz 中打包的FPGA.bin文件是从哪个TRD工程里生成的呢,这个逻辑版本里是例化了3个DPU内核的。

0 项奖励
6 条回复6
Highlighted
Xilinx Employee
Xilinx Employee
1,002 次查看
注册日期: ‎03-27-2013

回复: Vivado 2019.1实现ZCU102 DPU TRD工程无法满足时序要求。

Hi @krisenfest ,

 

一个DPU的core需要有两个AXI master接口,如果你多加了一个Core的话,会多出来两个AXI master接口,这个是需要连接到MPSoC的AXI slave上的。

MPSoC上有4个HP的告诉接口,在TRD中都使用掉了,如果要新的AXI master接口,你要自己连接。另外如果要接到HP上的话,应该会用到axi_interconnect或者axi_smart connect,总线逻辑变复杂了,保持300 MHz以上的频率会有困难,需要降频尝试下。

但是降频降到一定程度的话,处理性能也会有很大的影响。

如果可能的话建议建议用两个核就可以了,不然,建议协调下连接/频率/策略看看能否获得个最优解。

Best Regards,
Jason
-----------------------------------------------------------------------------------------------
Please mark the Answer as "Accept as solution" if the information provided is helpful.

Give Kudos to a post which you think is helpful and reply oriented.
-----------------------------------------------------------------------------------------------
0 项奖励
Highlighted
Observer
Observer
953 次查看
注册日期: ‎08-26-2019

回复: Vivado 2019.1实现ZCU102 DPU TRD工程无法满足时序要求。

hi,@jasonwu

使用TRD自带的vivado工程生成脚本产生的BD,ARM core和DPU之间的接口自动链接(3x DPU IP,HP/HPC都使用到了),且validate design通过。

降频跑P&R后续会尝试,比较在意的是AI Hub上提供下载的ZCU102匹配的系统镜像文件里包含的hardware文件,通过串口命令查询DPU IP信息,是包含3x DPU且运行在325MHz下的,不知道这个逻辑版本是怎么跑出来的。

微信图片_20200217125035.jpg

0 项奖励
Xilinx Employee
Xilinx Employee
838 次查看
注册日期: ‎03-27-2013

回复: Vivado 2019.1实现ZCU102 DPU TRD工程无法满足时序要求。

Hi @krisenfest ,

 

感谢反馈。

按照你现在提供的信息,降频的同时建议查看下使用到的interconnect的两侧位宽匹配,时钟连接情况,防止IPI自动引入一些耗时序的IP,另外可以的话建议和DPU TRD一样在master和slave之间不要连接interconnect看看结果是否会改善。

AI HUb的原始设计我可以帮你问下,但是不能确保能拿得到。

Best Regards,
Jason
-----------------------------------------------------------------------------------------------
Please mark the Answer as "Accept as solution" if the information provided is helpful.

Give Kudos to a post which you think is helpful and reply oriented.
-----------------------------------------------------------------------------------------------
Highlighted
Observer
Observer
822 次查看
注册日期: ‎08-26-2019

回复: Vivado 2019.1实现ZCU102 DPU TRD工程无法满足时序要求。

@jasonwu 谢谢回复。

使用TRD工程脚本生成BD,未作多余人为修改,除了将脚本中DPU_NUM参数修改为3之外。自动生成的BD中各IP之间应该是最简连接。

捕获.PNG

DPU IP和ARM Core之间插入了两个AXI Interconnct,这也是例化3个DPU IP后总线复用必须的。

后续我尝试用Vitis Development Kit生成3x DPU IP工程看看情况,有进展会更新到此贴中的。

Highlighted
Xilinx Employee
Xilinx Employee
572 次查看
注册日期: ‎03-27-2013

回复: Vivado 2019.1实现ZCU102 DPU TRD工程无法满足时序要求。

Hi @krisenfest ,

 

参考VAI DPU的设计可以的,总的来说就是多加了一个核之后逻辑增加,总线连接复杂带来的timing问题,可以参考VAI的设计如果那里有3个核的设计。

另外我这边把你的需求和研发的联系人反馈了,得到的答复是SD image的设计暂时不能公开。

另外根据之前内部测试的情况当频率到325MHz时大部分的应用场景的瓶颈会主要在存储带宽上,所以即使采用3核提高的性能也不会太多。

如果没有特别要求,建议使用双核就可以了。

Best Regards,
Jason
-----------------------------------------------------------------------------------------------
Please mark the Answer as "Accept as solution" if the information provided is helpful.

Give Kudos to a post which you think is helpful and reply oriented.
-----------------------------------------------------------------------------------------------
0 项奖励
Highlighted
Observer
Observer
535 次查看
注册日期: ‎08-26-2019

回复: Vivado 2019.1实现ZCU102 DPU TRD工程无法满足时序要求。

@jasonwu 收到,谢谢回复。

0 项奖励