Forum Discussion

Gopikrishnan's avatar
Gopikrishnan
Icon for New Contributor rankNew Contributor
4 years ago

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's avatar
    HRZ
    Icon for Frequent Contributor rankFrequent Contributor

    Try declaring "sum" as "static".

  • 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

  • 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

  • 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