cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
lygw
Explorer
Explorer
234 Views
Registered: ‎09-11-2019

How to use HBM in free-running kernel?

Jump to solution

I want to use HBMs in free-running kernel (or other types of kernel that can always run). However, I find that in ug1393 that the free-running kernel has no memory input or output port. So is there any method to use memory like HBMs or DDRs in the kernel that can always  run? Thanks in advance!

0 Kudos
1 Solution

Accepted Solutions
hongh
Moderator
Moderator
190 Views
Registered: ‎11-04-2010

You can try to instantiate HBM IP in RTL kernel.

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

View solution in original post

0 Kudos
4 Replies
hongh
Moderator
Moderator
191 Views
Registered: ‎11-04-2010

You can try to instantiate HBM IP in RTL kernel.

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

View solution in original post

0 Kudos
lygw
Explorer
Explorer
138 Views
Registered: ‎09-11-2019

Hello. Thanks for your reply. But can I just implement an ap_ctrl_none-RTL kernel with memory ports instead of instantiating HBM/DDR IP in the RTL kernel? 

0 Kudos
lygw
Explorer
Explorer
137 Views
Registered: ‎09-11-2019

I also want to know what's the motivation behind the design that free-running C++ kernel can not have memory ports. Thanks in advance! 

0 Kudos
heeran
Xilinx Employee
Xilinx Employee
97 Views
Registered: ‎07-18-2014

As of now, free running kernel with memory port is not supported as (my understanding) DDR memory management is still under XRT control and XRT can allocate memory and send address information  through axi lite interface to kernel. In case of free running, how XRT can send memory addresses to kernel. 

If kernel is randomly read/write to any memory location, there is a chance, same memory could be allocated to some other kernel buffers and could leads to conflict. 

-Heera 

0 Kudos