This section describes the AI Engine error routing configuration. As the AI Engine only has limited broadcast events, there are a limited numbers of events that can be broadcasted. Local events can be broadcasted to adjacent modules through broadcast events to trigger the control or debug operations. For example, triggering core reset by a certain event or triggering debug halt by another event. Events can also be routed to external components through broadcast events. Events are aggregated into broadcast event signals. Each of these signals can only be configured to broadcast one local event of a module. However, by configuring group events or combo events, one broadcast event can be shared by several local events. The following table describes the broadcast event arrangement.
Broadcast Events | Description |
---|---|
0 | Used by the driver to manage errors events |
1–7 | Used by the driver for the driver |
8–15 | Used by the application for application control events (for example, events for tracing or debugging) |
Error/Events handling is not enabled by default, aiecompiler
or user applications need to enable it for use. The following is the error/events
configuration sequence:
- By default, the AI Engine driver uses the broadcast events as described in the previous table.
- Call the AI Engine
driver API to initialize the AI Engine events handling. This function call sets up the
broadcast network routing and does the following:
- Blocks the east/west broadcasting for the broadcast events used for errors and notification events. The error and notification broadcast events only go vertically.
- Configures the AI Engine interface tiles first level interrupt controller to capture the broadcast events for error and notification events.
- Routes the events out from the AI Engine interface tiles first level interrupt controller of each column to an AI Engine interface tiles second level interrupt controller in the partition as shown in the following table.
- Set the AI Engine interface tiles second level interrupt controller to output to AI Engine NPI interrupt.
- Configure AI Engine NPI interrupt.
- Setup broadcast events to broadcast errors for all tiles.
After the AI Engine events broadcasting network is configured, AI Engine interrupt routes to the AI Engine driver once the configured events happen, the AI Engine driver back traces to see which events caused the interrupts. The following table shows the AI Engine errors. The following table is an example of AI Engine error grouping.
Module | Errors Group | Errors | Not Errors |
---|---|---|---|
Core Module | FP Errors |
|
|
Saturation Errors |
|
||
Instruction Errors |
|
||
Access Errors |
|
||
Bus Errors | AXI4 Slave Error | ||
Stream Errors |
|
||
Lock Errors | Lock Access to unavailable | ||
ECC Errors |
|
|
|
Memory Module | Memory Parity Errors |
|
|
DMA Errors |
|
||
ECC Errors | DM ECC Error 2bit |
|
|
AI Engine interface tiles | Bus Errors |
|
|
Stream Error | Control Pkt Error | ||
DMA Error |
|
||
System Level (PLM) |
Global Errors |
|