Forum Discussion
HLS component invocation question
1. Can I call another component from within a component similar to instantiating another rtl module within a module?
2.
In the above code snippet I am calling the test twice from the main module. The second time I want to accumulate the sum with the sum from the previous call. But it is not happening. The sum register value is automatically set to 0 every time when component test is called. It's not holding the value from the previous call. Is there any way to achieve this?
4 Replies
- HRZ
Frequent Contributor
Try declaring "sum" as "static".
- BoonBengT_Altera
Moderator
Hi @Gopikrishnan,
Thank you for posting in Intel community forum and hope all is well.
Please find the response to your doubts as followed 1) yes I believe you can do so, but per my understanding you would like to prevent too much nested layer of component calling as it might impact the performance, 1-2 layers should be ok. 2) as mention by HRZ, declaring the sum as static will allocate it for lifetime of the program and will be shared.
Please do try and let us know if that fits your needs.Best Wishes
BB - Gopikrishnan
New Contributor
Hello @BoonBengT_Altera
I tried declaring the variable as static and it worked. Right now I've decided not to nest the components so I won't try it now.
Thanks for the response
- BoonBengT_Altera
Moderator
Hi @Gopikrishnan,
Good to know that it is working now, thread will be transitioned to community support where community users will further help you with doubts in this thread.
Thanks for your questions and as always pleasure having you here.Best Wishes
BB