APIs | Inputs | Outputs |
---|---|---|
read_interrupt
Use this API to poll the interrupt status at any given time. This is a non-blocking task to poll the interrupt status and returns immediately with current state on interrupt lines. For example: It returns the interrupt status (16-bit) for {PLPSIRQ1,PLPSIRQ0}. |
None | [15:0] irq_status: Interrupts generated by PL. |
wait_interrupt
Use this API to wait for any of the interrupt to occur. This is a blocking task to wait for an interrupt to occur and returns immediately with any of the four interrupt lines asserts. For example:
For example:
|
[3:0] irq: Interrupt line number
irq: 0 → PLPSIRQ0[0], 1 → PLPSIRQ0[1], 2 → PLPSIRQ0[2], 3 → PLPSIRQ0[3], 4 → PLPSIRQ0[4], 5 → PLPSIRQ0[5], 6 → PLPSIRQ0[6], 7 → PLPSIRQ0[7], 8 → PLPSIRQ1[0], 9 → PLPSIRQ1[1], 10 → PLPSIRQ1[2], 11 → PLPSIRQ1[3], 12 → PLPSIRQ0[4], 13 → PLPSIRQ0[5], 14 → PLPSIRQ1[6], 15 → PLPSIRQ1[7]. |
[15:0] irq_status: Interrupts generated by PL.
irq_status = {PLPSIRQ1[7:0] ,PLPSIRQ0[7:0]}. |
trigger_interrupt
Use this API to trigger an interrupt pin (IRQFPD/IRQLDP/IRQPMC) of the PL. This is a non-blocking task for triggering the interrupts. For example: |
[1:0] intr_type: To specify either
IRQFPD/TRQLPD/IRQPMC
[7:0] interrupt_no: Interrupt pin number/index of the particular index type. For example: If, intr_type: 10, interrupt_no: 32. Then, IRQLPD[32] will be triggered. |
None |
clear_interrupt
Use this API to clear an interrupt pin (IRQFPD/IRQLDP/IRQPMC) of the PL. This is a non-blocking task for clearing the interrupts. For example:
|
[1:0] intr_type: To specify either
IRQFPD/TRQLPD/IRQPMC
[7:0] interrupt_no: Interrupt pin number/index of the particular index type. For example: If, intr_type: 10, interrupt_no: 32. Then, IRQLPD[32] will be cleared. |
None |