FPGA Intellectual Property
PCI Express*, Networking and Connectivity, Memory Interfaces, DSP IP, and Video IP
The Intel sign-in experience has changed to support enhanced security controls. If you sign in, click here for more information.
6159 Discussions

Custom Component communication/ triggering - Possibilities

Honored Contributor II

Hello together, 


I try to build up a QSYS-System in which a custom component (e.g. custom GPIO) can trigger a second custom component (e.g. custom Timer). 


Till now I figured out two possibilities: 

  1. The triggering can be done via a Avalon Streaming Interface (Avalon-ST). (Figure 1 in attachment) 

  2. The triggering of the component 2 can be done via a IRQ from component 1 to the NIOS. The NIOS can set the component then via the Avalon-MM. (Illustrated in figure 2 of the attachment) 



Because of my lack of knowledge I have three questions: 

  1. Which of my ideas would be faster and or more adequate for my application. 

  2. Are there any online courser, tutorials (like the one from the university program) or papers available which describe 

  3. Are there smarter possibilities? (I'm quite sure :-)) 



Thank you in advance! 

Best regards 

0 Kudos
4 Replies
Honored Contributor II

Nios does not include a vectored interrupt controller, so I would guess that your first idea would be more efficient. 


Maybe a better idea would be to simply combine the two custom components together into one. Avalon streaming is efficient, but if you're just using it to send a control signal, then combining the two together might be better.
Honored Contributor II

Thank you for your reply. 

The step with combining the two components is a good idea, but I try to make as much generic components as possible. 

Are there any papers, white-papers, tuotorials, hands-on or something similar regarding to the Avalon streaming which you can prefer?
Honored Contributor II

If you are constructing your own custom GPIO and Timer modules, then you can also customize their interfaces to include Avalon Interrupt Sender/Receiver and have the modules connected directly when you construct the system in Qsys. There is no need to have NIOS [and software] involved in the triggering you are describing. 


Also, you can use "Conduits" to make more flexible/complicated connections, in case what you're trying to accomplish can't be done with interrupts.
Honored Contributor II

ted, thank you for the reply! 


I need the NIOS [and software] for other tasks but i like the idea with the "Conduits".  

I think that could be the easiest way for me, especially because I still have no idea how to manage that with the Avalon-ST.... 


Thank you for that!