cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
blank
Visitor
Visitor
256 Views
Registered: ‎10-30-2020

submodule name conflicts between different HLS IP in IP integrator

Hi Experts, 

I'm using HLS to write some IP cores. 

Two IPs instantiates same function(submodule). 

The name conflicts when I try to do simulation with the top design.

Here is an example.

template <int width>

void sub(ap_int<width> x)

{

}

 

void IP1(...)

{

sub<1>(...);

}

void IP2(...)

{

sub<2>(...);

}

IP1 and IP2 calls function sub. When top block design instantiates IP1 and IP2, there will be two different modules with same name "sub". 

This conflicts prevent simulation!!

 

How to solve this problem nicely?

 

This issue can showup in many senarios, not only template function. E.g.  vivado HLS may optimize "sub" as different versions of module due to constant call parameters (sub(2), sub(x)). 

 

0 Kudos
0 Replies