取消
显示结果 
搜索替代 
您的意思是: 
Highlighted
Visitor
Visitor
354 次查看
注册日期: ‎01-09-2019

在SDAccel中运行代码实例(该实例的host与kernel都是由HLS C写的)

在一个函数中用stream声明该函数参数列表中的几个参数,如图所示:

捕获1.PNG

之后在对这个函数的调用过程中,声明几个stream类型的变量,带入到函数中:

捕获2.PNG

捕获3.PNG

之后在command line输入 make all TARGETS=hw_emu DEVICES=XXXX 时,报出如下问题:

Inked捕获4_LI.jpg

请问,可能是什么原因呢?

0 项奖励
3 条回复3
Highlighted
Xilinx Employee
Xilinx Employee
340 次查看
注册日期: ‎07-17-2008

回复: 在SDAccel中运行代码实例(该实例的host与kernel都是由HLS C写的)

以下摘自UG902文档:

IMPORTANT: Ensure hls::stream variables are correctly sized when used in the default non-DATAFLOW regions.

If an hls::stream is used to transfer data between tasks (sub-functions or loops), you should immediately consider implementing the tasks in a DATAFLOW region where data streams from one task to the next. The default (non-DATAFLOW) behavior is to complete each task before starting the next task, in which case the FIFOs used to implement the hls::stream variables must be sized to ensure they are large enough to hold all the data samples generated by the producer task. Failure to increase the size of the hls::stream variables results in the error below:


ERROR: [XFORM 203-733] An internal stream xxxx.xxxx.V.user.V' with default size is used in a non-dataflow region, which may result in deadlock. Please consider to resize the stream using the directive 'set_directive_stream' or the 'HLS stream' pragma.


This error informs you that in a non-DATAFLOW region (the default FIFOs of depth of 1) may not be large enough to hold all the data samples written to the FIFO by the producer task.

-------------------------------------------------------------------------
Don't forget to reply, kudo, and accept as solution.
-------------------------------------------------------------------------
0 项奖励
Highlighted
Visitor
Visitor
293 次查看
注册日期: ‎01-09-2019

回复: 在SDAccel中运行代码实例(该实例的host与kernel都是由HLS C写的)

非常谢谢!

0 项奖励
Highlighted
Visitor
Visitor
291 次查看
注册日期: ‎01-09-2019

回复: 在SDAccel中运行代码实例(该实例的host与kernel都是由HLS C写的)

上次修改之后,程序的sw_emu和hw_emu都可以通过。

但是在输入make check TARGETS=hw DEVICES=xxxx时,也就是要上板的时候,一直卡在Executing OpenCL Kernel这不动,请问可能是什么原因呢?

捕获2.PNG

0 项奖励