06-27-2017 02:24 AM
When I create a new AXI4 custom IP through the 'Create and package new IP' dialog, I can see the option 'enable interrupt support' :
Q1 : is there any tutorial available of such a custom AXI IP with interrupt ?
Q2 : I'm wondering if the same couldn't be accomplished by using a few of the AXI lite slave registers generated on the S00_AXI interface, and have an extra IRQ pin coming out of the custom IP that connects to they Zynq IRQ input? Do you really need this 2nd S_AXI_INTR interface for a simple interrupt?
06-27-2017 03:11 AM
check these ARs
It is quite dated, using the ISE tool suite instead of Vivado, and it targets the MicroBlaze processor rather than the Zynq.
Adam Taylor's various blog entries cover interrupts and creating custom AXI peripherals. Take a look a a list of links here:
You could also look at the interrupt driven software examples in the SDK for some of the AXI peripherals available in the Xilinx IP catalog.
06-27-2017 05:01 AM
thanks @balkris, the AR's are indeed a bit outdated :-)
I have experience with using IRQ's on AXI GPIO , DMA, .. with Zynq.
However the 'enable interrupt support' option in the 'custom IP wizard' generates a rather large template for using IRQ's as part of a custom AXI IP.
It would be a good idea I think to provide some tutorial / example on that (there is really a lack on tutorials to build some more complicated custom IP's anyway)
Since the IRQ template creates 5 'IRQ control registers', that are mapped to their own AXI address space, I was just wondering if there would be any special reason for that. Like is there a matching bare metal and/or linux driver to work with these 5 registers?
05-19-2018 07:53 PM
Has anyone found out the answer to this? Is there a document that describes the use of the 5 registers in the interrupt module of a custom AXI IP?
06-08-2018 05:08 PM
I've run into this same issue. Can anyone explain when you would use this template? Should it be used when creating custom IP for the uBlaze when you want your custom IP to be able to throw an interrupt?