UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
Adventurer
Adventurer
2,842 Views
Registered: ‎02-09-2017

hw_emu issue

Jump to solution

I have a project compiled successfully in both sw_emu and hw_emu modes with SDAccel 2017.1 in centos7.2. It also runs through sw_emu.

 

But in hw_emu, the console shows such msgs, (NO errors show up):

INFO: [SDx-EM 22] [Wall clock time: 12:18, Emulation time: 0.0865756 ms] Data transfer between kernel(s) and global memory(s)
BANK0          RD = 0.609 KB               WR = 0.000 KB        
BANK1          RD = 0.000 KB               WR = 0.000 KB        
BANK2          RD = 0.000 KB               WR = 0.000 KB        
BANK3          RD = 0.000 KB               WR = 0.000 KB        

INFO: [SDx-EM 22] [Wall clock time: 12:23, Emulation time: 0.173906 ms] Data transfer between kernel(s) and global memory(s)
BANK0          RD = 0.609 KB               WR = 0.000 KB        
BANK1          RD = 0.000 KB               WR = 0.000 KB        
BANK2          RD = 0.000 KB               WR = 0.000 KB        
BANK3          RD = 0.000 KB               WR = 0.000 KB        
'''

'''

'''
INFO: [SDx-EM 22] [Wall clock time: 13:00, Emulation time: 0.785315 ms] Data transfer between kernel(s) and global memory(s)
BANK0          RD = 0.609 KB               WR = 0.000 KB        
BANK1          RD = 0.000 KB               WR = 0.000 KB        
BANK2          RD = 0.000 KB               WR = 0.000 KB        
BANK3          RD = 0.000 KB               WR = 0.000 KB        

CRITICAL_WARNING: [SDx-EM 21] Write for argument "kernel_align:numAlignments" to global memory has not completed in 230000 cycles. The device may have hung. Please check your kernel behavior
CRITICAL_WARNING: [SDx-EM 21] Write for argument "kernel_align:seqs" to global memory has not completed in 230000 cycles. The device may have hung. Please check your kernel behavior
INFO: [SDx-EM 22] [Wall clock time: 13:05, Emulation time: 0.872743 ms] Data transfer between kernel(s) and global memory(s)
BANK0          RD = 0.609 KB               WR = 0.000 KB        
BANK1          RD = 0.000 KB               WR = 0.000 KB        
BANK2          RD = 0.000 KB               WR = 0.000 KB        
BANK3          RD = 0.000 KB               WR = 0.000 KB       

 

 

In this window, it seems there is error. but I don't what does it mean.

 

snapshot1.png

0 Kudos
1 Solution

Accepted Solutions
Xilinx Employee
Xilinx Employee
4,758 Views
Registered: ‎06-17-2008

Re: hw_emu issue

Jump to solution

Hi @sl_cgi

 

You might want to check the communication between kernel and global memory, e.g. the size of each transfer and the number of read/write transactions. When possible, try to use burst transfer instead of small piece of data transfer once at a time, which may cause such critical warnings in hw-emu.

 

Thanks

Joyce

View solution in original post

5 Replies
Moderator
Moderator
2,799 Views
Registered: ‎03-27-2012

Re: hw_emu issue

Jump to solution

Hi @sl_cgi

From the log we can see the kernel read in 609 Bytes from global memory and there is no output. The kernel seems like stalled.

 

For one function call of kernel, it the data size to be input is larger than 609 Bytes,  the kernel may have stalled at input stage. 

For example if the read FIFO /stream become full, the design halt operation because it is unable to further read in data.

 

If 609 Bytes is exact the input data size, then the halt may happened at downstream stages.

You can use printf to print out valuable value and debug the issue.

If you have knowledge of Verilog/VHDL coding and Vivado Simulation, you can also debug kernel through RTL waveform during HW_EMU.

To launch RTL waveform, you need to switch on the option "Use RTL waveform for kernel debugging" in Run Configurations.

 

You may also share your code to gain help from others.

 

Thanks,

Sean 

-------------------------------------------------------------------------
Don’t forget to reply, kudo, and accept as solution.
-------------------------------------------------------------------------
0 Kudos
Visitor luckyxiuxiu
Visitor
2,705 Views
Registered: ‎08-18-2015

Re: hw_emu issue

Jump to solution

I have met the similar problem.Have you solved this ? My kernel read in data ,but no output.There is nothing in profile report and Application timeline file.

2.png
1.png
3.png
0 Kudos
Xilinx Employee
Xilinx Employee
2,696 Views
Registered: ‎08-28-2007

Re: hw_emu issue

Jump to solution

Hello luckyxiuxiu,

 

How long did you run your application in HW Emulation. And did it complete. Until the application completes, the timeline report will not be available.

 

Amit

0 Kudos
Xilinx Employee
Xilinx Employee
4,759 Views
Registered: ‎06-17-2008

Re: hw_emu issue

Jump to solution

Hi @sl_cgi

 

You might want to check the communication between kernel and global memory, e.g. the size of each transfer and the number of read/write transactions. When possible, try to use burst transfer instead of small piece of data transfer once at a time, which may cause such critical warnings in hw-emu.

 

Thanks

Joyce

View solution in original post

Adventurer
Adventurer
2,636 Views
Registered: ‎02-09-2017

Re: hw_emu issue

Jump to solution

Thanks very much.

Used local buffer to hold the results, then burst transfer the results from local buffer into global memory.  Now the problem was fixed.

@luckyxiuxiu you can try this approach as well.

0 Kudos