6.7 EVE
The embedded vision engine (EVE) module is a programmable imaging and vision processing engine, intended for use in devices that serve customer electronics imaging and vision applications. Its programmability meets late-in-development or post-silicon processing requirements, and lets third parties or customers add differentiating features in imaging and vision products.
The device includes two instances of the EVE engine. A single EVE module consists of an ARP32 scalar core, a vector coprocessor (VCOP) vector core, and an Enhanced DMA (EDMA3) controller.
The EVE engine includes the following main features:
- Two 128-bit interconnect initiator ports used for:
- Paging between system-level memory (L3 SRAM/DDR) and EVE memory (primarily IBUF, WBUF)
- ARP32 program fetches to system memory (through program cache)
- ARP32 load or store requests to system memory
- ARP32 program cache-related read requests, including prefetch/preload requests
- 128-bit interconnect target port used for system-level host or DMA access to EVE memory or MMR space
- Scalar core (ARP32) with the following features:
- 32KB program cache (direct mapped and prefetch)
- 32KB data memory (DMEM)
- Vector core (VCOP):
- 32KB working buffer (WBUF)
- 16KB image buffer low copy A (IBUFLA)
- 16KB image buffer low copy B (IBUFLB)
- 16KB image buffer high copy A (IBUFHA)
- 16KB image buffer high copy B (IBUFHB)
- EDMA channel controller (EDMACC): 128 PaRAM entries, 2 Queues
- EDMA transfer controllers: two instances, 2k FIFO each
- Memory Management Units (MMUs):
- 32-entry TLB per MMU
- Page walking with hardware
- EDMA accesses and ARP32 program or data accesses to system memory space
- Can limit EVE accesses to desired subset of system addresses
- Configuration interconnect for MMR and debug accesses
- High-performance interconnect for high throughput and high concurrency data transfers between connected endpoints
- Multiple interrupts for interrupt mapping, DMA event mapping, and interprocessor handshaking
- Support for slave idle and master standby protocols for clock gating
- No support for retention and memory array off modes
- Error detection on all memories:
- Single bit error detect on DMEM, WBUF, IBUFLA, IBUFLB, IBUFHA, and IBUFHB
- Double bit error detect on program cache
- Invalid instruction detection in the two processor units (ARP32 and VCOP)
- Debug support:
- Subsystem Counter Timer Module (SCTM) for counting and measuring of VCOP, EVE program cache, and EDMA performance-related state
- Software Messaging System Event Trace (SMSET) for trace of software messages and hardware events
- ARP32 debug support: State visibility, breakpoint, run control, cross-triggering
- VCOP debug support: State visibility and run control
- Interprocessor communication: Internal Mailbox for DSP/EVE communication
For more information, see chapter Embedded Vision Engine (EVE) of the Device TRM.