之前做一个IP核,添加的时候出现了一个奇怪的错误,在这里对解决方法作一下简要说明,以免类似的错误再次发生。
这个IP核内部有中断信号产生,那么就要对这个irq信号作合适的处理。由于这个irq信号是要向Nios CPU中传送的,所以在自定义IP的生成过程中,需要将Interface类型设置为interrupt_sender,Signal Type设置为irq(即中断高电平有效),如下图所示:
上述设置完成后,可能会出现错误:
Error:interrupt_sender:associatedAddressablePoint out of range
Warning:interrupt_sender:Interrupt not associated with addressable connection point.
如下所示:
此时,还需要在后续的Interfaces一栏中对此中断作相应的设置,将Associated addressable interface设置为avalon_slave_0即可(这个应根据具体情况进行选择),
如图:
然后上述错误警告即可解决。
另外,在后面的SOPC Builder系统构建过程中,还应该注意该irq优先级的设置。尤其是在系统中存在多个中断的时候,一定要注意这些中断优先级的设置,否则在后续的Nios中程序的运行可能就会出现各种意想不到的结果。