cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
tahirsengine1
Participant
Participant
629 Views
Registered: ‎06-18-2019

More interrupts than normal required

Jump to solution

Hi all,

I am having some 25 external signals(PL) that must produce interrupt on PS. At PS I have 16 interrupts 

pl_ps_irq0 [7:0]

pl_ps_irq1 [7:0]

in my Processing signals. Is there anyway I can extend that to 25 somehow? I know about AXI-Interrupt controller, but all current interrupts are not AXI based. 

Any technique(Digital Circuits)?

Any block IP (From Xilinx)?

Any third party IP?

Any help is welcome. I am using Zynq Ultras scale xczu2egsfvc784 device.

Tags (3)
0 Kudos
1 Solution

Accepted Solutions
abhinayp
Xilinx Employee
Xilinx Employee
478 Views
Registered: ‎07-12-2018

Hi @tahirsengine1 ,

 

Yes, you can achieve this using AXI INTC block in the PL which helps in handling 32 interrupts. Please refer the https://www.xilinx.com/support/documentation/ip_documentation/axi_intc/v4_1/pg099-axi-intc.pdf for more information on AXI INTC.

Here is the blog which explains with a test case, here all the IPs used are GPIOs. Keep this as reference and create your own test case.

https://forums.xilinx.com/t5/Design-and-Debug-Techniques-Blog/How-to-handle-more-that-16-interrupts-using-the-AXI-Interrupt/ba-p/1165154 

Best Regards
Abhinay PS
------------------------------------------------------------------------------------------------------------------------------
Kindly note- Please mark the Answer as "Accept as solution" if information provided is helpful.
Give kudos to a post which you think is helpful and reply oriented.
-------------------------------------------------------------------------------------------------------------------------------

View solution in original post

2 Replies
joancab
Teacher
Teacher
613 Views
Registered: ‎05-11-2015

Send all your interrupt signals to a register.

OR all your signals. Clock the register above with that.

Send the OR signal to the interrupt input.

In the ISR, read the register to know what interrupt went off.

I don't guarantee it to work, just a suggestion.

0 Kudos
abhinayp
Xilinx Employee
Xilinx Employee
479 Views
Registered: ‎07-12-2018

Hi @tahirsengine1 ,

 

Yes, you can achieve this using AXI INTC block in the PL which helps in handling 32 interrupts. Please refer the https://www.xilinx.com/support/documentation/ip_documentation/axi_intc/v4_1/pg099-axi-intc.pdf for more information on AXI INTC.

Here is the blog which explains with a test case, here all the IPs used are GPIOs. Keep this as reference and create your own test case.

https://forums.xilinx.com/t5/Design-and-Debug-Techniques-Blog/How-to-handle-more-that-16-interrupts-using-the-AXI-Interrupt/ba-p/1165154 

Best Regards
Abhinay PS
------------------------------------------------------------------------------------------------------------------------------
Kindly note- Please mark the Answer as "Accept as solution" if information provided is helpful.
Give kudos to a post which you think is helpful and reply oriented.
-------------------------------------------------------------------------------------------------------------------------------

View solution in original post