The AI Engine has a local 16 KB of program memory that can be used to store VLIW instructions. There are two interfaces to the program memory:
- Memory-mapped AXI4 interface
- AI Engine interface
An external master can read or write to the program memory using the memory-mapped AXI4 interface. The AI Engine has 128-bit wide interfaces to the program memory to fetch instructions. The AI Engine can read from, but not write to, the program memory. To access the program memory simultaneously from the memory-mapped AXI4 and AI Engine, divide the memory into multiple banks and access mutually exclusive parts of the program memory. Arbitration logic is needed to avoid conflicts between accesses and to assign priority when accesses are to the same bank. If the access from both the memory-mapped AXI4 and AI Engine is to the same bank, then the AI Engine has a higher priority and the memory-mapped AXI4 access returns a slave error.