取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 
hanze
Visitor
Visitor
496 次查看
注册日期: ‎01-24-2021

hls 因为用到的数组太大导致BRAM不够用,如何使用ddr外接内存呢?

跳至解决方案

因为我在HLS编程时使用到了几个较大的数组,导致HLS的BRAM不够用。请问可以直接在HLS上编写代码来调用DDR资源吗?我想做的是:定义一个很大的数组,调用DDR资源存取自己的数据,然后得出一个综合报告(报告里显示我用到的资源种类和数量)。

我的疑问是:我可以直接在HLS编码实现我的想法吗?还是需要在SDK中使用PS来控制DDR的存取操作?

下图是我的HLS综合报告里的资源利用:

微信截图_20210125181411.png

0 项奖励
1 解答

已接受的解答
wenchen
Moderator
Moderator
397 次查看
注册日期: ‎05-27-2018

Hi @hanze 

必须使用SDK, XAPP1170设计流程 参考一下

https://www.xilinx.com/support/documentation/application_notes/xapp1170-zynq-hls.pdf

Wen

-------------------------------------------------------------------------
Don’t forget to reply, kudo, and accept as solution.


**~ Got a minute? Answer our Vitis HLS survey here! ~**


-------------------------------------------------------------------------
如果提供的信息能解决您的问题,请标记为“接受为解决方案”。
如果您认为帖子有帮助,请点击“奖励”。谢谢!
-------------------------------------------------------------------------------------------------

在原帖中查看解决方案

0 项奖励
7 回复数
yangc
Xilinx Employee
Xilinx Employee
439 次查看
注册日期: ‎02-28-2019

连接PL侧DDR是片外的存储器,并不是FPGA上的存储资源,FPGA上的资源是BRAM,URAM,LUTRAM,所以不能直接在HLS中调用DDR的数据。

-------------------------------------------------------------------------
Don't forget to reply, kudo, and accept as solution.
-------------------------------------------------------------------------
0 项奖励
wenchen
Moderator
Moderator
435 次查看
注册日期: ‎05-27-2018

Hi @hanze 

vivado flow 构建HLS与DDR的数据通路block design 需要在SDK中使用PS来控制DDR的存取操作

vitis flow 构建内核,链接部分交给vitis, 写Host 端代码

Wen

-------------------------------------------------------------------------
Don’t forget to reply, kudo, and accept as solution.


**~ Got a minute? Answer our Vitis HLS survey here! ~**


-------------------------------------------------------------------------
如果提供的信息能解决您的问题,请标记为“接受为解决方案”。
如果您认为帖子有帮助,请点击“奖励”。谢谢!
-------------------------------------------------------------------------------------------------
0 项奖励
ApertureElectro
Participant
Participant
423 次查看
注册日期: ‎07-06-2020

你可以尝试将数组作为HLS函数参数,然后将其声明为AXI接口,再将接口连接至MIG IP核,就可以访问DDR中的数据了

0 项奖励
hanze
Visitor
Visitor
401 次查看
注册日期: ‎01-24-2021

谢谢您!

您是说,我在vivado中进行Block Design,调用自己的HLS IP核与MIG IP核连接,就可以是吗,不用在SDK中使用PS进行控制吗?

0 项奖励
wenchen
Moderator
Moderator
398 次查看
注册日期: ‎05-27-2018

Hi @hanze 

必须使用SDK, XAPP1170设计流程 参考一下

https://www.xilinx.com/support/documentation/application_notes/xapp1170-zynq-hls.pdf

Wen

-------------------------------------------------------------------------
Don’t forget to reply, kudo, and accept as solution.


**~ Got a minute? Answer our Vitis HLS survey here! ~**


-------------------------------------------------------------------------
如果提供的信息能解决您的问题,请标记为“接受为解决方案”。
如果您认为帖子有帮助,请点击“奖励”。谢谢!
-------------------------------------------------------------------------------------------------

在原帖中查看解决方案

0 项奖励
ApertureElectro
Participant
Participant
391 次查看
注册日期: ‎07-06-2020

如果您是纯FPGA应用当然可以啊。如果需要系统控制或者需要使用PS端的DDR才需要链接PS端

hanze
Visitor
Visitor
129 次查看
注册日期: ‎01-24-2021
好的谢谢!
0 项奖励