Forum Discussion

Altera_Forum's avatar
Altera_Forum
Icon for Honored Contributor rankHonored Contributor
11 years ago

How to write software independent of module instance name in Qsys or SOPC Builder?

Hi All,

I am not sure that this is the correct place to post this question.

I have designed an IP Core and I have written low level driver to verify it. I am able to verify it. My question is that I have used macro in my c file which indicates my ip core instance name in Qsys/SOPC.For example, when I select my IP Core in Qsys/SOPC,it creates instance name ip_core_0 and in system.h file macro is created with name ip_core_0_BASE.This macro I am using in my c file.Now suppose I rename instance name from ip_core_0 to ip_core.Now macro in system.h file is also updated from ip_core_0_BASE to ip_core_BASE and due to that I am getting an error in c file.I want to add automation i.e whatever instance name I used for my IP Core,my software should not generate any error.

I hope it should be done using tcl.

Would some one please provide my any link or suggestion to implement it?

Thanks,

Krupesh

2 Replies

  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    If you create an INIT() macro, then it will be invoked from alt_sys_init() before main() executes. The HAL will supply your macro with the correct# define'd value. Your initialization function can then locally store the base address and use that local value in all of your subsequent functions.

    http://www.altera.com/literature/hb/nios2/n2sw_nii52005.pdf

    You can't really do this if you intend to have multiple instances of your hardware block in your FPGA.
  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    Hi Ted,

    Thanks for the document and suggestion.As I am a hardware engineer,it will take some time for me to accomplish the goal.I will try to update the procedure so other can also use it in near future.

    Thanks,

    Krupesh