AXI INTC Standalone driver
This page gives an overview of intc driver which is available as part of the Xilinx Vivado and Vitis distribution.
Table of Contents
Introduction
The LogiCORE™ IP AXI Interrupt Controller (INTC) core receives multiple interrupt inputs from peripheral devices and merges them into an interrupt output to the system processor. The registers used for storing interrupt vector addresses, checking, enabling and acknowledging interrupts are accessed through the AXI4-Lite interface.
Driver Sources
The source code for the driver is included with the Vitis Unified Software Platform installation, as well as being available in the Xilinx Github repository.
Driver Name | Path in Vitis | Path in Github |
---|---|---|
intc | <Vitis Install Directory>/data/embedded/XilinxProcessorIPLib/drivers/intc | https://github.com/Xilinx/embeddedsw/tree/master/XilinxProcessorIPLib/drivers/intc |
Note: To view the sources for a particular release, use the rel-version tag in github. For example, for the 2020.1 release, the proper version of the code is: https://github.com/Xilinx/embeddedsw/tree/xilinx-v2020.1/XilinxProcessorIPLib/drivers/intc
The driver source code is organized into different folders. The table below shows the intc driver source organization.
Directory | Description |
---|---|
doc | Provides the API and data structure details |
data | Driver .tcl , .mdd and .yaml files |
examples | Example applications that show how to use the driver features |
src | Driver source files, make and cmakelists file |
Note: The .yaml(in data folder) and CMakeLists.txt(in src folder) files would be used in System Device Tree based flow.
Driver Implementation
For a full list of features supported by this IP, please refer AXI interrupt controller product guide
Features supported
Support up to 32 interrupt inputs
Capable of cascading, to support more than 32 interrupt inputs
Enabling and disabling of individual interrupts.
Capable of generating software interrupts
Known issues and Limitations
NA
Example Applications
Refer to the driver examples directory for various example applications that exercise the different features of the driver. Each application is linked in the table below. The following sections describe the usage and expected output of the various applications. These example applications can be imported into the Vitis IDE from the Board Support Package settings tab.
Links to Examples
Examples path:
https://github.com/Xilinx/embeddedsw/tree/master/XilinxProcessorIPLib/drivers/intc
Test Name | Example Source | Description |
---|---|---|
INTC Self test example | This example performs a self-test to ensure that the hardware was built correctly. | |
INTC simulation mode example |
| This example demonstrates how to use the interrupt controller driver instance and the hardware device. It is designed to |
INTC low level example | This is an interrupt example which utilizes low level APIs to configure the interrupt in simulation mode
|
Example Application Usage
Selftest Example
This example performs a self-test to ensure that the hardware was built correctly.
Expected Output
Simulation mode example
This example demonstrates triggering of interrupts in simulation mode.
Expected output
Low level example
This is an interrupt example which utilizes low level APIs to configure the interrupt in simulation mode
Expected output
Example Design Architecture
NA
Performance
NA
Changelog
2024.1
https://github.com/Xilinx/embeddedsw/blob/xlnx_rel_v2024.1/doc/ChangeLog#L711
2023.2
https://github.com/Xilinx/embeddedsw/blob/xlnx_rel_v2023.2/doc/ChangeLog#L277
2023.1
None
2022.2
None
2022.1
https://github.com/Xilinx/embeddedsw/blob/xlnx_rel_v2022.1/doc/ChangeLog#L40
2021.2
None
2021.1
https://github.com/Xilinx/embeddedsw/blob/xlnx_rel_v2021.1/doc/ChangeLog#L144
2020.2
Related Links
© Copyright 2019 - 2022 Xilinx Inc. Privacy Policy